ACM ( www.acm.org ) is widely recognized as the premier organization for computing professionals, delivering resources that advance the computing and IT disciplines, enable professional development, and promote policies and research that benefit society. ACM hosts the computing industry's leading Digital Library and Guide to Computing Literature, and serves its 80,000 global members and the computing profession with journals and magazines, conferences, workshops, electronic forums, and its Career Resource Center and Professional Development Center .
About the Contest
The ACM (Association for Computing Machinery) International Collegiate Programming Contest (ICPC) traces its roots to a competition held at Texas A&M in 1970 hosted by the Alpha Chapter of the UPE Computer Science Honor Society. The idea quickly gained popularity within the United States and Canada as an innovative initiative to assist in the development of top students in the emerging field of computer science.
The contest evolved into a multi-tier competition with the first Finals held at the ACM Computer Science Conference in 1977. Headquartered at Baylor University since the 1980s, the contest has expanded into a global network of universities hosting regional competitions that advance teams to the World Finals.
Since IBM became a sponsor in 1997, the contest has increased by a factor of five. In fact, inclusive of the European preliminary teams, the contest has increased in just eight years by a factor of six! Participation has grown to involve several tens of thousands of the finest students and faculty in computing disciplines at over 1,582 universities from 71 countries on six continents.
The contest fosters creativity, teamwork, and innovation in building new software programs, and enables students to test their ability to perform under pressure. Quite simply, it is the oldest, largest, and most prestigious programming contest in the world.
Battle of the Brains
The contest pits teams of three university students against eight or more complex, real-world problems, with a grueling five-hour deadline. Huddled around a single computer, competitors race against the clock in a battle of logic, strategy and mental endurance.
Teammates collaborate to rank the difficulty of the problems, deduce the requirements, design test beds, and build software systems that solve the problems under the intense scrutiny of expert judges. For a well-versed computer science student, some of the problems require precision only. Others require a knowledge and understanding of advanced algorithms. Still others are simply too hard to solve - except, of course, for the world's brightest problem-solvers.
Judging is relentlessly strict. The students are given a problem statement - not a requirements document. They are given an example of test data, but they do not have access to the judges' test data and acceptance criteria. Each incorrect solution submitted is assessed a time penalty. You don't want to waste your customer's time when you are dealing with the supreme court of computing. The team that solves most problems in the fewest attempts in the least cumulative time is declared the winner.