High School Programming Competition | Computer Science | Departments | Faculty of SASE | UNB

Global Site Navigation (use tab and down arrow)

Back to High School

NB High School Programming Competition

Friday, May 7, 2021, 1-4:30 pm  Thursday, May 13, 2021 (9am-12:30pm)

A computer programming challenge for high school students

The New Brunswick High School Programming Competition has brought talented students from high schools throughout NB to the UNB Saint John campus for many years.  In 2021, though, the contest will be virtual.  Our current plan is to have as many students as possible competing in their high schools under the supervision of a teacher.  The winners will be announced from this group and the Bill Davis Memorial trophy will be awarded to the top student in this group, but we hope also to allow an "open" division (probably a few days later) for NB students who did not compete in the supervised contest.

Contestants will test their computer-programming skills and problem-solving abilities. The contest  consists of a number of programming problems of increasing degrees of difficulty for individuals  to complete. The person who solves the most problems wins.

This year, students will mostly compete for the fun and glory.  There will be some small swag-based prizes sent to the top three teams in both divisions, and there will be a door prize awarded to a randomly chosen contestant.

View our photos from the 2019 event.

Our schedule for the day in 2019  included a parking pass.  This year, students will jump directly into the contest (A Web link to the contest Kattis site will go here once set up.) 

How to enter

Due to the virtual nature of the contest, schools can send as many students as they wish.   Teachers from participating NB high schools can register students using this registration link.

However, registration needs to be completed by noon on May 10th.

High schools known to be participating this year will be added below as news arrives:

  1.  Fredericton (contact teacher/homeroom TBA)
  2.  Leo Hayes (Jeremy Brown, room B216)
  3.  Riverview (Catherine Duffy, Computer Lab 1010)
  4. Moncton (contact teacher/homeroom TBA)


For more information contact nbhspgmcomp@unb.ca.    If you are a teacher from a school that has not participated recently, we'd really like to add you to our mailing list.


Sample problems

Looking to hone your skills? See the sample problems for 2019 or previous years (2018, 2017, 2016, 2015, 2014).


Please view welcome videos to be provided by some of our sponsors.

  • J.D. Irving, Limited -Information Technology Division
  • IGT
  • PatriotOne
  • Troj.AI
  • Encore Interactive
  • Propel
  • NBCC Saint John
  • UNB Recruitment
  • UNB VP Saint John

Contest rules

These rules and procedures may be modified and/or extended right up to the time of the competition.

Our competition rules are based on the rules used for the regional and international programming competitions run by the ICPC (International Collegiate Programming Contest)  though there are differences because the student level and experience are not the same.  This virtual contest will be hosted on the Kattis platform, as are many ICPC contests. 

Contestants are permitted to use any number of paper books or resources, and are permitted to access the Internet during the contest.  However, they must not consult any person, post questions on help sites (e.g., StackOverflow), or use any information hidden behind a paywall.

Solutions can be coded in

  • C or C++
  • Java
  • Python (2 or 3)
  • (for this year) any  other language supported by Kattis. (See https://open.kattis.com/help  and note that Visual Basic is not one of the supported languages.)
It is the responsibility of contestants or their schools to provide a programming environment.  Although the Kattis web platform allows students to edit and submit programs from the web browser, it is much more convenient to develop locally on a computer and then submit solutions through the Kattis web platform.

Programs read from the standard input ("the keyboard") and write to the standard output ("the screen"). No file input or output is done.

No communication is permitted between contestants or between contestants and teachers/coaches or other people other than contest staff, once the competition has started. 

Solutions are submitted electronically via the Kattis site, and to be accepted a submitted program must produce the right output values in the correct format.  Program code itself is not read and not evaluated in any way. Input test data files used for judging may (and usually will) include data that the contestants have not seen.

A solution that is not accepted as correct will be rejected. Students may resubmit the code as many times as they want until they get the correct answer.  Whether there will be time penalty for incorrect submissions is currently being considered.

The winner is determined by most problems solved, with ties broken by total time taken.


To gain familiarity with Kattis, potential contestants will need to create accounts at Open Kattis and they may also want to tackle some of the easiest-rated problems there.   (The set of public problems is mostly intended for university students.  Our contest will be developing a set of new problems suited for high-school students.)  Teachers will find that it is easy to pull together practice contests with existing problems on Open Kattis.

The registration process requires you to give the email address that was used to set up your Kattis account.  (If a different email address is given,  there will be difficulties.)

2019 results

Winning team of the HSPC

  1. Congratulations to Matei Marica and Noah Cameron-Howe of Fredericton High, who took first place (the Bill Davis trophy).
  2. Matthew Peterson and Stephen White of St. Malachy's High won second place.
  3. Aiden Manuel and Karl Han,  also from St. Malachy's, won third place.

Schools from the Greater Moncton area occupied the next three spots on the final scoreboard.

About the competition

Every year (except  Covid years!)  teams from high schools across New Brunswick are invited to UNB Saint John's High School Programming Competition. Regardless of who takes which titles, every student will be a winner! Each student will have won by gaining the experience of working as part of a team, participating in a fun event, and making new friends.