During the power outage of parents' weekend, while many Tufts students scrambled to find flashlights, the students in the Tufts chapter of the Association for Computing Machinery (ACM) had other concerns. Tufts was supposed to host the Regional portion of the annual ACM Intercollegiate computer programming contest on Oct. 18, but due to the blackout, there were no working computers.
This was only the third year that Tufts participated in the ACM contest; the university had hosted the contests previously, but had only recently begun to send teams to compete. Dr. Judith Stafford, a senior lecturer in the computer science department, got the Tufts ACM chapter involved in the contest three years ago.
"I thought it would be an interesting thing to introduce at Tufts, so I contacted the person who hosts the Boston preliminary and offered Tufts as a site, and then I encouraged computer science students to join," Stafford said. "The contest really contributes to creating a sense of community; that was my impetus for getting involved in the first place. Programming can be a solitary activity for some people, and I thought it would be nice to give the students a way to work together."
The competition begins at a regional level, with Tufts' local competition including students from MIT and Harvard, where the event was hosted this year due to the power outage. Students work in teams of three, and are given five hours to solve seven real-world programming problems. Tufts sent two teams this year, with a total of six people. Senior Melissa Romanus, the president of the Tufts ACM chapter, described the process.
"It is a timed competition, meaning your score is based upon how many problems you solve, and how quickly you solve them," Romanus said in an e-mail to the Daily. "Students sit at a UNIX terminal and code in either Java, C++, C, or LISP. They then submit their code to an ‘electronic judge' which runs test input (created by the human judges) and generates a score of ‘correct, incorrect output, timed out, etc.' based on the results of the electronic judging. This is then verified by a human judge."
Qualifying teams move on to the New England regional competition, and 100 three-person teams are accepted into the World Finals which will be held on February 5, 2010, in Harbin, China.
According to the official competition factsheet, the first Finals competition was held at the 1977 ACM computer science conference, and has since expanded into a global network of universities hosting regional competitions that advance teams to the ACM-ICPC World Finals. Teams come from regions all over the world — from Moscow, Russia to Waterloo, Canada. The competition has been dubbed by some the "Battle of the Brains," as it recruits some of the finest young computer-oriented minds in the world.
Tufts students prepare for the competition far in advance, training their minds to overcome the programming obstacles they will face. Senior Jessie Berlin, the president of the programming team, is in charge of preparations.
"At the beginning of the year I have professors tell computer science students about the competition and we assemble a team," Berlin said. "Then we hold weekly practices where we get together to look at practice problems or problems from other years. It's fun to play around with the problems and try to figure them out."
The Tufts team faced several challenges this year, including Stafford's inability to attend the competition, several students finding out last-minute that they were not available to compete and, finally, the power outage. In the end, however, the "battle of the brains" did go on. Tufts did not place into the New England level this year, but team members saw the competition as an overall success.
"Students measure their success not just by winning, but by the number of problems they solve," Stafford said. "It's not unusual for teams to be unable to solve any problem. They feel good if they get one or two; really good if they get three or four, which is very rare. But they also measure their success from how much they enjoy the activity. They have fun doing the problems, and also learn a lot because they're practicing programming quite a bit."
Ultimately, Berlin said, the hope is to build a community of Tufts students interested in computer science. Berlin is also involved in the Association for Computing Machinery Committee on Women (ACMCW), a group for women in computer science, and hopes the sense of camaraderie among ACMCW members will be echoed in ACM.
"[ACMCW has] held interview and networking events in the past, and [holds] an event to preview courses," Berlin said. "It provides a place where there are people you can go to with questions, and where we can broadcast opportunities for women in computer science."
One of the main issues the ACM programming team faces is simply getting people involved. Stafford hopes that by sending teams from Tufts to such a prestigious global competition, more Tufts students will be excited about opportunities presented in the world of computer science. Doug Heintzman, a director of strategy for IBM Software Group, which co-sponsors the competition, noted in a press release that such contests are crucial to cultivating some of the world's best problems solvers.
"The world faces many daunting problems such as pandemic diseases, climate change, water pollution, food safety, finite energy resources, as well as issues with urban management and mass transportation," Heintzman said in the press release. "We believe we have a responsibility to help develop the next generation of technology leaders, help them to understand and tackle these complex business issues."