2019 NB High School Programming Competition
The 2019 NB High School Programming Competition will be held on Friday, May 3rd, on the Saint John campus of UNB.
See this video about the 2017 contest.
Photos from the 2018 contest, left to right:
- First place (Shin/Leger of Moncton), with the Bill Davis trophy.
- Second place (White and Alhallak of St. Malachy's), with CS Department chair Chris Baker.
- Third place (Desai and Liang of Fredericton), with Dr. Baker.
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 2019 will close on April 26th. Between April 26 and May 1, we will accept teams as space permits. 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
We hope to offer a PD activity for teachers on the day of the competition. Details will be provided at a later date.
UNB Saint John does not provide transportation.
Frequently, one or more teachers accompany their school's teams to the contest.
Looking to hone your skills?
- J.D. Irving, Limited -Information Technology Division
- EhEye Inc.
- 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 (year of entrance may be restricted). All contestants receive $100 towards first year (year of entrance may be restricted) at UNB Saint John in any 4-year programme offered by the Faculty of Science, Applied Science and Engineering.
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. The schedule for 2018 can be found here. (2019 schedule TBA.)
- 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 (12.0.21.005 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.
- Congratulations to Zachary Leger and David Shin of Moncton High, who took first place.
- Abdulbari Alhallak and Stephen White of St. Malachy's High won second place.
- Daren Liang and Ishwar Desai of Fredericton High won third place.
Each of NB's largest cities was on the winners' list this year.
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.