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)