The Association for Computing Machinery's International Collegiate Programming Contest

COVID-19 Update

Regionals

Usually, regionals are held in person in November on-site either at SFU or UBC. Unfortunately, this year is different. The current status update from Pacific Northwest ICPC Regional reads as follows:

Due to the current and ongoing pandemic, the Pacific Northwest Regional will not be held this fall. We were targeting a Spring 2021 contest (Saturday, March 6 2021), but depending on progress against the pandemic this might not be realistic. The State of California has recently announced that there will be no school-related travel allowed through June 2021. This further complicates matters for our region. It is certainly possible that other states will end up doing the same thing as California. It may turn out that no regional will be held during the 2020-2021 academic year. There is a possibility that an online version of the contest will be held, but this is still under discussion. We are also looking at allowing students who would normally compete in the fall regional, but will have graduated, to compete during Spring 2021. Thank you for your patience as we navigate a difficult time. As developments occur, we will update this website. Stay safe and stay smart -- keep solving problems and writing code while you are stuck at home!

SFU Practice

Currently, all SFU practices and contests are being held online. The easiest way to get involved is by joining the SFU Competitive Programming Club, where weekly contests are held, and you can interact with the other members of SFU interested in Competitive Programming.

Team Selection

Normally, team selection is done through several qualifying contests leading up to the regional. Because of the delay of the regional contest this year, qualifying contests have not yet been announced, but everyone is encouraged to join the club and participate in weekly contests. SFU's coach will be monitoring those contests and participation to help with team selection and formation.

Teams are split into Div 1 and Div 2, where Div 1 teams compete at the highest level, in order to qualify for further contests. Div 2 teams are given an easier problemset, with less advanced algorithms, and is excellent for learning and building confidence.

About

ACM ICPC

The Association for Computing Machinery ICPC is a world-wide competition held in late Spring of each year. Schools around the world are invited to qualify for the contest in a regionals competition in November of the previous year. SFU is part of the Pacific North-west Region, which is comprised of the following areas: Alaska, Hawaii, British Columbia, Washington, Oregon, Northern/Central California and western Nevada.

Each year starting in January, we will offer a series of "practice contests", culminating in two Regional qualifying contests in late September, at which point the final SFU teams will be chosen. Please see the events page for more information on upcoming events and join us!

Benefits:

  1. Connect with others who are as passionate as you about programming.
  2. Improve your problem solving skills and improve your academic portfolio.
  3. Practice interview programming skills.
  4. Represent SFU on a world stage.

What is a programming contest?

Competitive programming is a "mind sport". It is similar to a math contest, in that contestants are given a set of logical problems, which they are then expected to solve. The peculiar and interesting part of a programming competition is that the competitor is not just solving the program, but making a computer program capable of solving any such problem.

A typical problem will involve a "statement", describing the problem and what is to be solved. It will also give input and output parameters. The program should take input, and then figure out the solution for that given input, before printing the output.

Contests are usually time-based, where contestants are given a certain amount of time to solve as many problems from the problem set as possible. The contestants will code and test their programs, submitting them to a "judge", which will test the validity of the program, and mark it correct or incorrect. This feedback is usually given immediately, so the contestant knows to continue working on the problem or not.

In ICPC rules, ranking is determined primarily by the number of correct solutions a team or individual has. In the case of ties, they are broken by "penalty", which is the time in which each individual solution was submitted, summed up.