Three UNC undergraduate computer science students, Dayton Ellwanger, Forrest Li and David Spencer, will return from Thailand this week after representing UNC-Chapel Hill in the World Finals of the ACM ICPC (Association for Computing Machinery International Collegiate Programming Contest), which is known as the “oldest, largest and most prestigious programming contest in the world” and features teams from more than 2,000 universities in more than 90 countries.
The students’ flight to Thailand departed on May 15, but the journey to the 2016 World Finals really began on November 7, 2015 in Sitterson Hall in UNC’s Department of Computer Science.
While many of their fellow students watched the UNC football team beat rivals Duke in Kenan Stadium on an overcast Homecoming day, Ellwanger, Li and Spencer were a half-mile away on UNC’s campus competing against 184 teams in the Mid-Atlantic regional of ACM ICPC.
Under contest rules, each team was given a packet of word problems and five hours to create computer programs that could solve them. The team that solved the most problems would be the site winner, and the top three teams in the region would qualify for the World Finals. In the event of a tie between two or more competitors, the winner would be the team that took the least total time to submit the correct solutions.
Ellwanger, Li and Spencer made up one of ten Carolina teams in the competition. They named their team “Dayton Goliath Trees” – a play on their first names. The odds of a UNC team making it to the finals were not good. It had only happened twice before, in 2002 and 2010, and the teams were competing against universities that have a much more rigorous approach to the competition.
“At some schools, they run ‘try-outs’ and form a small number of teams with their strongest programmers,” said Dr. Ketan Mayer-Patel, the UNC coach. “Other schools do much more active coaching year-round. At UNC, we only hold practices in the fall before the regionals, and we don’t restrict who can come or how teams are formed. We try to accommodate everyone who shows up, and we’ll register as many teams as we have space and money for. We let students form teams on their own, and we emphasize the fun without worrying about the results.”
Despite the odds, Dayton Goliath Trees solved the five problems in 643 minutes, came in first place for the site and finished fourth overall in the Mid-Atlantic Region. They edged out the fifth- and sixth-placed teams from N.C. State and Duke by 40 minutes and 103 minutes, respectively.
Typically, a fourth-place win would mean the team was not qualified to move on in the competition, but the contest rules state that no university can send more than one team. Two teams from the University of Virginia finished in the top three spots, but only one was permitted to qualify.
So, on May 15, Dayton Goliath Trees departed with Mayer-Patel for Phuket, Thailand, where they represented the University of North Carolina at Chapel Hill in the World Finals.
The team arrived as major underdogs. The ACM ICPC World Finals feature the highest level of competition, as contestants from universities in more than 40 countries compete. The ACM ICPC has not been won by an American team since 1997, and, according to Mayer-Patel, half of the teams at the World Finals are unable to solve even one problem.
In the end Dayton Goliath Trees didn’t bring home the win. A Russian team won for the fifth year in a row. Dayton Goliath Trees placed 108th out of the 128 teams competing. But they did beat the odds, by solving two of 13 problems in 195 minutes. And they beat the University of Virginia, which came in 119th.
“They’ve demonstrated the ability to code with the best of them,” Mayer-Patel said. “Dayton, Forrest and David have done the contest for at least two or three years now, getting better each year. I think that says a lot about their dedication to wanting to succeed. We’re proud of them.”