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


                                          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:



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



ISBN-10 0-13-609514-3

ISBN-13 978-0-13-609514-9



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.



Thursday, August 19, 2010

Syllabus Review
Blackboard Login
Chapter 1: Introduction

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


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
College Closed

Thursday, November 18, 2010

Chapter 13: Graphs

Thursday, November 25, 2010

Thanksgiving Break
College Closed

Thursday, December 02, 2010

Chapter 14: Hashing

Thursday, December 09, 2010

Evening Semester Exams