CMIMC Programming

Algorithmic thinking and implementation.

Registration

Register for CMIMC Programming on the dedicated programming competition website.

Register for CMIMC Programming

2-Day Format

CMIMC Programming 2026 will be held on the weekend of April 18, 2026.

The programming contest will have a 2-day format. All problems from the AI, Optimization, and New Languages Round will be released on Friday evening, and you will have until Sunday noon to work on them (approx. 40 hours).

AI Round

Write programs to play mini games against other teams.

  • Programs run against other teams periodically.
  • Live leaderboard updates.
  • Language: Python 3.10.

Optimization Round

Solve optimization-based problems with a mathy flair.

  • Compete for the closest approximation to optimal.
  • Random test case generators.
  • Language: Python 3.10.

New Languages Round

Solve coding puzzles in a newly created esoteric programming language.

  • Challenges range from simple arithmetic to complex data structures.
  • Documentation provided at contest start.

Detailed Rules & General Format

Environment

  • All code must be written in Python 3.10 for the AI and Optimization Round.
  • Code is graded on a system running Python 3.10.

Submissions

  • Submit code anytime during the contest.
  • Most recent submission is graded and displayed on leaderboards.
  • Each problem has specific time and memory limits (per turn and total).

Starter Code & Strategies

Each question comes with starter code containing a simple, random strategy that performs better than the default in most cases.

Final Scoring

All submissions in all rounds will be regraded to produce final rankings at the end of the contest. Each problem will be normalized so that the best submission is worth 100 points.

In the spirit of the competition, and so that everyone can compete to develop cooler solutions, we encourage teams to not hoard solutions and submit at the last minute.

Competitive Programming Sites