When asked why he enjoys computer programming, one student replied, “Because it’s fascinating.” Another said, “Programming is straight forward. If there is an error, it must be my fault as computers don’t make mistakes.”
Apparently University of Virginia engineering students don’t make many mistakes either. A team from the University of Virginia School of Engineering and Applied Science bested 190 competitors from more than 60 regional colleges and universities to win the mid-Atlantic regional competition of the International Collegiate Programming Contest, held Nov. 2 at Radford University.
“Team Foo” – the U.Va. team names are something of an inside joke, based on computer terminology called “metasyntactic variable names,” used to quickly name functions, variables, etc. – consisted of fourth-year computer science majors Shuaihao “Kevin” Zhang and Jinyan Liu and third-year computer engineering major Leiqing Cai. They will now advance to the world finals, to be held in June in Yekaterinburg, Russia.
The contest, operated under the auspices of the Association of Computing Machinery, is one of the largest and most prestigious computing competitions in the world of computer science. Each year, programming teams of three students compete in regional contests, held in the fall. The top 100 teams from around the world advance to the world finals the following spring. More than 10,000 teams, representing more than 30,000 students, will participate throughout the world.
In the U.S., there were 11 regional contests this year. The mid-Atlantic region includes Virginia, North Carolina, West Virginia, Delaware, Maryland, the District of Columbia and eastern Pennsylvania. While only the top team is guaranteed to advance to the world finals, typically two or three teams from the mid-Atlantic region will advance.
This year, U.Va. sponsored 12 teams and 36 students. With their coach, Aaron Bloomfield, an associate professor of computer science, they traveled to Radford, where the team’s competition included Virginia Tech, Duke University and the University of Maryland. Each team was given eight problems and five hours to solve as many of the problems as possible.
“The problems range in difficulty, but all require a depth of knowledge and all are judged against strict requirements by a well-versed panel of experts,” said Bloomfield, who advises the local chapter of the Association of Computing Machinery. “Through this form of competition, students are offered the chance to increase their abilities as problem-solvers and members of a team, as well as the opportunity to meet and interact with students from other universities.”
One problem challenged teams to determine the best move in a game similar to blackjack. Another challenged teams to determine how many pieces would result from cutting a circle multiple times. When a team felt it had a correct solution, they could submit it. The contest judges then decided whether it was correct. If not, the team had to figure out what was wrong.
Enthusiasm for the contest ran high with U.Va. team members. Zhang noted that he didn’t enter the competition expecting his team to win. “I viewed the competition as an opportunity to play with codes. One of the best parts of the experience was working with the other team members, trusting each other to come up with the right solutions. It was fantastic and I had a great time,” he said.
Teams were scored primarily on how many questions they answered correctly, and secondarily on how quickly they answered the questions.
Two U.Va. teams solved six questions correctly. Team Foo solved them faster for a better overall ranking. Seven of U.Va.’s 12 teams placed among the top 20 teams, and four placed in the top 10.
This is the fifth time in six years that a U.Va. team has advanced to the world finals of the competition. U.Va. teams previously competed in 2009 in Stockholm, Sweden; 2010 in Harbin, China; 2011 in Orlando, Fla.; and 2013 in St. Petersburg, Russia.
The full listing of U.Va.’s teams, all of whom finished in the top half of the regional field:
- Team Foo (first place): Shuaihao Zhang, Leiqing Cai, Jinyan Liu
- Team Baz fourth place): Matthew Pearson-Beck, James Sun, Arjun Shankar
- Team Grunt (eighth place): Adam Campbell, Anat Gilboa, Zeming Lin
- Team Bletch (10th place): Lenny Li, Dru Knox, Kang Guo
- Team Bar (13th place): Jasdev Singh, Nishant Shukla, Puneet Lall
- Team Thud (19th place): Lingfeng Cao, Zihao Wang, Wen-Ting Zhu
- Team Fum (20th place): Bethany Connor, Casey Huang, Kevin Whelan
- Team Zot (60th place): Natnatee Dokmai, Anish Tondwalkar, Alexander Lamana
- Team Snork (61st place): Dylan Ferrer, Alex Thomas, Harang Ju
- Team Flarp (65th place): Christian Martinez, Man Wang, Hanke Meng
- Team Qux (66th place): Samuel Prestwood, Kevin Chen, Ashley Morse
- Team Blarg (71st place): Rolph Recto, Scott Newton, Connor Cormier