Preparation Guide

for HSPT: Online Edition 2016-2017

  1. Fill Out the Registration Form.

    Go to our Eventbrite page, if you haven't already, and fill in the required info. Please make sure you provide:

    • Your legal name and high school name, to confirm your eligibility.

    • A valid email address that we can use to send your login info for the competition.

    • We don't require your home address, but would like to know your state (and country, if not in the United States).

    NOTE: Clicking that you are "Going" on our Facebook Event page is not enough for us to send you login info, and without login info you cannot compete!

  2. Watch Our Facebook Page.

    We'll send critical reminders via email, but you might find other useful updates on Facebook.

    • If you are a Facebook member, you can "Like" or "subscribe" to the page to get updates automatically in your News Feed.

    • Anyone can also RSVP to this event on Facebook--But please note, that's not the same as registering on Eventbrite.

    • Facebook is also a great way to invite your friends and rivals to join in the competition!

    NOTE: You don't have to sign up to Facebook to see the updates on the page.

  3. Understand the Rules.

    Knowing the rules can help you formulate a highly successful strategy before the competition starts.

  4. Set Up Your Computer.

    Get everything ready for an intense coding session.

    • Plan a quiet workspace where you won't be interrupted.

    • Make sure you have a reliable internet connection. Avoid flaky wi-fi spots!

    • Make sure you have an up-to-date web browser installed. It might be a good idea to update other software like your OS, Adobe Flash, Java plug-ins, and virus definitions—just to make sure you don't get annoying pop-ups from those programs during the competition. (Adobe Flash and Java plugins are not used by our contest software.)

    • Install a reliable PDF viewer. You'll need this to view the problem specifications.

    • Install the software you need to write code. We recommend JCreator or jGRASP for Java programmers, and Code::Blocks for C and C++ programmers. All of these are very simple to use—just open up a window and start coding! (No projects to worry about!)

    • ProTip: Java coders should also install the Java Developer Kit (JDK) command line tools from Oracle, to learn how the judges will test your Java code.

    • ProTip: C and C++ coders should also install the GNU Compiler Collection, to learn how the judges will test your C or C++ code. You can usually get a version of GCC for Windows via MinGW from nuwen.net that is reasonably similar to what the judges use.

  5. Know Your Input/Output Routines.

    Coding I/O routines is a part of the competition where a lot of new contestants make costly mistakes. Take a little bit of time before the competition to cement your knowledge of these APIs, and you will avoid losing precious minutes while debugging your code.

    • Check out some tutorials for coding with standard input and standard output in Java, C, or C++.

    • Try out our instructions for redirection with command-line tools in Java, C, or C++. These are listed as "How will the judges run my program?" questions in the FAQ.

    • Please be aware that many of the reference solutions in our problem archive use specific files for input/output. Don't get in the wrong habit of using new File in Java or fopen or ifstream in C/C++. Using standard input/output is typically much simpler when writing code, although it can be slightly more awkward to test.

  6. Try Some Practice Problems.

    Take a look at the problems that were posed in previous UCF High School Programming Tournament competitions. Here are a few recommended ones:

    It also helps to skim through entire problem sets. Can you devise a strategy for attacking a problem set during competition? Try skimming through these sets and see if your strategy would work.

    There are plenty more to try in our HSPT archive and HSPT: Online Edition archive, along with reference solutions and the full, comprehensive data that was used for judging.

  7. Collect Your References.

    Are there any websites you might want to have bookmarked, or textbooks or printouts you'll want to have nearby? Consider whether any of these might be helpful, based on the problems from previous competitions:

    • Favorite parts of the Java API (docs.oracle.com/javase/7/docs/api/)

    • Useful sections of a good C++ reference (such as cplusplus.com)

    • Trigonometry formulas

    • Descriptions of useful data structures

    • Pseudo-code for useful algorithms

    • ProTip: Graph paper is sometimes useful.

  8. Attend a Practice Session.

    There will be two practice sessions before the competition. Plan to login for at least 20-30 minutes during one of them, at any time during the 2-hour window. This is your chance to see how to download problem specifications, try out the submission system, and see how the scores are reported.

    • Saturday, December 3, 2016, 1:30pm-3:30pm (Eastern Time)

    • Wednesday, December 7, 2016, 6:00pm-8:00pm (Eastern Time)

    It's really a good idea to learn to use the system before competition day, and make sure everything works correctly for you. A small misunderstanding or a glitch in downloading problem specifications or uploading submissions can cost a lot of time during the competition!

    For most, submitting once or twice is enough to get the idea. But you are welcome to use the entire 2 hour session to experiment with submissions and responses, since you can submit code multiple times.

  9. Show Up Early.

    The competition will begin at 1:30pm Eastern Time on Saturday, December 10, 2016. To maximize your coding time, get ready at least 20 minutes earlier and log in to the system as soon as possible. It also helps to prepare your workspace:

    • Open your email and check for any final announcements. Hopefully they aren't in your spam folder! Keep your email open during the competition. This is your lifeline to the HSPT staff if anything goes wrong!

    • Open a browser tab to each of the reference sites you expect to use.

    • Open a browser tab to the competition site.

    • Fire up your development tools.

    • ProTip: Open a Command Prompt / Terminal window in case you need to test your code in the same way that the judges will.

    • ProTip: Set your browser's "Download" folder to match the folder where you will be saving your source code files. This can help with faster upload of your submissions.

Follow these steps and you will feel like a pro during your first competition! All that remains is to flex your problem-solving skills and to write great code!


If you enjoy the Online Edition of our competition, check out our original, premier event, the UCF High School Programming Tournament, which will be held on the UCF campus in Orlando, Florida, this spring. We work hard to make it worth the trip for all the teams!

Watch this web site and the HSPT page on Facebook for more info!