1.    Instructor Information:

Name                                Mr. Charles Kwiatkowski


E-mail address                  charles_kwiatkowski@ivcc.edu


Office hours                      Monday           3:45 – 5:15

                                          Tuesday          3:45 – 5:15

                                          Wednesday     3:45 – 5:15

                                          Thursday         3:45 – 5:15

                                          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 and CSI 1012 sequence which introduced the concepts of object oriented design using methods, classes, inheritance and polymorphism. This course covers design and implementation of large-scale problems; abstract data types; data structures (files, sets, pointers, lists, stacks, queues, trees, graphs); program verification and complexity (Big O); recursion; dynamic concepts (memory, scope, block structures); text processing; and searching and sorting algorithms.
Prerequisite: CSI 1012 with a grade of C or better
Credit Hours: 4


3.    Course Meeting Times

No official time, but I will be in A-211 at 5:30pm on Tuesday evenings. I hope to see you so I can grade your latest HW assignment then. I will stay as long as necessary, but as soon as no-one is present, I will leave.


4.    Expected learning outcomes

Upon successful completion of the course, the student will be able to:

·         Create and use methods and classes that utilize generics

·         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

None. This is an independent study course. However, this is not a self-paced course. Assignments and exams MUST be completed by the due dates detailed at the end of this syllabus

Failure to keep up and submit homework and exams on-time will result in removal from the course.


7.    Assessment of student learning.

            Student learning will be assessed by 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.


Effective Summer 2011, students have the ability to initiate a withdrawal from classes. By completing the form in the Records Office or through the form located within WebAdvisor, the student is authorizing IVCC to remove him/her from the course. Entering the student ID number serves as the student’s electronic signature. IVCC has the right to rescind a withdrawal in cases of academic dishonesty or at the instructor’s discretion.

Students should be aware of the impact of a withdrawal on full-time status for insurance purposes and for financial aid. It is highly recommended that students meet with their instructor or with a counselor before withdrawing from a class to discuss if a withdrawal is the best course of action for that particular student. More detailed information is available at www.ivcc.edu/admissions and selecting the menu item for Withdrawals on the left side of the page.


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 are REQUIRED to 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 common example of cheating is when several students work together on an assignment, typically short-answer questions, and submit answers as a group without EACH individual working on his/her own individual answer.

Another common example of dishonesty is Googling short-answer questions to find answers. This is not an exercise in learning. It is cheating and laziness, pure and simple. The bulk of the answers may be found in the text. Others you should have from TAKING NOTES during lecture. Be warned that I rewrite questions for the exams in order to catch people who simply Google for answers. You WILL be sorry.


When you cheat, you insult my intelligence.


13.  Any classroom rules

Not relevant. This is an independent study course.


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

As these items are required, they should be covered by Financial Aid


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


1GB or larger Thumb Drive.



17.  Additional Resources


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. Important Semester Dates


August 16 (T)

In-service for Faculty

August 17 (W)


August 30 (T)

Last day for refund for 16 week classes

August 31 (W)

New Student Convocation

September 5 (M)

Labor Day (College closed)

October 3 (M)

Deadline to Apply for Fall Graduation

October 7 (F)

Faculty Development Day (College closed)

October 13 (R)

MIDTERM (Last day for first 8-week classes)

October 14 (F)

Fall Break (College closed)

November 1 (T)

Online registration begins for Spring

November 2 (W)

In-person registration begins for Spring

November 3 (R)

Phone/fax/mail registration begins for Spring

November 8 (T)

Last day for student withdrawal for 16 week classes

November 11 (F)

Veteran’s Day (College closed)

November 23, 24, 25 (WRF)

Thanksgiving Break (College closed)

November 28 (M)

Classes resume

December 6, 7, 8, 12 (TWRM)

Evening Semester Exams

December 12,13,14, 15 (M-R)

Day Semester Exams

December 20 (T)

Final Grades due in Records Office at 10 am

Semester Ends

December 16 (F)

Student Break begins

December 20 (T)

Faculty Break begins

December 22 (R)

Staff Break begins (College Closes at 4:30 p.m.)

December 23-January 2

College Closed

18. Topic Schedule

This schedule is tentative and subject to change.



Tuesday, August 23, 2011

Syllabus Review
Blackboard Login

Tuesday, August 30, 2011

Chapter 1: Introduction

Tuesday, September 06, 2011

Chapter 2: Analysis of Algorithms

Tuesday, September 13, 2011

Chapter 3: Collections

Tuesday, September 20, 2011

Chapter 4: Linked Structures

Tuesday, September 27, 2011

Chapter 5: Queues

Tuesday, October 04, 2011

Chapter 6: Lists

Tuesday, October 11, 2011

Chapter 7: Recursion

Tuesday, October 18, 2011

Chapter 8: Sorting and Searching

Tuesday, October 25, 2011

Chapter 9: Trees

Tuesday, November 01, 2011

Chapter 10: Binary Search Trees

Tuesday, November 08, 2011

Chapter 11: Priority Queues and Heaps

Tuesday, November 15, 2011

Chapter 13: Graphs

Tuesday, November 22, 2011

Chapter 14: Hashing

Tuesday, November 29, 2011

Thanksgiving Break

Tuesday, December 06, 2011

Chapter 15: Sets and Maps

Tuesday, December 13, 2011

Final Exam