2018 High School Programming Contest

Contest Information

The 2018 High School Programming Contest will be held at George Fox University on March 17, 2018. We hope that this page holds all of the information necessary for competitors in the competition.


NOTE: Next year (2019) we will host each division in a different location on campus which will allow for the inclusion of many more schools and teams.

Please contact the site director: (Dr. Brent Wilson Office: 503.554.2722) if you have any questions.


Saturday, March 17th

8:30-9:30 AM - Teams check-in and setup at College of Engineering Innovation Center, Klages Center.
9:30-10:30 AM - Practice Contest and Briefing
10:30ish AM - Contest Begins
12:00 PM - Lunch provided
3:00 PM - Contest Ends
3:30 PM - Awards


From I-5:
  • From the south, take the Donald/Aurora exit (278) north of Salem. Follow the signs to Newberg. When you reach 99W, turn left. Just past the highway split near the center of town, turn right on Meridian Street. After one block, you will see the campus on the right. Follow Programming Contest Signs.
  • From the north, take the Tigard/Newberg exit (294) shortly after leaving Portland city limits. Stay on 99W until you reach Newberg. At Meridian Street (just past the highway split near the center of town), turn right. Campus is on the right. Follow Programming Contest Signs.

Northbound 99W (coming from McMinnville and Dundee):
  • From 99W, turn left on Meridian. Follow Meridian Street across southbound 99W (Hancock Street) for one block; campus is on the right. Follow Programming Contest Signs.

Team Divisions

A single team will consist of 2-3 students. Each high school may enter upto 3 teams with no more than 2 teams in a single division. A high school may enter a 4th 'lottery' team. Based upon facilities and student capacity we will draw from the lottery teams to fill our capacity. Schools will be contacted one week before the contest as to the status of their 'lottery team. There are two divisions (Div-I and Div-II). Division II consists of students who are in the beginning stages of developing their algorithmic problem-solving skills and have not previously placed 1st, 2nd, or 3rd in a programming contest. Division I is open to all high school students...even beginners that want to "go for the glory!" To assist the pacement of your teams, problems in each division will be roughly based upon the following "topic-based" definition below:

  • Div-II topics will include formatting output, control structures (branching/looping), boolean logic, string manipulation, basic one-dimensional lists/arrays
  • Div-I topics will include all of Div-II topics plus multi-dimensional lists/arrays, recursion, sorts/searching, data structures (lists and trees), and other advanced algorithmic topics.

Contest Logistics/Rules

Each team brings one computer. At the start of the contest a set of programming problems is distributed to the teams. The students write programs to solve as many of these problems as they can. They divide tasks among themselves and work cooperatively in any way they wish. As soon as a team believes it has a program that solves a problem, they submit their program through an on-line submission system (Note: each team machine must have networking capability) If the program is not successful, the team is allowed to resubmit a revised solution. Each correct solution submitted will also receive a 'time score' which represents the total time since the start of the contest plus any time penalties for incorrect submissions. The time scores only come into play when there is a tie with the same number of problems solved.

For example Team 1 solves its first problem in 30 minutes on its first submission. Team 1 now has a score of 1 with a time score of 30. In another 20 minutes (at the 50 minute mark of the contest) Team 1 solves a second problem on its first submission. Team 1 now has a score of 2 with a time score of 80 (30 + 50). Team 2 submits a wrong solution for its first problem 15 minutes into the contest. They are able to fix it and resubmit at the 45 minute mark of the contest. Team 2 would have a score of 1 with a time score of 65 (solution at 45 + 20 min penalty for wrong submission). If that was the end of the contest, Team 1 would win simply because they solved more problems... the time score only comes into play if two teams have the same number of problems solved, then it is lowest time score wins.

Contest problems have a very wide range of difficulty.  We will provide a different set of problems for each division, although there will be some common problems I am sure. We try to include at least two problems that every team could solve—we also include two or three that would be appropriate for college students.

Here is a sample of the style of problems that students will see... these are easy to easy/medium. Sample Programs. All inputs must be entered from standard in (keyboard) and all output is sent to standard out (console window)

Programming Languages/Compilers Supported

Language Version Compiler Flags
Java 8 OpenJDK javac 1.8.0_151
C C99 GCC gcc 5.4.0 -std=c99
C++ C++11 GCC g++ 5.4.0 -std=c++11
C# 5 Mono C# mcs -langversion:5
Python 2.7 Python 2.7.12
Python 3.5 Python 3.5.2



Plaques and prizes will be awarded through 3 places for Division I and Division II.

This page was last updated .