CS2223: Algorithms

Tentative Schedule: Schedule might change slightly later on as appropriate.

Day Topic Notes Last Updated Readings
Oct 28 Background: Basic Math, Proof Techniques and Data Structures
Why Algorithms? (Rough Draft from the book by Profs. Heineman, Pollice and Selkow) Book Link
pdf ps Oct 28 Appendix A.1, Chapter 10 (both from Cormen book)
Oct 30 - Oct 31 Introduction, Complexity, Notations, Recurrences pdf ps
Recursion Tree Method: Extra notes
Oct 28 Chapters 0, 1.1, 2.1 + extra
Nov 3 - Nov 7 Sorting Algorithms, including Heap Sort, Median pdf ps
Selection in Worst Case Linear Time: Extra notes
Oct 28 Chapters 2.3, 4.5, 2.4 + extra
Nov 10 - Nov 14 Dynamic Programming pdf ps
LCS Extra Notes
Oct 28 Chapters 6.2, 6.3, 6.4, 6.5
Nov 17 - Nov 20 Greedy Algorithms pdf ps Oct 28 Chapters 5.2 + extra
Nov 21 Midterm      
Nov 24 Graphs/Trees Introduction Graphs Trees Oct 28 Section 3.1
Nov 25 - Dec 1 Graph Traversal - DFS, BFS pdf Oct 28 Chapter 3, 4.1, 4.2
Dec 2 Special Lecture: Prof. George Heineman on Path Finding      
Dec 4 - Dec 5 Minimum Spanning Trees Book chapter 5.1 (except "Path Compression" and "Randomized algorithm for min cut") pdf Oct 28 Chapters 5.1
Dec 8 - Dec 12 Shortest Paths Single Source Shortest Paths
All Pair Shortest Paths
Oct 28 Chapters 4, 6.1, 6.6
Dec 15 - Dec 16 NP-Completeness pdf Oct 28 Chapter 8
Dec 18 Final Exam