CS 6515: Intro to Graduate Algorithms

Instructional Team

Eric Vigoda

Eric Vigoda

Gerandy Brito
Christian Stober

Christian Stober
Head TA
Rocko Graziano

Rocko Graziano
Head TA


This course is a graduate-level course in the design and analysis of algorithms. We study techniques for the design of algorithms (such as dynamic programming) and algorithms for fundamental problems (such as fast Fourier transform FFT). In addition, we study computational intractability, specifically, the theory of NP-completeness. The main topics covered in the course include: dynamic programming; divide and conquer, including FFT; randomized algorithms, including RSA cryptosystem and hashing using Bloom filters;  graph algorithms; max-flow algorithms; linear programming; and NP-completeness.

This course counts towards the following specialization(s):
Computational Perception and Robotics
Computing Systems
Interactive Intelligence
Machine Learning

Foundational Course
Computing Systems Specialization Elective
Interactive Intelligence Specialization Core
Machine Learning Specialization Elective
Computational Perception & Robotics Specialization Elective

Sample Syllabus

Fall 2020 syllabus (PDF)
Summer 2020 syllabus (PDF)
Spring 2020 syllabus (PDF)

Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.

Course Videos

You can view the lecture videos for this course here.

Before Taking This Class...

Suggested Background Knowledge

Students are expected to have an undergraduate course on the design and analysis of algorithms. In particular, they should be familiar with basic graph algorithms, including DFS, BFS, and Dijkstra's shortest path algorithm, and basic dynamic programming and divide and conquer algorithms (including solving recurrences). An undergraduate course in discrete mathematics is assumed, and students should be comfortable analyzing the asymptotic running time of algorithms.

Technical Requirements and Software

This course uses stricter proctoring requirements than other courses, which may require some students to buy high FoV external webcams.

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.