Single source of truth
Course status
Verified Aug 23, 2026The current official facts for the upcoming offering, plus the two details Columbia has not published yet.
Time and room
Wednesdays, 8:10–10:00 PM · 451 Computer Science Building
TA and direct CourseWorks route
Not public yet. Enrolled students can sign in and search COMS E6998-002.
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
- W01
Kickoff and strategy
Logistics, expectations, advanced practice strategy, ICPC team strategy, and core-technique review.
- W02
Advanced dynamic programming
Divide-and-conquer optimization, Knuth’s optimization, convex hull trick, and slope trick.
- W03
Advanced graph algorithms
Strongly connected components, 2-SAT, bridges and articulation points, and Euler tours.
- 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
- Competitive Programming 4Steven Halim, Felix Halim, and Suhendry Effendy
- Guide to Competitive ProgrammingAntti Laaksonen
- CodeforcesContests, ratings, and problem archive
- Columbia Competitive ProgrammingCommunity and course offerings
Questions
Contact the course team
Josh Alman
Co-instructor · Office hours by appointment
josh@cs.columbia.eduChristian Yongwhan Lim
Co-instructor · Office hours by appointment
yongwhan.lim@columbia.edu