2018 NB High School Programming Competition

The 2018 NB High School Programming Competition will be held on Friday, May 4th, on the Saint John campus of UNB.

See this video about the 2017 contest.

Photos from the 2017 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 2018 is OPEN, but  it will close on April 27th. Between  April 27 and May 2, we will accept teams as space permits.  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 the coordinator. Alternatively, you may bring the completed form with you to the contest.

For more information contact the coordinator.

Professional Development for Teachers

In 2017, NBCC was 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?

Confirmed Sponsors

  • J.D. Irving, Limited -Information Technology Division
  • IGT
  • 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 2018 or fall 2019).  All contestants receive $100 towards first year (Fall 2018 or Fall 2019) 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 (VERIFY) hours in the afternoon.  A schedule  from 2017 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 2018), C and C++ (GNU compiler 4.8.1 in 2018), Visual Basic ( VB 11 in 2018) or Python (3.4.0 in 2018).
    • No integrated development environment are used. Programs are written with a text editor (gVim (7.4 in 2018), Notepad, Notepad++ (6.9.1 in 2018)) 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.

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.