CMPU 102: Syllabus, Spring 2006

Course CMPU 102, Computer Science II


MW 1:30-2:45 PM (Prof. Ten Eyck's section)
TR 3:10-4:25 PM (Prof. Hovemeyer's section),

Instructors David Hovemeyer and James Ten Eyck


Course Description

This course emphasizes the development of data structures and algorithms in an object-oriented programming language.  Topics include hierarchic program refinement, preconditions, postconditions and invariants; data encapsulation and fundamental data structures (e.g., priority queues, sets, maps, heaps, search trees, hash tables, and graphs); fundamental algorithms (e.g., searching and sorting) and analysis of algorithm complexity.

Course prerequisites are completion of CMPU 101, or permission of the department.  The course web page,, will be updated regularly throughout the semester with assignments, deadlines, and other important information.  Please check it frequently.  You will also need to check your email regularly for important class announcements.

In lectures, labs, and programming assignments, we will use the Java programming language.  To reinforce the concepts we will be studying, you will construct programs of increasing complexity and sophistication throughout the course.  In a weekly 90 minute lab session we will cover practical issues, such as how to use the computing environment and development tools, and work on practical programming exercises designed to reinforce concepts.  The lab time and location will be determined sometime during the first week of class.


Your grade for the course will be determined as follows:


Please contact visit your instructor if you have any questions, or if there is anything you would like to discuss.  If you can't make it to scheduled office hours, let one of us know and we will work with you to arrange another time.  Email is generally a good way to reach us: our email addresses are

Prof. Hovemeyer:
Prof. Ten Eyck:

We will strive to answer emails quickly.

We expect you to attend all lectures and lab sessions  Part of your grade will be based on class participation.  Please don't deny other students the opportunity to learn from your questions and insights!

Assignments may be turned in up to four days past the due date for a 10% penalty. Each day late past four days incurs an additional 5% penalty.

Conceptual collaboration among students is encouraged, but your work must be original, i.e., you must write your own programs and assignments.

Academic accommodations are available for students with disabilities who are registered with the Office of Disability and Support Services.  Students in need of disability accommodations should schedule an appointment with me early in the semester to discuss any accommodations for this course which have been approved by the Office of Disability and Support Services, as indicated in your DSS accommodation letter.