Principles of Computer Science II

Computer Science 151

Fall, 2010

Course Information

Grading Procedures

Your grade will be based on weekly labs and and two exams.

Point breakdown (tentative):
Labs 220
Midterm Exam (October 22)
100
Final Exam (December 20 - 2 pm) 
150
Total 470

Policies

The results of each Tuesday lab session are to be handed in electronically by midnight the following Sunday.  Late assignments will be assessed a penalty of up to 10% per day.

All late assignments must be submitted by the end of the reading period (December 17).

Regular class attendance and participation is expected of everyone in the class.

The Honor Code

The Honor Code has a straightforward application to this class.  On all of the exams you are responsible for your own work; you may neither give nor receive aid during the course of the exam.  If someone takes an exam at a different time than the rest of the class there may be no communication concerning the exam between that person and anyone else in the class, not even about whether the exam was easy or difficult.  The atmosphere is somewhat more relaxed for the homework and programming assignments.  You may discuss the problems with anyone else in the class, but you may not share your code with anyone.  You must design and write your own solutions.

Course outline

  1. Review of object-oriented programming in Java:  classes, methods, and inheritance.  The Java Collection classes.  (Chapters 1-4, 6)
  2. Foundations of algorithm analysis:  measuring run time.  (Chapter 5)
  3. Recursion.  (Chapter 7)
  4. Stacks and queues.  (Chapter 16)
  5. Linked lists.  (Chapter 17)
  6. Binary trees and binary search trees.  (Chapters 18, 19)
  7. Heaps.  (Chapter 21)
  8. Dictionaries and hash tables.  (Chapter 20)
  9. Graphs.  (Chapter 14)
  10. Sorting algorithms.  (Chapter 8)