Since the original 50 seats have been filled up quickly, we have extended the class to 150 seats! So CS 491 CAP 2017 Fall has about 100 seats for registration now! Go to U of I self-service and secure your seat (CRN 65816) today!

Basic Info

  1. CAP is Competitive Algorithmic Programming and this is an intro course
  2. Credit: 1 CS upper level elective credit
  3. Instructors/course assistants: Jingbo Shang (NetID: shang7), Victor Gao (NetID: xingao3), Uttam Thakore (NetID: thakore1)
  4. Faculty Liaison: Mattox Beckman (NetID: mattox)
    • NOTE: All course sessions will be led by the instructors or course assistants.
  5. Class time: Fridays, 2:00-3:00 PM
  6. Room: Digital Computer Laboratory DCL 1320


This course introduces the algorithms and concepts necessary to compete effectively in the ACM International Collegiate Programming Contest (ICPC) and similar contests. Completion of course passing requirements is required for students intending to compete in the 2016 ICPC Mid-Central Regional contest. The course requires weekly completion of short problem sets. Topics covered include standard library classes and data structures useful for programming contest problems, basic complexity analysis, dynamic programming, graph algorithms, number theory, combinatorics, computational geometry, combinatorial games, and competitive programming contest strategy.


  • Proficiency programming in either C, C++, Java, or Python (CS 125 or its equivalent)
  • Familiarity with basic data structures is ideal, but not necessary (CS 225 or its equivalent)
  • Most importantly, eagerness to learn and practice

More details

Please refer to the syllabus and tentative schedule.