Harvey Mudd College
ACM Programming Contest Introduction


What is the ACM programming contest?

The Association for Computing Machinery (ACM) sponsors a yearly programming contest, recently with the sponsorship of IBM. The contest is both well-known and highly regarded: last year over 3000 teams competed from more than 100 nations competed at the regional levels. About sixty of these went on to the international finals (held in Banff, Alberta in 2008).

The regional contest itself is typically held in November, with the finals in March. Teams of three students use C, C++, or Java to solve six to eight problems within five hours. One machine is provided to each team, leaving one or two team members free to work out an approach. Often, deciding which problems to attack first is the most important skill in the contest. The problems test the identification of underlying algorithms as much as programming savvy and speed.

How is Harvey Mudd involved?

Harvey Mudd has regularly sent three teams to the Southern California regional competition. Harvey Mudd has done quite well at the regional level, with its top team

Each year that one of Mudd's teams has placed first, it has gone on to represent the college at the international finals. In 1997, Harvey Mudd's team of Brian Carnes, Brian Johnson, Kevin Watkins, and Dominic Mazzoni (coached by Prof. Keller) won the international finals -- in fact, Harvey Mudd is the only undergraduate institution ever to have won the contest, joining universities such as MIT, Caltech, Harvard, Waterloo, the University of St. Petersburg, and the like.

How do I get involved?

Anyone at Mudd from any major is welcome to represent the school at the regional contest. Because we are limited to sending three teams, however, we hold a preliminary contest in late October. The top three teams then go on to the regionals.

The most common way to get involved in the ACM contest is to take the one-credit Programming Practicum course offered by the Computer Science Department. The course, nicknamed ACM, meets Tuesdays from 4:15 to 5:30 in Beckman B105 and Beckman 126. Each meeting consists of a short discussion of some programming or algorithmic topic. The balance of the class is used to work on designing and coding solutions to ACM-type problems. While the class does use the ACM as motivation for its topics and problems, it is open to anyone who would like additional practice programming.

Resources

Here are a number of links about the contest you may find useful.