[Bowdoin Computer Science]

Csci 231 Fall 2007 Syllabus

*The lecture notes have been adapted from the notes of Lars Arge.
**To avoid internet spread out, solutions will be handed in class the day the homework is due.
Date Topic Reading, Notes* Homework**
Aug 30 Introduction and overview.
Insertion sort.
L01.pdf | CLRS 1, 2.1-2.2
Joke of the day (replace 'grad' with 'undergrad')
Asymptotic growth of functions, recurrences, summations.
Sep 4 Mergesort. Asymptotic growth. L02.pdf | CLRS 2.3, 3 H1.pdf
Sep 6 Asymptotic growth, continued. L03.pdf | CLRS A, 4.1  
Sep 11 Summations. Zeno's paradoxes. L04.pdf | CLRS 4.1-4.2
Zeno's paradoxes
H2.pdf
Sep 13 Recurrences. L05.pdf | CLRS 4.3-4.4, 7.1-7.2  
Sep 18 Recurrences, Master method, Strassen's matrix multiplication algorithm.
Sorting (insertion sort, mergesort, selection sort, quicksort).
Sorting lower bounds.
Linear time sorting (counting sort, radix sort, bucket sort).
Sep 20 Quicksort. L06.pdf | CLRS 7.3-7.4, C.2
Sep 25 Sorting lower bounds. Linear time sorting. L07.pdf | CLRS 8 H3.pdf
Sept 26 evening Problem session --- recurrences and summations. skipped, not needed
Selection.
Sep 27 Selection. L08.pdf | CLRS 9
Priority queues: heap.
Oct 2 Heaps. Heapsort. L09.pdf | CLRS 6 H4.pdf
Dictionary: binary search tree and augmented BST.
Oct 4 Binary search trees.
L10.pdf | CLRS 10, 12.1-12.3
Oct 6-9 Fall break
Oct 10 evening Exam review (L1-L10) Practice exam fall03
For other practice exams check links
 
Oct 11 Exam 1 (L1-L10)    
Oct 16 Exam hand back and discussion.
Skip lists. Hashing.
L11.pdf | CLRS 11.1-11.3, handout [GT] | skiplists.pdf
Oct 18 Hashing. Hashing | Universal hashing (MIT Open courseware) H6.pdf
Oct 23
Red-black trees.
L12.pdf | CLRS 13
RB Trees (MIT Open Courseware)
Animation | RB-trees (wiki)
Oct 25 Augmented search trees. Interval tree. L13.pdf | CLRS 14 H7.pdf
Dynamic programming and greedy algorithms.
Oct 30 Dynamic programming. L15.pdf | CLRS 15.2-15.3
Nov 1 Greedy algorithms. L16.pdf | CLRS 16.1-16.2 H8.pdf
??? evening Problem session: Augmented search trees. Some practice problems
Amortization.
Nov 6 Amortized Analysis. L17.pdf | CLRS 17.1-17.3
Nov 8 Splay trees. L18.pdf | animation
handout [Kozen]
H9.pdf
Nov 14 evening Problem session: Dynamic programming and greedy algorithms. Problems
Some fun practice problems pdf1 | pdf2 from Harvey-Mudd College.
Nov 13 Exam Review (L11-18) Practice: 231 Fall 2003 | Sol
For other practice exams check links
Pessimal algorithms (Broder, Stolfi) 
 
Graph algorithms.
Nov 15 Basic graph algorithms: BFS, DFS. basicgraph.pdf | CLRS B.4-B.5, 22.1-22.4 H10.pdf
??? evening Problem session: Amortized analysis and exam 2 review. Practice exam: 231 Fall 2003 | Sol
Nov 20 Exam 2 (L11-18)    
Nov 22 Thanksgiving break
Nov 27 Graphs. Topological sort. CLRS 22.1-22.4
DFS applet | BFS applet
Nov 29 Shortest paths. shp.pdf | CLRS 24.0, 24.3
Dijkstra animation | Slides (from R. Sedgewick, Princeton)
H11.pdf
Dec 4 Minimum spanning trees. Union-find. mst.pdf | CLRS 23, 21.1-21.3
Graph vizualizations (from R. Sedgewick, Princeton)
Dec 6 Last class. Review, etc UnionFind (from R. Sedgewick, Princeton)
Longest path (from Princeton)
??? Final review. review.pdf    
  Dec 14, 9am, Searles 126 Final Exam (L1-25)