A cadre of talented programmers from Eastern Mennonite University (EMU) have advanced to the North America Division Championships of the International Collegiate Programming Contest, which will be held later this month. Cameron Byer, Caleb Hostetler, and Hannah Leaman came in 15th out of 85 teams competing in the mid-Atlantic regional contest on March 6, thus securing their spot among the 16 best teams that will advance.
This isn’t the first success for EMU in national and international competitions. Byer and Leaman teamed up with Ben Stutzman ‘20 to take top honors in the Kryptos codebreaking competition in 2020 and with Daniel Harder to take second in 2019. Byer was a member of the team that won the entire contest in 2018.
Professor Daniel Showalter said that while EMU always does well in the ICPC regional-level competition (and this year, fielded two other teams in the competition), this is the first time the university has had a team move on.
The regional contest consisted of 14 challenges in which each team had to write a program that would produce a particular answer within a time limit.
“These solutions must be correct, but also time efficient – typically restricted to only a few seconds – since different solutions for the same problem may take vastly different times to run,” explained Leaman, a junior math and education major.
Hostetler, a sophomore computer engineering major, walked EMU News through a simple example – simple to programmers, that is.
“Here’s a list of numbers: 4, 15, 22, 2, 0, 16, 9. What’s the biggest number you can get by multiplying two of them together? There are multiple ways you could do this,” Hostetler said. You could multiply out every possible pair of numbers and find out which product is greatest, but that would take a long time.
“A computer can do this really quickly, but if your list has 1,000 numbers then it would have to do 1,000,000 multiplications, which might take too long! Because the programs have to be efficient, this might not be fast enough for the competition,” he said.
Instead, Hostetler explained, you could read through the list, identify the two largest numbers, and just multiply those together – which is much faster. But, of course, programmers have to instruct the computer to do that.
“Teams that do well in competition are those that can quickly determine what the fastest way to do something is, and then quickly write the code that does that,” he said.
Due to a scheduling conflict, Leaman won’t be able to attend the North America Division contest. First-year computer science major Noah Swartzentruber will be taking her place.
“I am feeling excited, but do not quite know what to expect,” Swartzentruber said. “I hope that despite having fairly minimal experience formally coding in college, my previous, informal experience can deliver an alternative perspective.”
Even the team’s name, O(e^mu), is in code. Once again, we’ll just let Hostetler explain:
“Programmers use something called ‘Big-O notation’ to talk about how efficient some code is. O(1) is super fast, O(n) is slower, O(n^2) is slower still, and O(e^n) is slowest of them all. We changed it to O(e^mu) to match our school name. I’m not sure why we picked one of the slowest ones to represent our team, but it has served us pretty well so far, so we might as well keep it!”