Computer Science Competitions for High Schoolers
Are you a high school student interested in entering a computer science competition? In this blog post, we are sharing information about computer science competitions, competitive programming, and more.
What are Computer Science Competitions?
Computer science competitions are events where numerous programmers and computer science students compete for prizes. These competitions typically can last anywhere from 30 minutes to several days long. Many events have different skill levels for their problems so that anyone can participate. These events come in three main forms, competitive programming, game jams, and hackathons.
What is Competitive Programming?
Competitive programming is the act of using algorithms and math to create the optimal solution to a presented problem. Often these problems will involve the use of logical reasoning to understand and simplify the problem, and then will require an algorithm to solve it. Many competitions will have strict time limits on program runtime, so efficiency is a key part of many competitive programming contests.
An example problem may be asking a participant to construct a binary search tree from a given input string, and then to find a specific attribute of the binary search tree, such as its inorder traversal or its depth. You would typically be given approximately 1-3 hours for this kind of problem.
How are Competitive Programming Events Scored?
For Competitive Programming competition most events are scored based on their accuracy at solving a specific input case. For example, the above question may ask the user to find an output for 20 different test cases, and the number right is your score out of 20. Additionally, time constraints may be placed on programs, so understanding the runtime and complexity of your algorithm is necessary.
What are some Competitive Programming Competitions for High Schoolers?
There are several major competitive programming competitions, and each has their own style, difficulty, and problem types. The main competitions that high schoolers can participate in are:
The United States of America Computing Olympiad (USACO)
Codeforces
The American Computer Science League
Each of these contents had different levels for them to allow individuals of all skill levels to partake in them.
What is USACO and How Can I Participate?
The United States of America Computing Olympiad, or USACO, is the most prestigious high school competitive programming competition. All participants compete in one of 4 levels. The contest questions provided for each level vary vastly in difficulty. The main languages used in these competitions are C++, Java, and Python.
USACO typically has 4 contests per year, with the first 3 being 3 questions in 3 hours. The final contest, the US Open, typically has harder problems and participants are given five hours to complete 3 problems. Top performers at the US Open may be invited to participate at camp. Anyone in high school can participate in USACO by simply going to their website and signing up for future contests.
Bronze
The lowest level is Bronze, which is the level that everyone begins in at USACO. These problems typically do not require advanced algorithmic knowledge, but do require some problem solving and understanding of your chosen programming language. You are given three problems and 3 hours or 5 hours depending on the competition, but typically these problems take much less time. If a participant scores more than 700 or more than the cutoff for that competition they will be moved up to Silver.
Silver
Silver division competition is typically where most competitive programmers are. This division requires participants to know some basic algorithms and have practice with implementing them. Additionally, a strong understanding of mathematics is recommended. Silver division problems typically take nearly the entire contest duration to finish if unprepared and are extremely difficult to solve for the average person. If the score cutoff for the competition is reached, the participant reaches Gold.
Gold
Gold division is extremely difficult. There are a little over 1,000 people in the Gold division, demonstrating the extreme difficulty of these divisions. The difficulty level of these questions is above even the hardest of interview questions, and requires a deep understanding of complex algorithms, data structures, and a rigorous grasp of mathematics. Overall, even reaching this division is extremely impressive and prestigious. However, if you pass the score cutoff for the contest, you will proceed to the highest division, Platinum.
Platinum
There are a little more than 300 high schoolers in the Platinum Division. The problems here require extensive knowledge of algorithms and knowledge of high level mathematics. Almost anything can be tested in these contests, and even understanding questions is extremely difficult. However, if a participant does well during these contests they can be invited to a summer camp, and from there may be invited to represent the United States internationally.
What are Game Jams?
A game jam is a game development competition. Typically there is a theme for each game jam. The participant is meant to use this theme to create a game and then submit it to the competition within the contest timeframe. Typically, this is anywhere from 12 hours to several weeks. Game jams serve as excellent opportunities to learn, network, and to just have fun. The most accessible of these game jams is the GMTK Game Jam. Doing well in a game jam will require a proper understanding of code, some creativity, and a well thought out idea.
What are Hackathons?
Hackathons are events where individuals or teams come together to attempt to solve problems or create a program/application to accomplish something. Often the submitted application is a prototype for a future application. Often these events are sponsored, or hosted, by some of the largest companies in the world. These hackathons serve as a great place to network, practice your skills, and listen to talks from industry professionals. Overall, they are a great place to compete and have fun.
About Inspirit AI
AI Scholars Live Online is a 10 session (25-hour) program that exposes high school students to fundamental AI concepts and guides them to build a socially impactful project. Taught by our team of graduate students from Stanford, MIT, and more, students receive a personalized learning experience in small groups with a student-teacher ratio of 5:1.