Hendrix College Programming Contest

Saturday, March 30, 2024



The 2024 HCPC is over, but HCPC will return in 2025! Watch this space for announcements, or email Brent Yorgey if you’d like to be added to a mailing list for updates!



The HCPC is an in-person, ICPC-style programming contest hosted at Hendrix College, with both collegiate and high school divisions. Teams of up to three students compete to solve as many programming challenges as possible during the five-hour contest. The HCPC will develop students’ teamwork, programming skills, and the kind of algorithmic thinking and problem-solving that will truly set them apart in academia and industry.

See below for the schedule and location, to register, or to read the contest rules.

Please send any questions to the contest director, Dr. Brent Yorgey.


Sponsored by

contest

Contest Winners

  • 1st place: Keyboard Warriors (Hendrix College) (Katherine Reid, Matthew Kalahiki, Colin Phillips)

  • 2nd place: Harding Black (Gabriel Bergeson, Ian Keith, Adrian Calero)

  • 3rd place: Harding Gold (Josh Ward, Rider Kirkpatrick, Elliot Hodge)

Contest site

schedule

Saturday, March 30th

9:00-11:00 | Check-in & registration

9:30-11:00 | Practice contest (optional)

11:00-11:30 | Welcome & contest briefing

11:30-12:30 | Lunch in the Hendrix Caf

12:30-5:30 | Contest!

5:45-6:15 | Awards presentation

6:15 | Dinner on your own

registration

You may register teams of up to 3 students by clicking the link below. If you have multiple teams, you should fill out the registration form once for each team.

The registration fee of $35 per student includes lunch in the award-winning Hendrix Caf for the students and their coach/sponsor, snacks during the contest, and prizes for the winning teams in each division.

The registration deadline is Friday, March 15.

Register

location

The contest will be held in the Student Life and Technology Center at Hendrix College in Conway, Arkansas. Visitor parking will be available in a lot to the southeast, or across Harkrider to the northeast. See the map below for details.

rules

Eligibility

Any currently enrolled students in grades 9-12 are eligible to compete in the high school division, and any students currently enrolled as undergraduate students at a college or university are eligible to compete in the college division. Any team with a mix of both high school and college students must compete in the college division.

Teams

  • Each team consists of up to three contestants.

  • All teams and contestants must be registered by the deadline to ensure sufficient time to create the necessary accounts on the online judging platform.

  • It may be possible to accommodate some last-minute changes in contestants and team composition, but any such changes must be communicated to the judges as soon as possible.

Equipment

  • Each team is only allowed a single computer that all team members must share during the contest.

  • Each team must bring their own computer.

  • If desired, teams may bring additional hardware such as extra monitors, external keyboards or mice.

  • Teams should also plan to bring writing implements, scratch paper, etc.

  • Each team will be provided a table, three chairs, and multiple power outlets.

  • Use of all other electronic devices (phones, smart watches, tablets, etc.) during the contest is forbidden. These devices should be left with a coach for the duration of the contest.

  • Use of non-electronic resources (books, printouts, etc.) is unrestricted.

Internet

  • Internet access during the contest is allowed, for example, to access pre-written code in a GitHub repository, to research algorithms and data structures, etc.

  • However, team members may not use the Internet to communicate with any non-team members during the contest.

AI

Use of AI tools such as GitHub Copilot to generate code is forbidden; teams should ensure that any integrated AI assistance in their IDEs is turned off for the duration of the contest. All code submitted by a team during the contest must either be (1) written by team members during the contest, or (2) copied from a publicly available source on the internet (e.g. a blog post, github repository, etc.).

Languages

  • Programming languages allowed during the contest are Python 3, Java, C, C++, Rust, and Haskell. However, it is not guaranteed that all languages will be equally suitable for solving every problem.

  • For more information on the precise language versions supported and which libraries are installed in the judging environment, consult https://open.kattis.com/languages.

  • Teams do not have to commit to any single language. Each individual problem submission may use whichever language a team chooses.

Problems

  • There will be about 8-10 problems in each division, with some overlap between the divisions.

  • All the problems will be freshly created, never-before-published problems, with a wide range of difficulties.

  • The problems can be attempted in any order; in fact, the problems will not be arranged in any particular order, so you should not assume the easiest problems will be listed first.

  • Each problem may be attempted any number of times.

  • For a sample of the types of problems to expect, see https://open.kattis.com.

Judging platform

  • https://open.kattis.com/ will be used as the judging platform during the contest (see https://open.kattis.com/info for more specific information). It will test submitted solutions in real time, and display a public scoreboard (accessible to both contestants and spectators) with the problems solved by each team.

  • The public scoreboard will be frozen with one hour remaining in the contest.

  • It will also be possible to submit clarification questions via the judging system, to be answered by the contest judges.

  • https://open.kattis.com/info/submit has information on an automatic command-line submission script; it is acceptable, but not necessary, for teams to get this script set up ahead of time.

Scoring

  • Team ranking is first determined by number of problems correctly solved.

  • Teams tied on number of problems solved will be ranked according to total solve time, with the lowest total solve time ranked highest.

    • For each problem that is correctly solved, the total solve time will increase by the number of minutes from the start of the contest to the time of the correct submission, plus twenty minutes per incorrect submission for that problem.

    • Note that incorrect submissions for a problem only incur a 20-minute penalty if and when that problem is correctly solved.

    • For example, suppose a team makes the submissions in the table shown below, where the first column shows the time in minutes elapsed from the start of the contest, the second column shows the problem submitted, and the third column indicates whether the submission was judged to be correct.

      Time   Problem   Correct?
      12 A Y
      26 B N
      28 B N
      39 C N
      51 B Y
    • So far, the team has solved two problems correctly (A and B), and their total solve time is 103 (12 minutes for problem A, plus 51 minutes for problem B, plus 40 minutes for the two incorrect submissions for problem B). The incorrect submission for problem C does not yet count towards the total solve time (but it will if the team eventually solves problem C correctly).

organizers

Contest director

Dr. Brent Yorgey

Contest judges

Gabe Foust (Harding)

Eric Pinter (Hendrix ‘21)

Ryan Rose (Hendrix ‘17)

Brent Yorgey (Hendrix)

With help from

Tim Purkiss (event planning)

Jeremy Dickerson (registration system)

Amy Forbus (PR & design)

Student volunteers

Jacob Collier-Tenison

Amelia Jones

Zoie Keys