Ohio University students return to International Collegiate Programming Contest
On Feb. 25, 2023, Ohio University sent four teams of three students to compete in the International Collegiate Programming Contest (ICPC), the oldest and most prestigious algorithmic programming contest in the world. Of the 92 teams in the region, the top placing OHIO team earned 35th place.
The ICPC is a collegiate competition that tests students’ ability to apply what they learn in the classroom to real world problems. Since computer science and programming are fields that are constantly evolving and improving, the competition’s challenges — 12 logic or math problems — tests each student’s ability to write concise code under pressure. This environment not only emulates the quick pace of the industry, but it also prepares OHIO students to program at the highest level with competitors from all over the world.
“[At ICPC, students] actually get to see how good they really are compared to their peers. There's nothing stopping a team from Ohio University from coming in first, and if we don’t, that will drive some students to do better,” said Chad Mourning, assistant professor in the Department of Electrical Engineering and Computer Science.
For many computer science students at OHIO, the ICPC has been a rite of passage. In fact, Mourning competed when he was a student with peers Scott Nykl, Hiep Dinh, Slave Jovanovski, Katie Moore and Jim Wylie, who went on to lead careers at Google, at tech startups and in higher education. Additionally, David Juedes, associate dean for academics at the Russ College of Engineering and Technology, competed in the ICPC when he was an undergraduate and advanced to compete in the World Finals.
This year, the OHIO team that placed 35th included Jansen Craft, Josh Marusek and Tin Vuong. These students collaborated to solve 12 math problems under a strict time limit, which required them to not only write efficient code, but also collaborate efficiently.
“Coming up with a fast enough algorithm is a creative process that is not always straightforward, so I had to adapt to the unique demands of the competition,” said Marusek.
Given the time limit, the team split up the problems and each tackled problems that played to their strengths. For any remaining problems, they put their minds together to find a solution.
“The practical benefit of ICPC asks students, ‘do you know how to apply the skills you've learned to solve a problem,’ and that's at the core of engineering. There's no partial credit at ICPC — you either solve the problem correctly, or you don't,” said Mourning.
“We decided to use C++ to write all our solutions because it can run faster than if we wrote our code in another language, like Python. Before college, I had little experience writing complex C++ code and using tools like VS Code, g++, and gdb. The two introductory CS courses at Ohio University taught me how to navigate the advanced features of C++. My data structures course helped me practice using several of the algorithms and optimizations we needed for ICPC, and my software tools course helped me develop stronger knowledge of the tools so I could test and fix code more quickly,” said Marusek.
While none of the OHIO teams earned a place in the World Finals, they were able to compete against high achieving students from top schools from around the United States and prove to themselves that they were skilled competitors. With aspirations to go into computer science fields, like software engineering and cybersecurity, OHIO students continue to engage in experiences that give them hands-on experience to prepare for their future careers.