All reading assignments, unless stated otherwise, are chapter numbers in the Levitin textbook. Please read the assignments before the class in question, so you have good questions to ask.

Date Assignment Reading Subject
Jan. 22 HW1   Administrivia; problems, instances, algorithms, and programs
Jan. 27   1.1-1.3 Basic concepts
Jan. 29   1.4 Review basic data structures
Jan. 30 Deadline to add courses
Feb. 3   2.1-2.2 Efficiency, resources, and what should affect them
Feb. 5 HW1 due; HW2 2.3-2.4 How to analyze an algorithm's efficiency
Feb. 10   2.5-2.7, Appendix B Other approaches to algorithm analysis
Feb. 12   3.1-3.2 Brute force for searching and sorting
Feb. 13 Deadline to drop courses
Feb. 17   3.3-3.4 More brute-force algorithms
Feb. 19   4.3 Divide and conquer; binary search
Feb. 24   4.1-4.2 Mergesort and Quicksort
Feb. 26 HW2 due; HW3 4.6 Some geometric examples
Mar. 2   5.1-5.2 Insertion sort, DFS, and BFS
Mar. 4   5.3 Topological sorting
Mar. 9   5.5-5.6 More decrease-and-conquer algorithms
Mar. 11     Discuss HW2
Mar. 16     Homework; logic puzzles
Mar. 18   6.1-6.3 Instance simplification
Mar. 19 Deadline to withdraw from courses
Mar. 23 HW3 due 6.4-6.5 Representation change
Mar. 25   6.6 Problem reduction
Mar. 30 HW4 7.1-7.2 Speed, for a price
Apr. 1   7.3 Hashing
Apr. 5-9 Spring break; no classes
Apr. 13   8.1-8.2 Dynamic programming
Apr. 15 HW5 8.3-8.4 More examples of dynamic programming
Apr. 20 HW4 due 9.1-9.2 Greedy algorithms
Apr. 22   9.3-9.4 More greedy algorithms
Apr. 27   10.1-10.2 Proving a problem is difficult
Apr. 29   10.3 Complexity, P and NP, NC and friends
May 4 HW5 due   Catch up and review
May 6-7 Possible snow make-up days
May 11 Final exam, 10:30-12:30

Last modified:
Stephen Bloch / sbloch@adelphi.edu