Columbia University · COMS E6998

Advanced Topics in Competitive Programming

Algorithms under pressure. Ideas built to survive implementation.

Instructor-maintained · Verified against Columbia CS

Start here

Course essentials

Single source of truth

Course status

Verified Aug 23, 2026

The current official facts for the upcoming offering, plus the two details Columbia has not published yet.

Confirmed

Time and room

Wednesdays, 8:10–10:00 PM · 451 Computer Science Building

Published

Draft syllabus

Eleven pages · updated July 18 · read online

Official source: Columbia CS course listing. The listing currently names Josh Alman as instructor; this course site also reflects the instructor-authored syllabus.

Upcoming offering

At a glance

An advanced sequel to COMS W4995 focused on the harder half of ICPC and Division 1 Codeforces problems—speed, rigor, and implementation under pressure.

Instructors
Josh Alman and Christian Yongwhan Lim
Semester
Fall 2026
Meeting time
Wednesdays · 8:10–10:00 PMEastern Time
Location
451 Computer Science BuildingConfirmed by the official course listing
Office hours
By appointment; contact an instructor by email.
Course materials
Fall 2026 draft · Official listing

Before enrolling

Prerequisites and enrollment

Ready for the course if you can implement core algorithms quickly and explain why they work. COMS W4995 or equivalent contest experience is strongly recommended.

  • Instructor permission is required by the official listing.
  • COMS W3134 or W3136, W3203, and CSOR W4231 are recommended.
  • C++ proficiency is strongly recommended; Java or Python is acceptable.

Workload at a glance

How the course works

150

assigned problems

Codeforces AC submissions; Kattis substitutions are described in the draft.

10

live contests

Solve at least one problem in each qualifying Codeforces contest.

1

presentation

Complete at least one presentation that meets every satisfactory criterion.

3

free absences

Wednesday attendance is recorded; documented exceptions may apply.

Draft grade weights: contests 70% · assignments 15% · presentations 10% · attendance 5%. There is no midterm or final exam.

First four meetings

Fall 2026 schedule preview

  1. W01

    Kickoff and strategy

    Logistics, expectations, advanced practice strategy, ICPC team strategy, and core-technique review.

  2. W02

    Advanced dynamic programming

    Divide-and-conquer optimization, Knuth’s optimization, convex hull trick, and slope trick.

  3. W03

    Advanced graph algorithms

    Strongly connected components, 2-SAT, bridges and articulation points, and Euler tours.

  4. W04

    Network flows and matchings

    Max-flow/min-cut, min-cost flow, bipartite matching, and applications.

See the complete schedule for all thirteen class meetings and the Nov 25 academic holiday.

Keep practicing

Resources

Questions

Contact the course team