Design and Analysis of Algorithms

Tentative Syllabus. Subject to change.

CS 3510 + CS 3511, Spring 2024

Time: Tue/Thu 12:30-1:45pm.
Location: CCB 16
Office hours: TBA. No office hours during first week.
Instructor: Jan van den Brand
Joseph Gulian (Head TA), Jayanee Venkat, Yash Arora, Sera Biju, Amit Singh, Ritvik Chandrashekhar, Max Zhang, Daniel You, Allen Chang, Aditiya Kalyanam, Anubha Mahajan, Dhruv Sharma, Yongyu Qiang, Vivek Atmuri.

Course Page

We use Piazza for announcements, discussions, lecture notes, etc. Please always ask your questions on the discussion board rather than by email.
It is your responsibility to check Piazza for assignments, announcements, and review material.
Canvas is only used for grades and linking to Piazza and Gradescope.

Other Material

The lectures roughly follow the book “Algorithms” by Dasgupta, Papadimitriou, and Vazirani.
Here is a list of good books/resources if you are interested in further reading:

CS 3510 vs 3511

Students taking CS 3511 (the honors version of CS3510) will have lectures joint with CS3510. Questions on exam and homework may be different.



There will be problem sets/homework. I expect there to be ~2 problem sets per chapter (see bottom of this page for the list of chapters).
The questions will be theory/proof-based problems but there will also be the occasional programming assignments (ie implement an algorithm).

Course Policies (late-submission, re-take exam, sickness, etc)

For fairness to all students, no other exceptions to these policies will be made for individual students, except for the disability policy.

Disability policy

Students with disabilities who require accommodations for access and participation in this course should register with the Office of Disability Services (ODS). Please contact ODS here:

Regrade requests

Regrade requests can be made for factual errors. Regrade requests cannot be made when the grader did not understand your solution. It is your responsibility to make your answers clear for the graders to understand.


Georgia Tech Honor Code

Please read the Georgia Tech Honor Code here:
Penalties for academic misconduct include getting a zero for an assignment or for the course, see here:


The list of topics is as follows. Each topic consists of ~2 weeks of classes.
Divide and Conquer
Graph algorithms
Dynamic Programming
NP Completeness
Other Topics (linear programs, approximation, and/or randomness)


This schedule is tentative and subject to change.
01/23Review01/25Exam 1
01/30Graph Algorithms02/01Graph Algorithms
02/06Graph Algorithms02/08Graph Algorithms
02/13Review02/15Exam 2
02/20Dynamic Programming02/22Dynamic Programming
02/27Dynamic Programming02/29Dynamic Programming
03/05Review03/07Exam 3
03/12P, NP, Complexity03/14P, NP, Complexity
03/19Spring Break03/21Spring Break
03/26P, NP, Complexity03/28P, NP, Complexity
04/02Review04/04Exam 4
04/09Open Topics04/11Open Topics
04/16Open Topics04/18Open Topics
04/23Review (Retake exam)04/25No class (exam period)
04/30No class (exam period)05/02Exam 5