CS4540 Advanced Algorithms

Fall 2020, MW 5:00pm - 6:15pm

Instructional Format

This course will be delivered via the hybrid format. All remote sessions will use BlueJeans, accessible through the course page on Canvas. A significant portion of the interactions will be online. Here the quickest ways to reach the instructors / TAs are via the Piazza or the Comment Card.


Course Information

Course Description

I don't know what algorithms will result in the Technological Singularity, but my guess is that algorithms research after that will involve dynamic programming.

This course will cover advanced topics in algorithm design from the perspective of provable efficiency. It is heavily problem-solving oriented, and most of the topics will be presented from the perspective of dynamic programming. Tentative topics are:

A more detailed list of topics is in the schedule below. The goal of this course is to provide problem-solving experience involving algorithms. It will try to convey:

Evaluation Scheme

Evaluation will be entirely based on problem sets. There will be a number (at least 30) problems released, you may choose to do as many of them as possible. Each solution that you submit will be worth up to 5 points. You can receive points for a problem by either: More instructions on formatting can be found in Problem Set Guidelines.



M Aug 17 Dynamic programming: knapsack notes slides
W Aug 19 Problem Set 1 slides
M Aug 24 Interval based dynamic programming notes slides
W Aug 26 Problem Set 2 slides
M Aug 31 Prefix based DP, and transition formulas notes slides
W Sep 2 Problem Set 3 slides
W Sep 9 Connectivity tracking DP notes slides
M Sep 14 Dynamic programming on trees notes slides
W Sep 16 Problem Set 4 slides

M Sep 21 Dynamic prefix sum, (tournament) heaps, role of branching factor notes slides
W Sep 23 Problem Set 5 slides
M Sep 28 Lazy propagation: range update and query notes slides
W Sep 30 Problem Set 6 slides
M Oct 5 Plane sweep notes notes
W Oct 7 Problem Set 7 notes
M Oct 12 Nested data structures notes slides
W Oct 14 Problem Set 8 slides
M Oct 19 Speeding up dynamic programs using data structures notes slides
W Oct 21 Problem Set 9 slides

M Oct 26 Greedy based state reductions notes slides
W Oct 28 Problem Set 10 slides
M Nov 2 Convexity and monotonicity of decision points notes slides
W Nov 4 Problem Set 11 slides
M Nov 9 Counting problems notes slides
W Nov 11 slides
M Nov 16 Generating functions / polynomials notes slides
W Nov 18 Problem Set 12 slides
M Nov 23 Implicit maintenace of DP states notes slides

Statement of Intent for Classroom Inclusivity

As a member of the Georgia Tech community, I am committed to creating a learning environment in which all of my students feel safe and included. Because we are individuals with varying needs, I am reliant on your feedback to achieve this goal. To that end, I invite you to enter into dialogue with me about the things I can stop, start, and continue doing to make my classroom an environment in which every student feels valued and can engage actively in our learning community.

Campus Resources for Students