Lecture Slides

Click on the links below to access lecture slides, annotated notes, and online lecture recordings.

Week Date Original Slides Annotated Slides Online Lecture
Week 1 3/4 Lecture 1-1: Course Introduction - -
3/6 Lecture 1-2: Getting Started (1.1, 1.2, 2.1) With Notes -
Week 2 3/11 Lecture 2-1: Algorithm Analysis (2.2, 2.3.1) With Notes -
3/13 Lecture 2-2: Algorithm Analysis (2.3) With Notes -
Week 3 3/18 Lecture 3-1: Asymptotic Notation - -
3/20 Lecture 3-2: Asymptotic Notation (3.2 - 3.3) - -
Week 4 3/25 Lecture 4-1: Divide-and-Conquer (4.1, 4.2, 4.3) With Notes -
3/27 Lecture 4-2: Divide-and-Conquer (4.4, 4.5) - -
Week 5 4/1 Lecture 5-1: Probabilistic Analysis and Randomized Algorithms (Chapter 5) With Notes Watch Lecture
4/3 Lecture 5-2: Heapsort (6.1, 6.2, 6.3) With Notes Watch Lecture
Week 6 4/8 Lecture 6-1: Heapsort (6.3, 6.4, 6.5) With Notes -
4/10 Lecture 6-2: Quicksort (7.1, 7.2, 7.3, 7.4) With Notes -
Week 7 4/15 Lecture 7-1: Sorting in Linear Time (Chapter 8) With Notes -
4/17 Lecture 7-2: Medians and Order Statistics (Chapter 9) - -
Week 8 4/22 Mid-term (Presentation)
4/24
Week 9 5/1 Lecture 8-1: Elementary Data Structure (Chapter 10) With Notes -
5/6 Lecture 8-2: Hash Table (11.1, 11.2, 11.3.1) With Notes Watch Lecture
Week 10 5/8 Lecture 9-1: Binary Search Tree (Chapter 12) With Notes -
5/13 No class – Department Event
Week 11 5/15 Lecture 10-1: Dynamic Programming (Chapter 14.1) With Notes -
5/20 Lecture 10-2: Dynamic Programming (Chapter 14.2) With Notes -
Week 12 5/22 Lecture 11-1: Greedy Algorithms (Chapter 15) With Notes -
5/27 Lecture 11-2: Elementary Graph Algorithms (Chapter 20.1)/ Student Presentation With Notes -
Week 13 5/29 Lecture 12-1: Breadth-First Search (Chapter 20.2) With Notes Watch Lecture
6/3 Presidential Election Day
Week 14 6/5 Lecture 13-1: DFS + Shortest Paths (Chapter 20.3 + 22.0) With Notes -
6/10 Lecture 13-2: Dijkstra’s Algorithm + NP-Completeness (Chapter 22.3 + 34) With Notes -
Week 15 6/12 Student Presentation Day
Week 16 6/17 Final Exam
6/19