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 5000 teams from 84 nations competed at the regional levels. Eighty of these are going the international finals (held in San Antonio in April).

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 or four 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. No other team from North America has won the international finals since our 1997 team.

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.