1. Instructor Information:
Name Mr.
Charles Kwiatkowski
E-mail
address charles_kwiatkowski@ivcc.edu
Office
hours Monday By Appointment Only
Tuesday 4:00-7:00
Wednesday 3:00-6:00
Thursday 4:00-5:30
Friday By Appointment Only
Contact
information Charles Kwiatkowski
A
Building, Room 330
IVCC
815
North Orlando Smith Road
Oglesby,
IL 61348
+1
(815) 408 0876
2. Course description
Builds
on the foundation provided by the CSI 1011, CSI 1012 sequence to introduce the
fundamental concepts of data structures and the algorithms that proceed from
them. Topics include recursion, fundamental data structures (including stacks,
queues, linked lists, hash tables, trees, and graphs), the basics of
algorithmic analysis, and an introduction to the principles of language
translation.
Prerequisite: CSI 1012 with a grade of C or better
Credit Hours: 4
3. Course Meeting Times
08/18/2010-12/20/2010
Lecture Thursday 05:30PM - 08:00PM, A Building, Room 211
08/18/2010-12/20/2010
Laboratory Thursday 08:10PM - 09:50PM, A Building, Room 211
4. Expected learning outcomes
Upon
successful completion of the course, the student will be able to:
·
Understand
and explain the benefits and costs of using data structures.
·
Analyze
and explain the complexity of algorithms.
·
Identify
situations where using linked lists is appropriate.
·
Be
able to create and understand Java programs using linked lists.
·
Identify
situations where using stacks and queues is appropriate.
·
Be
able to create and understand Java programs using stacks and queues.
·
Identify
situations where using recursion is appropriate.
·
Be
able to create and understand Java programs using recursion.
·
Identify
situations where using recursion is appropriate.
·
Be
able to create and understand Java programs using recursion.
·
Identify
situations where using trees is appropriate.
·
Be
able to create and understand Java programs using trees.
·
Identify
situations where using graphs is appropriate.
·
Be
able to create and understand Java programs using graphs.
·
Analyze,
understand, and explain the relative merits of different sorting algorithms.
·
Be
able to create and understand Java programs using different sorting algorithms.
·
Identify
situations where hashing is appropriate,
·
Be
able to create and understand Java programs using hashing.
5. Disability statement :
You
may be eligible for academic accommodations if you have a documented physical,
psychiatric (anxiety, depression, bipolar disorder, AD/HD, post-traumatic
stress, or others) or cognitive disability such as a learning disability. If you have a disability and need more
information regarding possible accommodations, please contact
Tina
Hardy at (tina_hardy@ivcc.edu, 224-0284) or
Judy
Mika Judy_Mika@ivcc.edu or 224-0350) or
stop
by office B-204.
6. Attendance Policy
Illinois
Valley Community College (IVCC) mandates students attend all class meetings.
This includes both lecture and lab. Attendance is part of your class grade,
typically 4 points per week. Attendance *may* be taken in the form of a pop
quiz. These pop quizzes exist primarily to provide me an assessment of how well
you are grasping the course material. Quizzes may be given at the start of
lecture so be punctual.
You
are expected to attend for the full lab period. You may be excused, with
permission, when you have completed ALL of your homework (not just the nearest
due). I have been known to give a quiz at the end of lab without a prior
announcement. You may be marked as absent if you leave with being excused.
If
you come in late, remind me that you were late BEFORE we leave class that day,
preferably before I leave the podium. This is so I may give you half credit for
attendance. Failure to do so will result in you being marked absent for that
day. As much as I care about you and your education, I cannot remember whether
or not you arrived late after class has ended.
We
may do assignments during class. If you miss that class, you will NOT be able
to make it up.
Note:
Two key aspects of attendance are preparation and participation. You are
REQUIRED to read the material regarding the lecture topic BEFORE coming to
class. You are expected to answer questions reasonably when called upon.
"I don't know" may be true, but it is also an excuse. You are
REQUIRED to make a reasonable attempt at an answer EVEN IF it is wrong so I may
gauge your understanding of the current topic. Answering "I don't
know" or such similar response may result in attendance points deduction.
This
is your obligation.
7. Assessment of student learning.
Student learning will be assessed by
in-class questions, homework and exams.
8. Grading: The grading of the course will fall into 3
categories:
Homework
This
is where you will develop and apply your knowledge relevant to the topic. There
shall be about 1 homework per chapter. Homework will consist of hands-on
programming work and short answer questions. Each chapter's combined work shall
be worth approximately 100 points.
Midterm
exam
Based on the Homework. It shall be
worth 250 points.
Final
Exam
Based on the Homework. It shall be
worth 250 points.
Final
grade by percentage of possible points
90-100%
A
80-89%
B
70-79%
C
60-69%
D
<
60% F
Note:
Grades are not rounded up or down. Example: if you end up with an overall
course grade of 89.99%, you have earned a B.
9. Withdrawal policy
According
to IVCC, you may withdraw from this course with instructor permission.
You
may withdraw from this course for any reason you like. I shall not shame you
nor chide you for dropping the course, but I may inquire why. The only
exception for this rule shall be for people who have left their lab partner
"hanging". This applies only to classes with labs using lab partners.
Note:
Just because you stop showing up for class does not grant you a grade of I
(incomplete) or W (withdrawn). You must promptly contact me in order to receive
a grade of I or W.
For
Fall 2010:
Tuesday,
August 31 is the last day for refund.
Tuesday,
November 9 is the Last Day for Student Withdrawal
Personal
advice: Education is not a race. There is no shame in strategic retreat. Drop
the class in which you are performing the worst in, not the one you like the
least. Always aim to keep your grade point average high as it will take you
farther than how long it took you to complete your degree/certificate/program.
10. Cell phone and text messaging policy.
Calculators,
Laptop PCs, Cell Phones, iPods, and other electronic devices are not allowed
during exams and quizzes unless otherwise specified. failure to comply with
these rules will result in ejection from the exam and a grade of F for the
exam.
11. Financial aid statement
Withdrawal
from a course can affect financial aid.
Students who receive financial aid should see an advisor in the
financial Aid Office before withdrawing from a course.
12. Plagiarism statement/academic honesty
Policies
regarding cheating may be found under the heading of “Academic Integrity” in
the IVCC Student Handbook. Students should become familiar with these
policies and abide by them.
Furthermore,
don't even think about cheating. Cheating is not tolerated at all.
Although I encourage you to collaborate and discuss ideas and concepts from
this class with others, you are responsible for your own work. A (all too)
common example of cheating is to work together collectively in a group and each
member turns in his/her copy of the same document. This is completely
unacceptable.
When
you cheat, you insult my intelligence.
13. Any classroom rules
Lecture
shall begin promptly at the assigned time. I ask that you REFRAIN from asking me questions while I am at the podium before
lecture starts, as I am usually setting up. This also ensures that everyone in
class has a chance to hear the question and answer.
Questions
about HW assignments may be deferred to lab (if possible) . You can expect
lecture to last until the assigned end time. Do not immediately begin packing
up your belongings before the end of lecture.
PC
Usage
If
you have a PC in front of you during lecture, it should be used ONLY for one of
two things:
1.
Following along with the lecture's slides, code, etc.
2.
Working on an in-class assignment.
Do
not work on homework while I am lecturing. Do NOT "surf", check
email, or play games during class. This is rude behavior and you may be asked
to leave if caught doing so. If this continues to be a problem, further action
may be taken.
Lab (if applicable)
This
is where you are expected to work on your homework and labs. Also, this is
where I answer questions about your HW. You may expect to need extra time
outside of lab to complete your assignments.
Lab
is also where I try to get grading done. Often, I like to call you over during
grading so you can better understand why your grade is what it is.
You
are advised to backup files on your U: drive. Through the miracle of
technology, you may access your U drive from off campus. Visit the Learning
Commons (aka Computer Lab) on the 2nd floor of D building, or their webpage at
www.ivcc.edu/studenthelpdesk for more information.
You
are expected to bring your textbook(s) to all class meetings and lab.
You
may opt to also work on your homework assignments at home. This is fine, but
know that:
1.
If you have a question or a problem with the assignment, we may not have time
to meet to solve your problem before the assignment is due.
2.
You are responsible for the operation of your equipment. This means that you
will not be given any special treatment if it your hard drive crashes, printer
malfunctions, etc.
3.
I do not debug over the phone or via email.
4.
You are still expected to attend lab.
5.
People who work on their assignments in lab tend to achieve higher grades than
those that work at home.
Three
strikes
If
you have 3 unexcused absences of any combination class activity, (HW, quiz,
lecture, etc.) your course grade becomes F. Just because you stop showing up
for class does not grant you a grade of I (incomplete) or W (withdrawn). You
must promptly contact me in order to receive a grade of I or W.
14. Outline of assignments for the
semester
There shall be approximately 12
assignments, 1 per chapter.
Each chapter's assignment shall normally
contain:
·
Short
answer (True/False, Multiple Choice, etc.) questions
·
Hands-On
programming
15. Hints on how to be successful in the
course
·
Read
the book before lecture.
·
After
reading the book, pay attention during lecture. If you still don't understand,
ask a question,
·
Do
as much work as possible in the lab as possible, because if you have a problem,
I am right there to help.
·
Start
homework early and keep working until 100% complete. It is IMPOSSIBLE to
accurately predict how much debugging is necessary. Waiting until shortly
before the assignment is due is a recipe for failure.
16. Required text and materials
Java™
Software Structures: Designing and Using Data Structures, Third Edition
John
Lewis; Joseph Chase
Publisher:
Addison-Wesley
Copyright
year: © 2010 Pages: 576
eText
ISBN-10
0-13-609514-3
ISBN-13
978-0-13-609514-9
Print
ISBN-10
0-13-607858-3
ISBN-13
978-0-13-607858-6
17. Additional Resources
512M or
larger Thumb Drive. This can be used for other classes too.
Optional
Text:
Although
this text is optional, you are highly encouraged to include it in your library
as it is one of the seminal texts of computer science.
Introduction
to Algorithms
Cormen,
Leiserson, Rivest, and Stein
Publisher:
The MIT Press; 3 edition (September 30, 2009)
Language:
English
ISBN-10:
0262033844
ISBN-13:
978-0262033848
18.
Topic Schedule
This
schedule is tentative and subject to change.
|
Date |
Topic(s) |
|
Thursday, August 19, 2010 |
Syllabus Review |
|
Thursday, August 26, 2010 |
Chapter 2: Analysis of Algorithms |
|
Thursday, September 02, 2010 |
Chapter 3: Collections |
|
Thursday, September 09, 2010 |
Chapter 4: Linked Structures |
|
Thursday, September 16, 2010 |
Chapter 5: Queues |
|
Thursday, September 23, 2010 |
Chapter 6: Lists |
|
Thursday, September 30, 2010 |
Chapter 7: Recursion |
|
Thursday, October 07, 2010 |
Midterm |
|
Thursday, October 14, 2010 |
Chapter 8: Sorting and Searching |
|
Thursday, October 21, 2010 |
Chapter 9: Trees |
|
Thursday, October 28, 2010 |
Chapter 10: Binary Search Trees |
|
Thursday, November 04, 2010 |
Chapter 11: Priority Queues and Heaps |
|
Thursday, November 11, 2010 |
Veterans' Day |
|
Thursday, November 18, 2010 |
Chapter 13: Graphs |
|
Thursday, November 25, 2010 |
Thanksgiving Break |
|
Thursday, December 02, 2010 |
Chapter 14: Hashing |
|
Thursday, December 09, 2010 |
Evening Semester Exams |