Tentative ScheduleΒΆ
All readings are from the textbook chapters unless otherwise specified via instructor-supplied notes and/or videos. Quizzes, homework and exams will be conducted online through Canvas.
Week |
Topics |
Assigned Reading. |
Due |
|---|---|---|---|
1 |
Preliminaries; Python basics |
Ch 1 |
|
2 |
Algorithm analysis; Lists; Dictionaries |
Ch 2; Ch 8.2; Additional notes |
Quiz 1 |
3 |
Stacks, Queues and Deques |
Ch. 3.1 through 3.5 |
HW 1 |
4 |
Lists; Skip Lists |
Ch 3.6 - 3.10; Ch. 8.4 |
Quiz 2 |
5 |
Recursion |
Ch 4; Ch 8.3 |
HW 2 |
6 |
Searching; Hash Tables |
Ch 5.1 - 5.2; Additional notes |
Quiz 3 |
7 |
Sorting; Analysis of sorting algorithms |
Ch 5.3 - 5.7; Additional notes |
HW 3 |
8 |
Binary Trees and Heaps |
Ch 6.1 - 6.6; Ch 8.6 |
Exam 1 |
Spring Break |
|||
9 |
Binary Search Trees |
Ch 6.7 - 6.12; Additional notes |
Quiz 4 |
10 |
Graphs; Breadth First Search |
Ch 7.1 - 7.4 |
HW 4 |
11 |
Depth First Search |
Ch 7.5 - 7.7 |
Quiz 5 |
12 |
Greedy algorithms on graphs |
Ch 7.8 - 7.12; Additional notes |
HW 5 |
13 |
Dynamic Programming |
Ch 4.7; Additional notes |
Quiz 6 |
14 |
Dynamic programming |
Additional notes |
Exam 2 |