CS 200 revisits and extends the principles of programming and discrete math concepts that are introduced in CS 161 and applies them to the development, analysis, and implementation of data structures and efficient software. The course is taught using the Java Programming Language and an Object Oriented approach to data structures and algorithms. Specific topics in data structures/algorithms include advanced sorting, queues, stacks, hash tables, trees, and graphs. Advanced topics from theory include complexity analysis, relations, and mathematical induction.

Extensive practice through programming exercises and written assignments that explore discrete math concepts are principal activities of the course.

News: newest on top (it's a stack :)

  • There will be a quiz on Heaps and Heapsort on Tuesday Nov 17
  • P4 due date has been moved up: due Thursday 11/12, late Tuesday 11/17
  • Piazza is up, see Resources page
  • The course books (Prichard and Rosen) are on reserve in the Morgan Library.
  • Welcome to CS200