CPS 531: Introduction to Algorithms

Fall Semester, 2023

Basic Information

Instructors: Kamesh Munagala and Alex Steiger

TAs: Laura He and Anish Hebbar

Lectures: W/F 10:05 - 11:20 (Bryan Center Griffith Theater)

Recitation: M 10:05 - 11:20 (Bryan Center Griffith Theater)

Attendance to the lectures and recitations is optional. We will record the lectures, and when possible, post slides for recitations. 

Synopsis

This course will cover the basic techniques in algorithm design, including greedy algorithms, divide-and-conquer, amortization, dynamic programming, network flow, linear programming, randomization, NP-Completeness, and approximation algorithms. The techniques will be covered in-depth, and the focus will be on modeling and solving problems using these techniques. 

We will assume prior knowledge of discrete mathematics, probability, programming, and basic data structures. You should meet with the instructors if you do not have this background.

Platforms 

Please let us know if you have trouble with the links.

Textbooks 

Algorithms by Jeff Erickson. (required)

Algorithms  by S. Dasgupta, C. Papadimitriou, and U. Vazirani. (optional)

Algorithm Design  by J. Kleinberg and E. Tardos.   (optional; link is to the SLIDES)