About
Posted by Noah Weninger

The University of Alberta Programming Contest is an opportunity for university, college, and high school students in Alberta to 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.


The contest is free of charge; lunch will be provided to competitors at the U of A location.

Time and Location
Posted by Answer

Saturday, March 7, 2026.

Location: University of Alberta Main Campus - 8th Floor of the Donadeo Innovation Center for Engineering (DICE).

Many doors are locked on campus during the weekend. Volunteers will be at the door in front of ETLC to let you in and direct you to the contest location: Google Maps pin.


Schedule

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

You should bring your own laptop with the tools to compile and/or run programs written in the supported language of your choice. No computers will be provided.


Contest url (not active yet): https://uapc26.kattis.com/contests
You must log in with the same email you used to register for the contest. If that email was not yet associated with a Kattis account, one will be created for you.

Previous Contests
Posted by Noah Gergel
Other Information
Posted by Ian DeHaan

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.

We will assume everyone knows how to submit and get a problem accepted on Kattis. So ensure you try it out before you attend.


Each team is limited to using one computer during the contest. You are not allowed to switch computers during the contest without permission from the on-site contest director.


Your team may bring an amount of printed material including books, handwritten notes, and printouts. We will not provide scrap paper or pens, you must bring those yourselves.


This contest is about individual/team problem solving abilities and programming. The use of AI is not aligned with the contest goals as it does not demonstrate personal/team skill at solving problems (think: AI is an expert that just spoils everything for you). All uses of AI are strictly prohibited and will result in your whole team's immediate disqualification.

Rules related to using online resources have changed this year. Please read the following carefully.

Only the following online resources are permitted

Acceptable use of code editors and pre-existing code

  • You can use any editor you want along with any non-AI features you like, such as autocompletion (e.g. of variable/function names), syntax highlighting, and debugging features. You cannot use features like Copilot or anything else that provides suggestions or predictions on what should come next.
  • You can use any code that already exists on your machine. This could include "contest templates" and already-downloaded repositories of implementations of some algorithms. But you cannot search for any code online during the contest (apart from what the standard language references listed above provide).

Misc. / FAQ
Posted by Joseph Meleshko

Disclaimer: This section may change a bit before the contest. Check back here by March 5 to see if things change.

  • Can I/we compete remotely?
    Yes, but U of A students and high-school students in the area are strongly encouraged to show up in person. Others are welcome too. Prizes will only be available to those who participate in person.
  • Which languages are supported?
    C++, Python 3, Java, C, Kotlin, Rust, Haskell
    Note, the contest organizers do not have experience with all languages: you are responsible for making sure you can successfully submit to Kattis in the language of your choice..
Register
Posted by Grayden Price

Register using the following Google Form.

Cutoff is 7pm on Thursday, March 5. Spots are limited, registration may close early if capacity is reached.


We plan on running an Open Division (all problems) for non-official contestants, registration is not required. You can simply join the Open Division from the contest URL.


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

Perks
Posted by Parsa Zarezadeh

Free Pizza


Prizes
Posted by Jacob Skitsco

Division 1

  • First place - $750
  • Second place - $500
  • Third place - $250
Division 2
  • First place - $500
  • Second place - $300
  • Third place - $150
High School
  • First place - $300
  • Second place - $150

Division Descriptions, Eligibility, and Ranking
Posted by Johnson Wu

We encourage you to work in teams of three, but you may compete individually or in a team of two.

Each team will register in one of the following divisions.


Division 1
This is for more experienced problem solvers. A spectrum of difficulties will appear here from very easy to quite challenging, some of the problems will require experience with algorithms and data structures. The only requirement is that all members must be students.


Division 2
This is the more introductory division, the average difficulty will be lower than Division 1 and fewer problems will rely on knowledge of algorithms or data structures (though there will be some). Your team may compete in this division if every team member is a student and none have won prize money at a previous UAPC or ACPC.
Exception: Teams consisting of only grade school students may register in this division even if they have won a prize in a previous UAPC or ACPC.


High School Division
Restricted to teams consisting entirely of grade school students. Most problems will be of an elementary nature, though there will still be some challenges. High school students with experience in competitive programming (e.g. Codeforces, CCC, etc.) are encouraged to try one of the other divisions.


Open Division
This is the unofficial division. Anyone may participate in this division, even if they are not a student. No prizes. You don't even have to fill out the registration form unless you intend to compete on site, you can just join the contest when the url goes live.


For questions about eligibility, email the contest organizer using the email near the registration link above.


Ranking

A problem is considered solved if one of your team's submissions for that problem receives a judgement of Accepted from the judging platform. Participants that are not familiar with the judging platform are strongly encouraged to try a few practice problems themselves to understand how judgements are given, see the "Other Information" box for details.


There is no partial credit, any judgement apart from Accepted means the problem is not yet solved by your team. You may resubmit as many times as you would like.


The team that solves the most problems wins. Ties are broken by the team with the least penalty points.


Penalties points 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 your first Accepted verdict for this problem and W is the number of incorrect submissions for this problem before your first Accepted verdict.


See the 2023 Division 2 scoreboard for an example of how ranking is done. More details about scoring can be found here.


Scoreboard Freezing
The scoreboard typically "freezes" when there is 1 hour remaining in the contest. You are able to see the verdicts for your own submissions but the scoreboard will not update apart from showing a submission count from other teams during the final hour (i.e. you will not know if it was accepted or not). The scoreboard will be unfrozen after the contest to reveal the final rankings. The contest administrators reserve the right to change the time of the scoreboard freeze, but this is rare.