Algorithms and Complexity
CS 331, Fall 2025

Description

This course is a comprehensive introduction to the design and analysis of algorithms. Our goal is to investigate strategies for answering: how efficiently can we complete a given computational task? After this course, students should be equipped to tackle this question for a wide range of fundamental tasks arising in the practice of computer science.

The first three units of this course cover common algorithmic paradigms, familiarizing students with the principles of recursion, dynamic programming, and greedy algorithms. The next three units introduce toolkits for designing graph algorithms, continuous algorithms, and randomized algorithms, emphasizing real-world applications. The last unit, complexity theory, develops techniques for reasoning about fundamental limits on computational efficiency.

Course information: Here.

Time and location: 2:00 to 3:30 PM, Mondays and Wednesdays (GDC 1.304).

Instructor: Kevin Tian, kjtian (at) cs (dot) utexas (dot) edu.
Office hours: 3:30 to 5:00 PM, Mondays (GDC 4.720).

TA: Trung Dang, dddtrung (at) utexas (dot) edu.
Discussion section: 12:00 to 1:00 PM, Fridays (CBA 4.330)
Office hours: 2:00 to 3:00 PM, Thursdays (GDC 4th floor bridge).

TA: Nathan Mardanov, nmardanov (at) utexas (dot) edu.
Discussion section: 1:00 to 2:00 PM, Fridays (CBA 4.344)
Office hours: 11:00 AM to 12:00 PM, Wednesdays (GDC 4th floor bridge).


Assignments

Assignments will be posted below when they become available.

Homework I (Part II; Part III, Sections 1, 2)

Syllabus

Dates Topic Notes Announcements
Background Reading
8/25 Recursion (Part I, Sections 2, 3, 7; Part II, Sections 1, 2, 4) Reading Lecture HW I out
8/27 Recursion (Part II, Sections 3, 5) Lecture
9/1 Labor day (no class)
9/3 Recursion (Part II, Section 6)
9/8 Dynamic programming
9/10 Dynamic programming HW I due, HW II out
9/15 Dynamic programming
9/17 Dynamic programming
9/22 Greedy algorithms
9/24 Greedy algorithms
9/29 Greedy algorithms
10/1 Test 1 (in class) HW II due, HW III out
10/6 Graph algorithms
10/8 Graph algorithms
10/13 Graph algorithms
10/15 Graph algorithms HW III due, HW IV out
10/20 Continuous algorithms
10/22 Continuous algorithms
10/27 Continuous algorithms
10/29 Continuous algorithms
11/3 Randomized algorithms HW IV due, HW V out
11/5 Randomized algorithms
11/10 Randomized algorithms
11/12 Test 2 (in class)
11/17 Complexity theory
11/19 Complexity theory HW V due, HW VI out
11/24 Thanksgiving (no class)
11/26 Thanksgiving (no class)
12/1 Complexity theory
12/3 Complexity theory
12/8 Complexity theory HW VI due
TBD Final exam

External resources

Introduction to Algorithms (Cormen, Leiserson, Rivest, and Stein). Available here.
Algorithms (Erickson). Available here.
Mathematics for Computer Science (Lehman, Leighton, and Meyer). Available here.
Algorithms (Kleinberg and Tardos). Available physically through the UT library.
Algorithms Illuminated (Roughgarden). Available for purchase here.

Feedback

Please provide feedback on lectures or notes using the provided links.