Enjoy solving tough problems?
Want to sharpen your coding skills?

History

Every year, the International Collegiate Programming Competition (ICPC) draws students from over 3,000 universities around the world to compete in solving tough algorithmic problems. Over the past decade, the ICPC Pacific Northwest regional competition has been dominated by UBC, Berkeley, and Stanford. Most years, one of our teams advances to the North American Championships and/or World Finals: an unforgettable week abroad with chances to meet the world's top collegiate programmers!

We are a group of students and alumni from various disciplines who practice algorithmic programming, with the main goal of competing in the ICPC. We also welcome students who wish to simply improve their problem solving, algorithm design and coding skills and collaborate with like-minded people. Contests are hard, but we stand to learn a great deal by challenging ourselves!

Even if you don't make it into the prestigious World Finals, practicing will do wonders for your coding ability, not to mention the ability to ace technical software interviews! Past UBC contestants have landed internships and full-time jobs at companies including and not limited to Google, Microsoft, Facebook, and Amazon. The abstract problem solving aspect of these contests can also serve as a stepping stone towards full-fledged computer science research: past contestants have gone on to complete PhDs at places like Stanford, MIT, and CMU.

What are you waiting for? Join the club!

How It Works

The ICPC is a competition between teams. Each team consists of three contestants. The teams are presented with a set of problems. The objective is to solve as many of the problems as possible, under a strict time limit. For each team a score will be determined, based on how quickly problems are solved and how many attempts it took to solve a problem. The team with the best score at the end of the time limit wins the competition.

The Pacific Northwest regional competition is held in mid-November. We send six of our teams (18 people) to this competition to compete with teams from SFU, Washington, Stanford, Berkeley and more. Winning teams from the regional will advance to the North America Championships, and the winners there win a trip to the World Finals, to represent UBC and Canada on the competitive programming stage.

What We Do

We hold regular practice sessions, in which everyone is again welcome to participate. Usually these will be held on Saturdays and Wednesdays. Pizza will be served during most of our meetings.

We'll also be offering an undergraduate course, CPSC 490, on advanced DSA topics.

Around the beginning of the academic year we hold two tryout contests to select the ICPC teams. Everyone is welcome to participate, the more the merrier.

IMPORTANT: Please note that certain requirements must be fulfilled in order for you to be eligible to participate in official competitions. Visit the official rules (be sure you're reading the current ones) and see the Eligibility Decision Tree.

Those interested in competing officially must also:

  • Regularly attend practice sessions
  • Commit to attending the regionals in mid-November, and possibly the North America Championship in the Spring and the World Finals in the Summer/Fall
  • Enjoy solving problems of algorithmic or mathematical nature
  • Learn to solve problems under time pressure