The International Collegiate Programming Contest (ICPC)
What is ICPC?
Teams of three represent their university and compete in a timed competition, where they are tasked with coding up algorithmic solutions to a variety of different problems. Teams who make it past the regional rounds are given the opportunity to compete (all expenses paid!) in the ICPC World Finals.
We typically perform very well. Some of Princeton's recent placings at the ACM Regional Collegiate Programming Contest (Greater NY Region):
- 2020: 1st place, plus another all-North America
competition qualifier - 2019: 4th place, plus 2nd best underclassman team
- 2018: 2nd place
- 2017: 3rd place
- 2016: 1st place
- 2015: 2nd and 3rd place
- 2014: 1st and 3rd place
- 2013: 2nd place, plus top underclassman team
- 2010: 1st and 2nd place, plus top underclassman team
- 2007: 2nd and 3rd place
- 2005: 2nd place
For more information, see the ICPC website found here. For updates on the New York Regional, see here. To receive updates regarding the contest, make sure you fill out this form!
Frequently Asked Questions
You can form a team with up to three members, each of whom must be a Princeton student.
This depends on the organizers. Typically, Princeton has sent three teams, although last year Princeton was able to send more teams due to the virtual setting.
If Princeton is only able to send a limited number of teams, then a selection contest will be held. Stay tuned for more information about this by filling out this form.
No, you don't at all! It certainly helps to have had a year or two under your belt, but to participate in the preliminary/qualifying competitions, you need no past experience. All you need to do is form a team.
Some places to start could be TopCoder, LeetCode, CodeForces, the ACM-ICPC live archive, and Project Euler. And stay tuned for preparation events that we will host this coming semester — we're planning to bring some of our most successful former competitors in as mentors!