CS35

Syllabus

I have taught the essence of this material many times. However, I am still working on how to emphasize the fundamentals yet give us all valuable experience in Java (assuming Python knowledge). No text that I am aware of does precisely what I would like to do. The Weiss text looks pretty good. The schedule below is tentative. Algorithm verification and analysis will be treated throughout.

Week Topics
1 Intro to DS and Algs, Von Neumann Architecture, and Java
2 More Java; Analysis Tools; some searching and sorting
3-5 recursion and induction, lists, stacks, queues, sequences, BSTs and some applications
6-7 Trees --applications and implementation; in class midterm test
8-9 More sophisticated searching and sorting, heaps and priority queues; take-home midterm
10 Dictionaries
11-13 Graphs --applications and implementation