2017 NB High School Programming Competition

The 2017 NB High School Programming Competition was held on Friday, May 12th on the Saint John campus of UNB.

See this video about the contest.

Left to right:

  • First place (Bernice MacNaughton), with  the family members of Bill Davis awarding the trophy named after him.
  • Second place (Riverview), with the chair of the CS Department and the VP of UNB Saint John.
  • Third place (Moncton), with the chair (Dr. Baker) and VP (Dr. MacKinnon)

First PrizeSecondThird

A highlight for our host department was a re-accrediation award for our CS degree, presented by a representative of the Canadian Information Processing Society (CIPS).

What is the competition about?

New Brunswick High School Programming Competition brings talented students from high schools throughout the NB province to the UNBSJ campus every year. It is designed to provide a computer programming challenge for students in grades 9 to 12. Contestants will test their computer programming skills and problem solving abilities. The contest is designed to encourage teamwork and it consists of a number of programming problems of increasing degrees of difficulty for the team to complete. The team that solves the most problems wins. For more details, check out the rules.

No fee to participate! How do I enter?

Team Registration for 2017 closed on May 5.   Between  May 5 and 10, we accepedt teams as space permitted.  In 2017 we were able to accept everyone who wanted to attend.   Please note that we are never  set up to accept registrations on the day of the contest.

The Authorization and Consent Form must also be filled out on/before the competition day. It's best if you scan and email it, in advance, to Dr. Shaw. Alternatively, you may bring the completed form with you to the contest.

For more information contact Dr. Shaw.

Professional Development for Teachers

NBCC is offering a professional development session on Visual Programming Languages through Mobile Web Apps.  Details.


UNB Saint John does not provide transportation.

Frequently, one or more teachers accompany their school's teams to the contest.

Sample problems

Looking to hone your skills? Try these sample problems from the 2013 HS programming competition.

Confirmed Sponsors

  • J.D. Irving, Limited -Information Technology Division
  • IGT
  • Enterprise SJ
  • NBCC Saint John
  • UNB Recruitment
  • UNB VP Saint John: Members of the top 3 teams get $1000, $500 and $250, respectively, toward BScCS  first year at UNB Saint John (fall 2017 or fall 2018).  All contestants receive $100 towards first year (Fall 2017 or Fall 2018) at UNB Saint John in any 4-year programme offered by the Faculty of Science, Applied Science and Engineering.

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 sponsored by the ACM (Association for Computing Machinery), though there are differences because the student level and experience are not the same.

    • Every high school (public or private) in New Brunswick is eligible. Each school is allowed up to register two teams, each consisting of two students maximum. Additional teams can register but will be waitlisted and allowed to compete if space permits. 
    • There are generally two students per team, though a team of one is also allowed. The two students must come from the same school.  If a school sends two teams of one, we will probably ask them to work as a team of two.
    • Students must register for the competition, and submit/bring their Authorization and Consent Form.  (If more than two teams wish to register from a school, the school will prioritize the teams. )
    • There is only one computer workstation per team (whether it's one student or two).
    • The High School Programming Contest takes all day, although the coding phase is 3.5 hours in the afternoon.  A schedule  can be found here.
    • Students may use hard-copy (paper or book) reference material but not soft-copy (electronic) reference material. So no thumb drives or CDs are permitted, for example.   Old printouts and notes on paper are fine, however.
    • Solutions can be coded in Java (Oracle 8u77 in 2016), C and C++ (GNU compiler 4.8.1 in 2016), Visual Basic ( VB 11 in 2016) or Python (3.4.0 in 2016).
    • No integrated development environment are used. Programs are written with a text editor (gVim (7.4 in 2016), Notepad, Notepad++ (6.9.1 in 2016)) in a Windows 7 environment and then compiled and debugged using command-line tools.
    • Programs read from the standard input ("the keyboard") and write to the standard output ("the screen").  No file input or output is done.  In our warmup practice contest, we use two simple problems and their sample solutions in each of the supported languages.
    • PC^2 contest management software is used for teams to submit their solutions and receive the results.
    • No calculators, audio devices or video devices are permitted. The Windows calculator accessory may be used if a calculator is required for any reason.
    • No communication is permitted between teams or between teams and teachers/coaches, once the competition has started. Also, students are not permitted access to outside resources via a web browser or e-mail during the competition.
    • Solutions are submitted electronically, and to be accepted a submitted program must produce the right output values in the correct format, for each of the sample input data files. Program code itself is not read and not evaluated in any way. Input test data files used by the judges may (and usually will) include data  that the teams 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.
    • The winner is determined by most problems solved, with ties broken by total time taken.

2017 Results

  1. Congratulations to James Currier and Junyao Duan of Bernice MacNaughton,   who took first place.
  2. Jakob Roberts and Zach Taylor of Riverview won second place.
  3.  Zack Leger and Marco Lamothe of Moncton won third place.

     Detailed scoreboard results are here.

Problem Set for 2017

Photos from previous years

Every year 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, having participated in a fun event, and making new friends.