Warning: This website has not yet been updated to Spring 2025.
For any administrative questions, email the senior course staff.

Lectures

This table contains links to the lecture slides.
# DATE SLIDES SECTION DEMOS
The lectures below have not yet been updated for Spring 2025.
1 Tuesday
1/28
 Introduction  
 Union–Find  
1.5
Quick-union
Weighted quick-union
2 Thursday
1/30
 Analysis of Algorithms  
1.4
3 Tuesday
2/4
 Stacks and Queues I 
1.3
Function-call stack
Resizable-array queue
4 Thursday
2/6
 Stacks and Queues II 
1.3
5 Tuesday
2/11
 Elementary Sorts  
2.1
Selection sort
Insertion sort
Binary search
6 Thursday
2/13
 Mergesort  
2.2
Merging
7 Tuesday
2/18
 Quicksort  
2.3
Quicksort
2-way partitioning
3-way partitioning
Quickselect
8 Thursday
2/20
 Priority Queues  
2.4
Heap operations
9 Tuesday
2/25
 Elementary Symbol Tables  
 BSTs  
3.1
3.2
BST operations
10 Thursday
2/27
 Balanced Search Trees  
3.3
2–3 trees
Red–black BSTs
11 Tuesday
3/4
 Midterm Exam 

12 Thursday
3/6
 no lecture 

13 Tuesday
3/18
 Geometric Applications of BSTs  

Line segment intersection
K-d trees
14 Thursday
3/20
 Hash Tables  
3.4
Linear probing
15 Tuesday
3/25
 Graphs and Digraphs I  
4.1
4.2
Directed DFS
Directed paths
Undirected DFS
16 Thursday
3/27
 Graphs and Digraphs II  
4.1
4.2
Directed BFS
Topological sort
17 Tuesday
4/1
 Minimum Spanning Trees  
4.3
Kruskal
Prim
18 Thursday
4/3
 Shortest Paths  
4.4
Bellman–Ford
Dijkstra
19 Tuesday
4/8
 Dynamic Programming  

IntroCS
20 Thursday
4/10
 Maxflows and Mincuts  
6.4
Ford–Fulkerson
21 Tuesday
4/15
 Randomness  

Knuth Shuffle
Karger's Algorithm
22 Thursday
4/17
 Multiplicative Weights  

23 Tuesday
4/22
 Intractability  

24 Thursday
4/24
 Algorithm Design  


Readings. All readings refer to Algorithms, 4th edition by R. Sedgewick and K. Wayne unless otherwise specified.

Advice. In general, slides are intended for the lecture presentations and do not provide thorough descriptions of the material alone; for reference, read the corresponding sections from Algorithms, 4th edition. An effective strategy is to skim the textbook before the lecture, read it thoroughly soon afterwards, and complete the corresponding PrairieLearn quiz.

iClickers. To make the lectures more interactive, we will be using iClickers. To register your mobile/web app:

Using a classmate’s iClicker (or allowing someone else to use your iClicker) during lecture is prohibited.