2017 Contest:

The 4th Annual Cornell University High School Programming Contest was held Friday April 7th. As always, we follow a similar format as the ACM International Collegiate Programming Contest (ICPC).  The rules are posted here. 

This year we had the following schools competing (with a total of 22 teams):

  • Allendale Columbia (1 team)
  • Bishop Hendricken (1 team)
  • Brighton (2 teams)
  • Dalton (1 team)
  • Fairport (3 teams)
  • Half Hollow Hills East (3 teams)
  • Ithaca (3 teams)
  • McQuaid Jesuit (1 team)
  • Nichols (2 teams)
  • Pittsford Sutherland (2 teams)
  • Webster Schroeder (1 team)
  • Webster Thomas (2 teams)

This year we also had a team of three high school teachers (for fun, not for the big prize).

A link to the contest, where you can see the problems, is here.

First prize went to an Ithaca High School team, second prize to a Bishop Hendricken team, and third prize to an Allendale Columbia team.  The teachers team came in fourth:

  1. Ithaca High: Vivek Myers, Jacob Silcoff, and Mrinal Thomas
  2. Bishop Hendricken: Fred Choi, Tony Jiang, and Paarth Tandon
  3. Allendale Columbia: Jingjong (Daniel) Xiang and Rui (Tony) Zhou 

Right after the contest, Prof. Kavita Bala gave a short talk on recognition and deep learning.

WHCU provided some nice coverage.

Practicing:

The teams may use the following programming languages: Java, Python, C, or C++. The teams will be using an X86 Linux environment.  So you can practice in this environment ahead of time, the environment is available as a VirtualBox virtual machine image.  VirtualBox can be run under Windows, Mac OS X, and Linux.  The username and password are both 'contest'.  Teams are allowed to bring in books, paper, etc., but no electronic equipment.  A simple calculator will be provided to each team.

2016 Contest:

The 3rd Annual Cornell University High School Programming Contest took place on Thursday April 7th.  Programming contest veteran Daniel Fleischman started the event with some stories about participating and team coaching in programming contests.    This year we had 19 teams:

  • Bishop Hendricken (2 teams)
  • Fairport (3 teams)
  • Ithaca (4 teams)
  • McQuaid Jesuit (2 teams)
  • Nichols (2 teams)
  • Pittsford Central Schools (3 teams)
  • Webster Schroeder (1 team)
  • Webster Thomas (2 teams)

First prize went to an Ithaca High School team, second prize to a Pittsford team, and third prize to another Ithaca High School team:

  1. Ithaca High:  Jonathan Gomes-Selman, Jacob Silcoff, Zachary Stillman
  2. Pittsford High: Yiyou Chen, Yizuo Chen, Peng Sun
  3. Ithaca High: Daniel Halpern, James Park, Mrinal Thomas

This year we used Hackerrank to run the contest: https://www.hackerrank.com/contests/cornell-university-high-school-programming-contest/challenges

The solutions, including test cases, are available here.

We got some nice press from WHCU, Cornell Chronicle.

2015 Contest:

In 2014 we organized our second contest on Tuesday April 7th.  With 17 teams we had almost triple the participation of last year:

  • Brighton (two teams)
  • Byram Hills (two teams)
  • Dalton (two teams)
  • Fairport (three teams)
  • Ithaca (three teams)
  • McQuaid Jesuit (two teams)
  • Webster Thomas (one team)
  • Webster Schroeder (two teams)

First prize went to one of the Dalton teams, second prize to a Byram Hills team, and third prize to the other Dalton team.  We also gave prizes for the first three teams to solve any problem.  A team from Webster Schroeder was the first team to solve a problem, followed by teams from Dalton and Byram Hills (tied).  Some stats:

  • All teams used Java exclusively.
  • Two teams solved all 7 problems, one team solved 6, one team solved 5, three teams solved 4, five teams solved 2, four teams solved 1, and one team solved no problems.  Participants can receive feedback on their failed attempts.
  • Problem 1 (Making the Grade) was solved by 13 teams.  Problem 2 (Eakspay...) was solved by 9.  Problem 3 (Frame by Frame) was solved by 4.  Problem 4 (Crushing Confections) was solved by 7.  Problem 5 (Waiting for Change) was solved by 7.  Problem 6 (Cornell Party) was solved by 4.  Problem 7 (Cornell Party -- Retry) was solved by 7.

The programming problems are posted here.  Solutions, test input and corresponding output are posted here, courtesy of Daniel Fleischman.  Feel free to contact Daniel (df288 at cornell dot edu) with questions.

During lunch, Prof. David Bindel gave a talk on difficulties in calculating decimals of pi and various applications.

We got some nice press from Cornell Chronicle.

2014 Contest:

In 2014 we organized our first contest on Thursday April 3rd.  The contest was held in the new Gates Hall on Cornell campus.  Weeks prior to the contest, all participants were provided with a virtual machine image (Ubuntu 12.04, pre-installed with C, C++, Java, Python, Eclipse, and various documentation.  Six teams of two to three programmers competed for a first, second, and third prize.  They were

  • One team from Brighton High School
  • Three teams from Ithaca High School
  • Two teams from West Irondequoit High School

First prize went to a team from Ithaca High, second prize to a team from West Irondequoit High, third prize to a team from Ithaca High, and an Honorable Mention to the other team from West Irondequoit High as they finished close behind the third.

The rules and programming problems are now available, as are solutions provided by Daniel Fleischman (df288 at cornell dot edu)  Daniel is an expert on competitive programming and is happy to provide feedback to the teams.  Here are some stats:

  • All teams used Java exclusively.
  • "Great Expectations" was solved by all 3 teams that attempted it.
  • Three teams solved "Student Identifiers".  A fourth team was very close, but they unfortunately skipped the modulus 1 as a possibility, and the test input had a class of size 1 in it.
  • "Pancakes" was solved by two teams.  A third team made an attempt.
  • "Can you build it" was solved by one team.  Two other teams attempted it.
  • "Postfix Calculator" was solved by one team.  One other team attempted it.
  • "Seek-a-Word" turned out to be tricky.  Four teams attempted it.  A lot of attempts were close but threw "array-out-of-bounds" exceptions.
  • "Roman Numerals" also is a bit tricky to get right.  Lots of cases to think about.  Two teams tried to solve it.
  • "Eating M&Ms" was attempted by just one team, but the solution was too inefficient to run within the required 5 seconds.

Participants can receive feedback on their failed attempts.

During lunch, Professor Sirer presented an introduction to Bitcoin, demonstrating a wonderful application of computer science concepts and also pointed out some problems with the approach.

We got some nice press from Cornell Chronicle.

Organizing Team

  • Fred Deppe: Ithaca High School Computer Science teacher
  • Robbert van Renesse: Cornell University Computer Science Faculty
  • Daniel Fleischman: Operations Research Scientist at Amazon.  Cornell University Operations Research and Information Engineering Grad
  • Victor Reis: Cornell University Mathematics and Computer Science Grad Student
  • Jessie White: Cornell University Computer Science Event Coordinator
  • Christopher Fouracre: Cornell University Computing and Information Science Information Technology Support Consultant

Additional help from:

  • Ghassane Adnani
  • Jessica Beebe
  • Robert Escriva
  • Sagar Jha
  • Akash Peri
  • Christianne McMillan White

Sponsors

The event is sponsored by the Department of Computer Science at Cornell University and the Institute for Computational Sustainability at Cornell University.