2017 High School Programming Contest

Contest Information

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

REGISTRATION IS CLOSED. Please contact the site director: (Dr. Brent Wilson Office: 503.554.2722) to see if there is room in the contest for your team.


Saturday, March 18th

8:30-9:30 AM - Teams check-in and setup at College of Engineering Innovation Center, Klages Center.
9:30-10:00 AM - Contest Briefing
10:00 AM - Contest Begins
12:00 PM - Lunch provided
3:00 PM - Contest Ends
4:00 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

Each team consists of 2-4 students. A high school may enter up to two teams per division. In order that beginners as well as more experienced programmers may compete, there will be 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 (e.g., on a “thumb drive” supplied by the team) to the contest judges. If the program is not successful, the team is allowed to resubmit a revised solution without penalty. Most programs receive ten points, although up to three points may be withheld for bad style. The first correct program for each problem is the one judged for style; there is no opportunity to get a quick and dirty program running, then clean it up for style judging! The contest closes at 3:00 p.m.; the teams with the most points are winners. 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 advanced college students. Extra points are awarded to any team that provides a solution to a problem for which no other team solves.

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 Languges Supported

Java v.8
C v.C99
C++ v.11
C# v.6
Python v.2.7.x
Python v.3.6.x



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

This page was last updated .