webmaster: Sven Koenig

USC Programming Contest


Recent News (02/05/2023)

We will have a tryout contest for students interested in being on USC's ICPC (International Collegiate Programming Contest) team. Note that this is not the USC Programming Contest - we will have that one later in the semester. For the tryouts, there are no prizes and no food - this is only about making it on the USC team(s) for this semester. The tryout contest will be held on Saturday, February 11, from 12:00-4:00pm.

The contest will be run on Kattis, a contest environment. If you want to participate, you will need to generate a (free) account there. We also recommend practicing on a few problems to get a feel for how to use the platform, and what the problems are like.

The contest will be for individual students, currently enrolled at USC. Students are eligible regardless of their major or degree program, but must satisfy at least one of the following two requirements: (1) be born in 1999 or later, or (2) have started college for the first time in 2018 or later. If you were born in 1998 or earlier and spent any time at university in 2017 or before, you are not eligible.

You will be working on your own machine at home, and we will be using the honor system in assuming that you will not use any web resources when participating. Since the goal is to form one or more teams of USC students to participate in the Southern California Regional Contest, by participating, you also acknowledge that as of the time you register, you would be interested and able to participate in the contest, which will be on February 25, 2023, all day, in Riverside.

To register, please send an e-mail to by Thursday (02/09) at 8:00pm, with the following information:

  • Your name
  • Your USC Student ID, major (e.g., CECS, or math, etc.), year (e.g., sophomore, or first-year grad), and degree program (e.g., MS or BS or PhD).
  • Your Kattis account name
  • Your year of birth (not the whole birthday)
  • An acknowledgment that during the contest, you will not be using any web resources to solve problems (except of course Kattis)
  • A statement that you'd be available and interested to be on a USC team on February 25.

Once you are registered, we will send whatever extra information will be necessary/useful.


Have fun!
Extend your resume!
Show how smart you are!
Impress your friends!
Win gift cards and other prizes!
Represent USC at the International Collegiate Programming Contest!

Do you like to solve problems like the following ones?

  • To pay your friends a dollar, you can give them, for example, four quarters, or five dimes and ten nickels. Write a program that calculates how many different combinations of coins there are that make up a given amount of money (say, 20 dollars) from pennies, nickels, dimes and quarters.
  • You are given the description of a lake as a polygon, as well as your own position in a boat somewhere on the lake. When you throw a rock in the water, the waves travel away from the impact point at a speed of 1 meter per second. Write a program to calculate the earliest time at which a wave will hit the shore.
  • You are given the names of n people who are to be divided into k alphabetical segments, for instance, to stand in line for registration at USC. An "alphabetical segment" consists of all people whose last name starts with a letter between two given endpoints (for example, D-H). Write a program that finds a division into k alphabetical segments such that each person is in exactly one segment, and the number of people in the largest segment is minimized.

Participate in the USC Programming Contest!

The contest is open to all undergraduate and graduate USC students, regardless of major, as long as they were born in (current year - 23) or later.

We use the USC Programming Contests to pick students that we train for the ICPC Regional Programming Contest. If you like all details of the USC Programming Contests and would like to keep updated about the contests, you can subscribe to the USC contest mailing list.

The USC Programming Contests are organized by David Kempe and the USC ACM student chapter. Please e-mail for more information.

Overview Details Rules

Sponsors in Spring 2019
Electronic Arts
Northrop Grumman
Marconi Foundation