sep 30 - introduction oct 2 - complexity oct 4 - complexity oct 7 - lists - homework 0 (using Unix) due oct 9 - lists oct 11 - lists oct 14 - sorting - homework 1 (complexity) due oct 16 - sorting oct 18 - sorting oct 21 - trees - homework 2 (programming: nano-lisp) due oct 23 - avl trees oct 25 - splay trees oct 28 - hashing - homework 3 (sorting) due oct 30 - hashing nov 1 - hashing nov 4 - midterm exam nov 6 - heaps nov 8 - heaps nov 11 - NO CLASS nov 13 - heaps - homework 4 (programming: word counting) due nov 15 - union/find nov 18 - union/find nov 20 - graph algorithms nov 22 - graph algorithms - homework 5 (written: hash tables, heaps, union/find) due nov 25 - graph algorithms nov 27 - quadtrees nov 29 - NO CLASS dec 2 - b-trees dec 4 - NP completeness dec 6 - TBA dec 9 - review of course - homework 6 (programming: maze runners) due dec 11 - demos of final projects end of classes dec 16 - Exam