[Bowdoin Computer Science]

Csci 231 Fall 2008 Syllabus

Useful links:

*The lecture notes have been adapted from the notes of Lars Arge.
Date Topic Reading, Notes* Other WWW useful material Work
Sept 4 Introduction and overview.
Sorting: Insertion sort. Bubblesort. Selection sort.
L01.pdf
CLRS 1, 2.1-2.2
Why? (Sedgewick, Princeton)
Animated sorting algorithms
Sep 9 Asymptotic growth.
Summations. Zeno's paradoxes.
growth.pdf | summations.pdf
CLRS 2.3, 3, 4.1-4.2
Program analysis (Princeton) In class: sum | growth
Home: H1-growth.pdf
Sep 11, 16 Recurrences. recurrences.pdf
CLRS 4.3-4.4, 7.1-7.2
Demo: Merge (Princeton) | Mergesort (Princeton) H2-recurrences.pdf
Sep 18 Divide and conquer. Divide And Conquer.pdf Divide-and-conquer (Princeton)
Matrix multiplication (Princeton)
Closest pair (Princeton)
TBA Problem session --- recurrences and summations.
Sep 23, 25 Quicksort. Sorting lower bounds. Linear time sorting (counting sort, radix sort, bucket sort). quicksort.pdf | sortLB.pdf
CLRS 7.3-7.4, 8, C.2
Demo-partition (Princeton) H3-sorting.pdf
Sep 30 Selection. selection.pdf
CLRS 9
H4-selection.pdf
Oct 2 Priority queues: Heaps. Heapsort. heaps.pdf | CLRS 6 H5-heaps.pdf
Oct 7, 9 Binary search trees. Skip lists.
Exam Review.
bst.pdf | CLRS 11, 12 skiplists.pdf
TBA Review and problems. Practice exam fall03
For other practice exams check links
 
Oct 10-14 Fall break
Oct 16 Exam 1    
Oct 21, 23 Balanced search trees. Red-black trees.
Augmented search trees. Interval tree.
RBtrees.pdf | augtrees.pdf | CLRS 13, 14 RB Trees (MIT Open Courseware) | Animation | RB-trees (wiki) H6-bsttrees.pdf
Oct 28 Hashing. Hashing.pdf Hashing | Universal hashing (MIT Open courseware)
Oct 30, Nov 4 Dynamic programming. Greedy algorithms. DynamicP.pdf | Greedy.pdf | CLRS 15.2-15.3, 16.1-16.2 H7-DynamicGreedy.pdf
Nov 6, 11 Amortized Analysis. Splay trees. Amortization.pdf | SplayTrees.pdf | | CLRS 17.1-17.3 Splay Animation H8-amortized.pdf
Nov 13 Review and problems. Practice: 231 Fall 2003 | Sol For other practice exams check links.
Fun read: Pessimal algorithms (Broder, Stolfi)
TBA Review and problems: Augmented search trees, dynamic programming, greedy algorithms and amortized analysis. Some problems: BST | DynP-Greedy | Amortization Some fun problems pdf1 | pdf2 (from HMC).
Nov 18 Exam 2 (L11-18)    
Nov 20, 25 Basic graph algorithms: BFS, DFS, CC, topological sort. basicgraph.pdf | CLRS B.4-B.5, 22.1-22.4 DFS applet | BFS applet
Nov 26-30 Thanksgiving break
Dec 2, 4, 9 Shortest paths. Minimum spanning trees. Union-find. shp.pdf | mst.pdf | CLRS 23, 21.1-21.3, 24.0, 24.3 Graph vizualizations (Sedgewick, Princeton) | Dijkstra animation | Slides (Princeton) | UnionFind (Princeton) H9-graphs.pdf
Dec 11 Review and problems. review.pdf Longest path: wiki | lyrics | mp3 (Princeton)
TBA Review and problems.
December 19, 9am Final Exam (everything)