There are also (optional) lecture notes available, most of which are adapted from Virginia Williams' Spring 2015 offering of CS161. These lecture notes are from a previous offering of CS161 and are not being maintained for this version of the course (in particular, they are not relevant for bug bounty points), but you may use them if you find them helpful.
Resources from class:
Relevant reading:
Before class:
Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class:Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Special guest lecturer: Greg Valiant!
Before class:
Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class: Relevant reading (either before or after class, whatever works best for you):Before class:
Resources from class:By request (Piazza post @1533), a few completely optional practice problems: problems and solutions
NOTE: Due to a faulty power supply in NVIDIA auditorium, there is no video recording for this lecture! However, there was no new content in this lecture that is required for the course, so this lecture is optional.
The main point of this lecture was to advertise some of the cool stuff that's coming up in future algorithms/theory classes. We apologize to the SCPD students and to the on-campus students who didn't make it to class, and we hope that the slides available below convey the material if you are interested in it. (Again, this lecture is optional for this course). If you missed the lecture and are interested in future algorithms courses (and your interest is not sated by the slides below), please email me (marykw) to set up a time to meet and chat about it! I love talking about this stuff!!! (Disclaimer, I might not be able to meet until Spring quarter).
Before class:
| Monday | Wednesday | Friday |
|---|---|---|
| 1/7. Lecture 1: Why are you here? | 1/9. Lecture 2: MergeSort and Asymptotics (Ch. 2.3 and 3) | 1/11. Homework 1 Assigned |
| 1/14. Lecture 3: Solving Recurrences and the Master Theorem (Ch. 4.3-4.5) | 1/16. Lecture 4: Median and Selection (Ch. 9) | 1/18. Homework 1 Due; Homework 2 Assigned |
| 1/21. MLK Day. No class. | 1/23. Lecture 5: Randomized Algorithms and QuickSort (Ch 7, 5.1,5.2,5.3) | 1/25. Homework 2 Due. (No homework since we haven't covered enough new stuff). |
| 1/28. Lecture 6: BucketSort and Lower Bounds for Sorting (Ch. 8.1,8.2) | 1/30. Lecture 7: Binary Search Trees and Red-Black Trees (Ch. 12.1, 12.2, 12.3, 13) | 2/1. Homework 3 Assigned. |
| 2/4. Lecture 8: Hashing (Ch. 11) | 2/6. Lecture 9: Graphs and BFS and DFS (Ch. 22.1-22.4) | 2/8. Homework 3 Due; Homework 4 Assigned |
| 2/11. Lecture 10: Strongly Connected Components (Ch. 22.5) | 2/13. Lecture 11: Dijkstra and Bellman-Ford (Ch. 24.1, 24.3) | 2/15. Homework 4 Due; No homework assigned (study for midterm!) |
| 2/18. President's Day; No class. | 2/20. MIDTERM | 2/22. Homework 5 Assigned. |
| 2/25. Lecture 12: Dynamic Programming: Bellman-Ford (again) and Floyd-Warshall (Ch. 25.2, 15.1) | 2/27. Lecture 13: More dynamic programming: LCS, Knapsack, Independent Set (Ch. 15.4) | 3/1. Homework 5 due; Homework 6 Assigned |
| 3/4. Lecture 14: Greedy Algorithms (Ch. 16.1, 16.2, 16.3) | 3/6. Lecture 15: Minimum Spanning Trees (Ch. 23) | 3/8. Homework 6 Due; Homework 7 assigned. |
| 3/11. Lecture 16: Min Cuts and Karger's algorithm (Kleinberg and Tardos 13.2 (posted)) | 3/13. Lecture 17: What's next? | 3/15. Homework 7 Due |