Every year, ACM@UVa runs the largest High School Programming Contest (HSPC) in the mid-Atlantic region, and one of the largest in the country.

Contest Date

Saturday, March 25, 2017


If you are interested in sponsoring the contest, and encouraging high school students to pursue computing, please email You can read our sponsorship letter here.


Where do I register?

Registration is now closed, as we have a full capacity of 50 teams registered. Registered teams can access the registration system here. Note that there is a limit of three teams per school.

What do I need to know about registration?

Each team consists of four students and one coach. Registration costs $40 per team.

Is financial assistance available?

We know that the cost of attendance for our competition may be prohibitive for some schools. If your school is interested in participating but is prevented by the cost, please let our HSPC Contest Chair know by email at We hope to be able to find sponsors to support a limited number of teams to attend this year's competition.

2017 Contest Updates

Python 3 will be available for use in the 2017 contest. We will use the latest version in Ubuntu 16.04 LTS (as of this writing, that's 3.5.2).

The VirtualBox image will be available approximately one month prior to the contest so that individuals can familiarize themselves with it.

Contest Logistics

The 2017 contest will be March 25, 2017; more information will be forthcoming.


The 2017 competition schedule has not been finalized, but we expect it to be similar to last year's schedule, which is shown below. Note that this year, HSPC is not being held on the same day as the Engineering Open House.

  • Teams must register by 9:30am in Rice 130.
  • 8:00 - 9:30a Registration in Rice 130
  • 9:30 - 10:30a Introduction, Rules, and Questions in Chemistry 402
  • 10:30 - 11:30p Practice Contest with coaches in Mechanical Engineering, Rice Hall, and Olsson Hall
  • 11:30 - 12:30p Lunch in Mechanical Engineering
  • 12:30 - 4:30p Contest in the computer labs in Mechanical Engineering, Rice Hall, and Olsson Hall
  • 5:00 - 5:30p Awards Ceremony, Wrap-up in Chemistry 402

Directions and Parking

The events related to the competition are split between three buildings at the University of Virginia Engineering School. We are located on Stadium Road, with parking available behind the stadium just off of Whitehead Road. Registration will take place in Rice 130. Rice is the new Computer Science building and is closest to Whitehead Road.

Please park in the green labeled lots (T4) only. Registration will occur in Rice Hall room 130, the arrow indicates this location, but it is a new building and the map doesn’t sketch its shape.

Frequently Asked Questions

We follow a fairly common set of rules for high school programming contests. See here for details.

For further comments or questions, please email

You can read the practice contest problems from last year's contest: the practice problem and the contest problems.

Past problem sets are available here (the zip archive includes the practice problem, full contest set, sample and judge I/O, and example solutions):

You can also see the latest contest site (what is available to the students during the contest) here, which includes links to the individual solutions.

You can view the scoreboards of the past UVa HSPC contests here.

During the contest, the following will be available electronically:

We will be providing breakfast (to take place during check-in) and lunch.

For the 2016 contest, the prizes were:

  • First place: Raspberry Pi 3
  • Second place: Large board games
  • Third and fourth places: quadcopters
  • Fifth place: small board games

Each team will receive 1 prize per contestant -- for example, four Raspberry Pi 3's for first place, one of each board game for second place, etc.

  • Ubuntu 16.04 LTS
  • 1 (one) computer per team
  • Java 8
  • Choice of Eclipse, gedit, vim, or emacs
  • PC^2 Submission (Multiple classes will be permitted, but they must all be in the same source code file)
  • Standard Input and Output used for all input and output
  • Printing is permitted during the contest (any printed material will be brought to you)
  • Programming languages: Java, C, C++ (the compiler will use C++11), Python 3

If you have any questions, please contact the HSPC staff (

All over the state of Virginia, with a few from Maryland from time to time. You can see a map of the schools that are sending teams to the 2017 contest here. You can see maps of who attended for previous years as well: 2016, 2015, 2014, 2013.