Spring 2025 CS231

This is a course about algorithms; their design and analysis

CS231 Syllabus


All course info and logistics can be found in the course syllabus

CS231 Schedule


Please note that this page will be updated frequently, and it will contain all course content and resources
Monday Tuesday Wednesday Thursday Friday
Jan
20
21
22
Introduction and Review
(slides)
Reading: Course syllabus
23
(I) Basics:
Proofs and Analysis
(slides)
24
Complete Quiz 0 on Gradescope before Sunday at 11:59pm
27
Priority queues and heaps
(slides)
Reading: Section 2.5
28
29
Practice and Office hours
30
Analysis and asymptotics
(slides)
Reading: Sections 2.1 and 2.2
31
Feb
3
Stable matching
(slides)
4
5
Practice and Office hours
Assignment 1 due at 11:59pm
(pdf file - tex file)
6
GS algorithm Implementation
(slides)
7
Complete Quiz 1 on Gradescope before Sunday at 11:59pm
10
(II) Graphs: Definitions and representation
(slides)
11
12
Practice and Office hours
14
BFS and graph coloring
(slides)
15
17
No classes
18
DFS and topological ordering
(slides)
19
Practice and Office hours
Assignment 2 due at 11:59pm (pdf file - tex file - starter code)
20
(III) Greedy algorithms:
Interval Scheduling
(slides - stay ahead proof)
21
Complete Quiz 2 on Gradescope before Sunday at 11:59pm
24
Scheduling (2)
(slides)
25
26
Review session
27
Exam 1 in-class
Focuses on material till end of graphs
28
Mar
3
Exchange argument
(exchange argument proof)
4
5
Practice and office hours
6
Exchange argument
(exchange argument proof)
7
Assignment 3 due at 11:59pm
**Note the different day**
(pdf file - tex file)
10
Shortest path routing
(slides)
11
12
Minimum spanning trees
(slides)
13
(IV) Divide and Conquer:
Merge sort
(slides )
14
17
Spring break
18
Spring break
19
Spring break
20
Spring break
21
Spring break
24
Counting Inversions
(slides)
Complete Quiz 3 on Gradescope before Monday at 11:59pm
25
26
Practice and office hours
Assignment 4 due at 11:59pm (pdf file - tex file)
27
Solving Recurrences
28
Complete Quiz 4 on Gradescope before Sunday at 11:59pm
31
(V) Dynamic programming:
Weighted interval scheduling
(slides - activity)
Apr
1
2
Review session
3
Exam 2 in-class
Focuses on material till end of greedy
4
Final paper - Phase 1 due
(Final paper description)
7
Weighted interval scheduling
(same slides as last week)
8
9
Practice and office hours
Assignment 5 due at 11:59pm (pdf file - tex file - code files)
10
Knapsack
(slides)
11
Complete Quiz 5 on Gradescope before Sunday at 11:59pm
14
Shortest path revisited
( slides )
15
16
No class - Ruhlman
17
(VI) Max Flow:
Max Flow problem
(slides)
18
21
No classes - Marathon Monday
Final paper - Phase 2 due
(Final paper description)
22
23
TBD
24
Applications of Max Flow
(slides)
25
Assignment 6 due at 11:59pm
(pdf file - tex file)
28
Tractability of algorithms
(slides)
Complete Quiz 6 on Gradescope before Monday at 11:59pm
29
30
Review session
May
1
Exam 3 in-class
Covers remaining material
2
Reading period starts
5
Final paper - Phase 3 - paper draft due
(Final paper description)
6
7
Final paper - Phase 3 - presentations
(Final paper description)
8
Final paper - Phase 4 - final paper due
(Final paper description)
9
Last day of finals