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.
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 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.
Generally we compile and run programs in a way that is similar to this description, but without Python2 support.
Sponsored by geekStarter
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.
Trophies are sponsored by Computronix.
Additionally, the following prizes are sponsored by Intuit. There are 3 of each listing.
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.