Skip to Content, Navigation, or Footer.
Logo of The Middlebury Campus
Thursday, Apr 18, 2024

Computer Science Competitors Get With the Program

Author: Charlie Goulding

Who would have thought dividing four by two would be such a challenge? Last weekend, Middlebury College sent a team of competitors to a worldwide computing competition held by the Association of Computing Machinery at the Massachusetts Institute of Technology.

The team qualified for the regional competition after performing impressively at a preliminary tournament two weeks earlier. Though the team failed to qualify for the world competition - held this year in Prague - the competitors gave a strong showing and left feeling proud of their collective accomplishment.

The competition consisted of six to eight problems of varying difficulty to be completed correctly within a five-hour time frame. The school completing the most problems within those five hours won the tournament. In the event that multiple teams finished the same number of problems, a winner was identified based on the time required to complete each question.

Graeme Connell '05, one of Middlebury's three competitors, said, "The problem solving we had to do focused on the coding aspect more so than the theory."

For each problem, the team had to submit both a general explanation of the idea of the problem and also provide lines of text that could serve as the code by which the problem could be solved.

The type of problem presented in the competition may have been something as "simple" as writing a code that takes two numbers, divides them and then spits out the result.

Of course, any human could divide four by two quickly. The challenge for the computer scientist is to find a way to abstract the general essence of a problem from a particular example. As problems become more complex, abstractions keep things simple. In only a few lines of code, an elegant program can extend the computational power of a programmer well beyond his own means.

Without abstraction, a programmer would need to identify all "unique" or "hard" cases and address them individually. Depending on the size of the program, this could be a laborious, time-consuming task. With abstraction, however, even the extreme nuances of a problem are subsumed within the purview of the code, thus simplifying the task at hand and drastically reducing the burden on the programmer.

In the example above, dividing four by two is easy to program, but what about four by zero? This is where the real thinking and competition begins.

The challenges in the competition speak to the often misunderstood nature of computer science.

"The big misunderstanding about computer science is that it has anything to do with computers," said Connell. "If you were to look it up in the dictionary, it would say something like, 'the study of algorithms for purposes of problem solving.' We look at how problems work - computers help us to solve them faster."

The parameters that define and constrain computer science dramatically differ from those encasing other disciplines. Math defines certain abstract ideas, like what it means to be a circle, and develops theories and equations to flesh out the idea - to animate it. Art forms, like literature and paintings, take "truth" as their yardstick, presenting representations of the world to us as they are "in reality" or as they "ought" to be.

On the other hand, while computer science employs abstraction, it is not itself guided and shaped by abstract goals. It aims to solve problems quickly, to find simple solutions that save both human time and machine memory.

This is not to undercut the intellectual achievement of the discipline. Indeed, the revolutions in computation and data storage catalyzed by computer science have had monumental effects around the globe in the past half-century. Moreover, the discipline is far from finished. As Connell pointed out, "Computer science is still a relatively new subject and there's still a lot of growth left in it."

Yunpeng Li '05 was proud of his team's performance. "I was quite glad we made it [past the preliminaries], and into the regionals. We finished in the middle of the pack, with five schools finishing ahead of us and four or five finishing behind us, but we finished at the top of the small colleges."

MIT, the host of the competition, won the tournament. As computer science continues to grow, the success of Li, Connell and Carrick Detweiler '04 reflects impressive personal accomplishments as well as Middlebury's collective dedication to this burgeoning discipline.




Comments