CSCI 5454: Design and Analysis of Algorithms

Fall 2019

University of Colorado, Boulder
Instructor: Bo Waggoner
Time/Location: TBA


This graduate-level course will overview a variety of approaches to designing and analyzing efficient algorithms. Topics will likely include: combinatorial and graph algorithms; randomized, online, and approximation algorithms; and optimization and learning.

More information and a course syllabus will be posted as the fall semester approaches.


This course will be theoretical, mathematically rigorous, and proof-based. We will assume familiarity with undergraduate algorithms (such as CSCI 3104), data structures (such as CSCI 2270), discrete mathematics (such as CSCI 2824), linear algebra, and calculus. Students may also be expected to implement small programs in a language of their choice.

Resources and Links:

The course does not have a required textbook (readings will be posted or linked).

Useful textbooks for the prerequisites and some course material include Algorithms by Dasgupta, Papadimitriou, and Vazirani (can be found online for free); Introduction to Algorithms by "CLRS"; Algorithms and lecture notes by Jeff Erickson; Algorithm Design and lecture slides by Kleinberg and Tardos.