2021 UCC Coding Competition


It's time for the 2021 UCC Coding Competition! Last year's contest was very successful with participants from 11 different schools across Ontario. We hope that this year's contest will continue to allow coders from various backgrounds to compete and hopefully have some fun.

Please note that this year, the contest will be held on the DMOJ online judge to facilitate participation and scoring, so please review the instructions on this page carefully. Participants will need to register prior to the contest.

The UCC Coding and Algorithms Academy will host the second annual UCC Coding Competition on April 22-26, 2021.


Details


The UCC Coding Competition is a 2-hour, 5-problem competition similar to the CCC. Contestants will be able to log in and start a personal 2-hour time window at any time between 8:00am on Thursday, April 22 and 8:00pm on Monday, April 26 (Eastern Daylight Time).

Each problem is worth 10 marks, with approximate level of difficulty ranging from CCC Junior 2 to CCC Senior 4.

There is no limit as to how many solutions you can submit to the grader. The grader will score your submission and show you how many points you are awarded. If you submit multiple solutions to a problem, the highest scoring submission will be counted. This is a process similar to the CCC. However, please note that ties will be broken by the time of the last submission that increases a participant's score.

The contest is open to all high school students in participating schools. Like last year, an official honour roll will be published on this website, the top scorers will be named as "Coders of the Year", and top schools will also be recognized.


Before The Contest


Please ensure that you complete the below steps before April 20.

1. If you do not have a DMOJ account already, go to dmoj.ca and create one. DMOJ is the online grading platform that will be used for the contest (it is similar to the CCC grader). Note that the leaderboard of the competition will publically display the DMOJ usernames and scores of all participants, so please choose a username accordingly.

2. Register at this link by carefully following the instructions on the page after logging onto your DMOJ account. In particular, you will need to request membership and fill in your first name, last name, grade, school name, and email address using the format detailed on that page.

3. If you are unfamiliar with the DMOJ platform, you should try solving a "Hello, World!" problem and/or last year's UCC Coding Competition problems, and submitting your code for grading. The DMOJ grader will automatically test your code and give you a score. Please also familiarize yourself with DMOJ status codes (e.g. WA for Wrong Answer, TLE for Time Limit Exceeded) here, so you know what the grader's feedback means.


During The Contest


1. On April 22-26, log onto DMOJ and go to this page, where you should see the UCC Coding Competition as a contest you can join.

2. Start the contest. This will start a personal 2-hour window, so make sure you have 2 continuous hours to do the contest.

3. Find and solve the problems. Once you start the contest, you should be redirected to a page showing all five problems. As long as your 2-hour window hasn't expired, the "Problems" tab on the navigation bar will always take you back to this page.

Once you click into one of the five problems and have coded a solution, use the "Submit Solution" button and paste your code for the grader to grade. The grader will tell you how many points you obtained. If you don't obtain full marks, you are encouraged to adjust your code and try submitting again, or to work on another problem. If the grader gives you a status code such as WA or TLE, you can find out what it means here. Please see the Details section above for more information about scoring.


Rules


Do not communicate with other contestants or individuals regarding the contest before 8:00am on April 27, 2021. This includes communication online and in person.

Internet use is allowed to look up language and syntax on programming languages' official documentation only. Searching on sites like StackOverflow, GeeksForGeeks, or YouTube is not permitted.

Do not consult or use any previously written program by yourself or others. Note that there are anti-plagiarism systems built into the contest-hosting platform.

Do not use multiple accounts to participate in the contest.

Attempts to circumvent the contest system are strictly prohibited.

Improper conduct will result in immediate disqualification and notification of your school's administration.


Tips


- To prepare, take a look at last year's problems and try coding them!

- Read each problem! While the problems are generally in order of difficulty this might not necessarily be the case.

- Take advantage of part marks! Subtasks worth partial marks will be detailed in the problem statements and the point value for each test case is clearly indicated. In many cases, focusing on getting partial marks (especially for the later problems) can be much easier than tackling the full problem.

- For clarifications about the rules or problem statements, contact kevin.liu@ucc.on.ca.