Skip To Main Content
Three men in matching maroon shirts sitting at a computer.
Mark Sturtevant, Vidith Madhu, and Siqi Guo at the 2024 International Collegiate Programming Contest (ICPC) North America Championship (NAC). | Image: Courtesy of Dr. John Keyser.

Imagine receiving a packet of difficult coding problems that must be quickly solved with a computer you share with two other people. This scenario is what Mark Sturtevant, Vidith Madhu, and Siqi Guo have trained for. 

Sturtevant, Madhu, and Guo, graduate students in the Department of Computer Science and Engineering, form the programming team FINALB0SS. They competed in the International Collegiate Programming Contest (ICPC) North America Championship (NAC) on May 27 at the University of Central Florida after advancing from a regional competition. FINALB0SS finished the North America Championship in 34th place out of 50 teams.

When asked how it felt to qualify for the international contest, Madhu said, “It feels awesome. I've been participating in ICPC for almost 4 years, and one of my main goals since starting out was to be able to attend a major on-site competition such as the NAC,” Madhu said. “I'm really happy I got to achieve that.” 

Fifty teams from Canada and the U.S. participated in the North America Championship. Teams arrived several days ahead of the competition for a programming camp for additional practice. According to the team’s coach, Dr. John Keyser, professor of computer science and engineering, the programming camp helps ensure that teams advancing to the world competition have had some more “in-depth” training.

Sometimes you can have really great individual programmers, but if they can't work together as a team, they don't do very well. So, they have to know who has which strengths, and which person can solve which type of problem the best, and then be able to work together.

Dr. John Keyser

The programming contest itself lasts five hours. Teams of three share a computer and are given a packet of about 12 or 13 problems. Keyser says a team’s first goal is to identify the easiest problem and try to solve it within the first 15 minutes. While one person uses the computer, the other team members start trying to work on the next problems in the packet. As the problems become more difficult, all three team members tackle problems together. 

Working this way makes the team dynamic important. 

“Sometimes you can have really great individual programmers, but if they can't work together as a team, they don't do very well,” Keyser said. “So, they have to know who has which strengths, and which person can solve which type of problem the best, and then be able to work together.” 

According to Keyser, Madhu and Sturtevant have been working together for years. He suggested they add Guo to their team after Guo’s excellent performance in a programming contest on Texas A&M University’s campus last fall. Keyser said the team handles much of their own preparation for the competition, completing a practice five-hour contest every two weeks in the months leading up to the NAC. As their coach, Keyser ensures the team has enough materials to work on and provides encouragement. 

“I'm not really nervous,” Madhu said ahead of the competition. “Regardless of how we do, I'm glad to be able to have this experience,” Madhu said. “I'm excited about getting to compete alongside and possibly meet some very talented competitive programmers.”