There are 12 lectures, 6 homework sets, and 3 midterm exams. The general idea is that most lectures cover 1 chapter of the textbook; most homeworks cover two lectures, and each midterm exam covers approximately two homeworks (the last of which I hope to get back to you before each exam so you can have the feedback for studying).

# | Date | Reading | Topic | HW/Exam Due |
---|---|---|---|---|

1 | T 11 Sep | ch1-3 | Algorithmic complexity, divide-and-conquer | |

2 | T 18 Sep | ch4 | Math review, logic, induction, proofs | |

3 | T 25 Sep | ch6-7 | Sorting: Heapsort and Quicksort | |

R 27 Sep | HW1: ch2-3 | |||

4 | T 2 Oct | Exam 1: ch1-4 | ||

5 | T 9 Oct | ch8, 11 (skip 11.5) | Linear-time sorting: radix sort, bucket sort; Hash tables: chaining, open addressing | |

R 11 Oct | HW2: ch4,6-7 | |||

6 | T 16 Oct | ch10, ch12 (skip 12.4) | Data structures: linked-lists, stacks/queues, binary search trees | |

7 | T 23 Oct | ch18 | B-trees; review ch6-8,11 | |

R 25 Oct | HW3: ch8,11 | |||

8 | T 30 Oct | Exam 2: ch6-8,11 | ||

9 | T 6 Nov | ch15 (skip 15.4) | Dynamic Programming | |

R 8 Nov | HW4: ch10,12 | |||

T 13 Nov |
(Remembrance Day, no class)
| |||

10 | T 20 Nov | 16.1-16.3, 22.1-2 | Greedy Algorithms, Huffman coding | |

R 22 Nov | HW5: ch18, 15 | |||

11 | T 27 Nov | Exam 3: ch10,12,18,15 | ||

12 | T 4 Dec | 22.3-5 | Depth-first search and applications; Semester Review | |

R 6 Dec | HW6: ch15,16 | |||

W 12 Dec |
Office hours: 3-5pm | |||

R 13 Dec |
Final Exam: 2-4pm, Neu37 |