Posted by Bill Gates

The University of Alberta Programming Contest is an opportunity for university, college, and high school students in Alberta show off their knowledge and skill in a programming competition.

Students will test their knowledge of algorithms and data structures with a set of programming puzzles requiring problem-solving, programming, math, and teamwork skills.

Two levels of competitions will be held, one for less experienced contestants and one for programming contest veterans.

Post-mortem resources

Time and Location
Posted by Bill Gates

Saturday, March 18th, 2017.

Computing Science Centre (CSC), Room 1-59, University of Alberta.

  • 10:00-10:45 Contest Warm-up
  • 11:00-3:00 Contest Starts
  • 1:00 Pizza Served
  • 3:00 Solution Discussion

I will request logins for our Linux machines for those who do not have a CSID (this is different than a CCID). However, to be safe, if you do not have a CSID, I suggest you bring a laptop with the tools to compile and/or run programs written in the supported language of your choice.

Contest Links
Posted by Bill Gates

The following are currently pointing to the contest held last year. They will be updated before the upcoming contest.

Warmup Contest

Division 1

Division 2

Other Information
Posted by Bill Gates

Contest Format: Teams of 1 to 3 compete to solve a variety of programming challenges. These are similar to ones found on Open Kattis.

For good practice with the mechanics of this contest, try solving and submitting this easy problem on Open Kattis. Try solving a few more interesting ones for more practice.

Input from standard in, output to standard out (like on Open Kattis).

One computer per team at all times. No switching machines without permission from the on-site contest director. You may use your laptop instead of a lab machine.

The only online resource permitted, apart from the contest pages, are the standard language documentation sites. Links will be provided from the contest page during the contest. You may bring in as much printed material as you would like.

Posted by Bill Gates
  • Can I/we compete remotely?
    Yes, but U of A students are strongly encouraged to show up in person. Others are welcome too.
  • Is C++11 supported?
    Yes, we compile all C++ submissions with -std=c++11
  • Is Python 2 supported?
    No, use Python 3
  • What should I name my Java main class?
    Execution of a Java program must begin in the main method in the public basename class in the default package.

Generally we compile and run programs in a way that is similar to this description, but without Python2 support.

Posted by Bill Gates

Register using the following Google Form

Cutoff is 7pm on Thursday, March 16.

I will send login information to the email address entered in the registration form.

Email zacharyf@ualberta.ca if you have further questions.

Posted by Bill Gates

Free Pizza

Sponsored by geekStarter

Posted by Bill Gates

We encourage you to work in teams of three, but you may compete individually or in a team of two. The contest is free of charge; lunch will be provided to competitors at the U of A location.

The contest itself is a collection of 7-9 problems to be solved using C, C++, Java or Python 3. Team rankings are decided first by number of problems solved, and second by time taken to solve and number of incorrect submissions.

There will be two divisions. Division 1 will be more challenging and the difficulty of the problems will reflect the difficulty of the ICPC regional contest. See here for an example of the regional contest.

Division 2 will be for less experienced contestants and is a great way to get introduced to this type of problem solving. Early undergraduate and high school students are encouraged to participate!

You must register in Division 1 if any team member has completed either CMPUT 204 or CMPUT 275. You may register in Division 1 even if you have not completed these courses.

In each division, the winning team is the one that solves most problems. Ties are broken by penalties.

Penalties are calculated as follows. For each problem that is accepted, you receive M + 20*W penalty points where M is the number of minutes from the start of the contest before the first accepted verdict for this problem and W is the number of incorrect submissions for this problem before the first accepted verdict.

Posted by Bill Gates

Trophies are sponsored by Computronix.

Additionally, the following prizes are sponsored by Intuit. There are 3 of each listing.

Division I

Division II Grade School

Plus a few fun "surprise" prizes!

Prize Claiming Rules

Each member of the first place team in each division chooses a prize from the corresponding pool of prizes for that division. Then each member from the second place teams choose from the remaining prizes, followed by each member of the third place team.

Some prizes are reserved for the top two teams consisting solely of grade school students. If an eligible grade school team places in the top three of their division, they get to choose among all remaining prizes for that division or for the grade school students. The fourth place team from that division then gets to choose among the remaining prizes after the third place team.