CMPU 102: Syllabus, Fall 2005

Course CMPU 102, Computer Science II
Lecture TTh 12:00-1:15 PM, in OLB 105
Lab Monday, 3:15-4:45 PM, in OLB 112
Instructor David Hovemeyer


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 me or visit me if you have any questions, or if there is anything you would like to discuss.  My contact info is on my web page,  If you can't make it to my scheduled office hours, let me know and we can arrange another time.  Email is generally the best way to reach me.  I will strive to answer emails quickly.

I 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!

Late assignments incur a 10% penalty for every week past the due date until the date when the solutions are posted, at which point no credit will be given for past-due assignments.

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.