The USC Programming Contest is an event organized once per semester for undergraduate and beginning graduate students. It is a programming contest for individual participants.This page tries to give you all necessary information about the contest.
The contest is open to all students at the University of Southern California, regardless of year or major, so long as they satisfy at least one of the following two:
Students who meet neither requirement (i.e., are 24 years or older and in their 5th year of study or more) are not eligible.
There are lots of reasons why you would want to participate. First and foremost, we think that it's a fun event. If you are looking for a more material incentive, you can win pretty cool prizes, and every participant gets free pizza and soda, and usually a contest shirt and swag from our sponsors. If you make it on the USC team, you get to represent USC at the Regional contest, and might win an all expenses paid trip to the world finals. On the more career-oriented side, the contest lets you hone your problem solving skill and gives you practice in programming and solving algorithmic questions. Doing well in the contest looks great on your resume, and contest sponsors go to great lengths in trying to hire successful contestants.
This is not a long-term project contest: The time commitment is one Saturday or Sunday afternoon. If you are interested, you can improve your chances by practicing beforehand, or you can try out for one of the USC teams for the International Contest afterwards. But none of this is mandatory.
The first hour is always a practice contest, which is highly recommended in order to familiarize yourself with the contest environment. (In the past, first-time participants who missed the practice contest have often had lots of trouble later.) The contest itself is held immediately afterwards for four hours, followed by a 20 minute pizza party and the award ceremony.
We usually have one contest per semester: one early in the Fall semester, and one late in the Spring semester. Contests are typically held in RTH 109/115. If you want to be notified of future contests as soon as they are scheduled, you can subscribe to our mailing list.
It's hard for us to predict how difficult the problems will look to any one person but we encourage you to look at some example problems. Check out the problems from past contests and the practice links below.
The contest is absolutely free to all participants.
The first four prizes are typically Amazon gift cards. As of Spring 2016, the prize structure is as follows: The first four overall finishers receive $100, $75, $50, and $25, respectively. The top four undergraduates also receive $100, $75, $50, and $25, respectively. Contestants receive all the prizes they have earned, i.e., an undergraduate placing among the top four overall collects both prizes.
In addition, we often have many more prizes, such as games from Electronic Arts and various other gadgets from other sponsors. We also typically have a contest-specific T-shirt for every participant who attends the award ceremony. We do not hold prizes for participants who leave before the award ceremony.
We post a registration link on top of the main page as soon as registration for a particular contest opens. When you register, you need to provide your name, USC ID, major/degree program/year, and year of birth.
You can see the problem sets, sample solutions, results and pictures of past contests by following the links below.
The best participants at the contests, as well as anyone who shows specific interest, are invited to try out for the USC teams for the International Collegiate Programming Contest (ICPC). The ICPC is a huge contest, in which over 1800 schools participate worldwide. During the tryouts, we have simulated contests, and teach you language-specific tricks and algorithms that are commonly necessary in the ICPCs. The USC teams will first represent USC at the Southern California Regional ICPC and, if they place high enough (top 3-4 teams, typically), travel to the North American Championship. The top 15-20 teams from that contest get an all-expenses paid trip to the world finals, typically in fun locations. In Fall of 2011, USC for the first time had a team winning the Regional Contest, and went to the world finals. Since then, we have been placing highly every year, going to the world finals most years. We hope you will help us keep up this great streak.
You can greatly improve your chances to do well in the contest by practicing beforehand. There are three areas that help:
We try to stick closely to the rules of the world finals, which means that we support Java, Python and C/C++, in the installation available in the lab that we use.
The complete rules are a little lengthy, so they are on their own Rules Page. Perhaps the most important point is that you may bring any printed or written material to the contest, but no electronic devices (such as laptops, hand-held computers, smartphones, or even calculators).
ACM, AthenaHacks, and HackSC organize longer-term project contests and hackathons. In those, you usually work as teams, and try to come up with a project that has the core of something useful (and may develop into such a useful product eventually).
We also frequently get asked about whether there are programming contests for students who exceed our age restrictions. We have no plans to organize such a contest, but if you are very enthusiastic about it, you could probably make it happen, and we will be happy to give you some pointers.
To receive announcements about the contests, you can subscribe to the USC contest mailing list.
For more information, you can send an e-mail with your question to USCContest@gmail.com
The USC Programming Contests are organized by David Kempe and USC's ACM student chapter. Please contact us at USCContest@gmail.com with any questions.