Bennies and Johnnies compete in computer science problem-solving
April 19, 2023
By Kevin Allenspach
Every Tuesday, Cameron Hahnfeldt has practice after class – just like a lot of other Bennies and Johnnies who, depending on the season, might be sharpening their skills in volleyball, football, basketball, softball or baseball. Except Hahnfeldt and her teammates gather on the second floor of the Main Building and the paces they put themselves through are more mentally straining than physical.
They are the members of the competitive computer science teams at the College of Saint Benedict and Saint John’s University. And they take what they do just as seriously as those working out in Claire Lynch Hall or at the Warner Palaestra.
“We work together as a team,” said Hahnfeldt, a junior from St. Paul, who is double majoring in computer science and math. “It’s not like each individual does their own thing. I think you could compare it to sports.”
She joined the group – in which students have either a 1- or 0-credit class on their schedule during the fall semester to prepare for spring competitions – during her sophomore year and found an immediate sense of accomplishment and success. She was part of a three-member team that finished third in a competition at the 2022 Midwest Instruction and Computing Symposium at the Milwaukee School of Engineering. And another group of Bennies and Johnnies placed 22nd of 96 teams that participated in the International Collegiate Programming Contest (ICPC) North Central North American regional, competing against large institutions like the University of Wisconsin, the University of Minnesota, Iowa State University, the University of South Dakota, North Dakota State University, the University of Nebraska and many smaller colleges and universities from the midwestern United States and Canada. The ICPC is affiliated with the Association for Computing Machinery, the world's largest educational and scientific computing society, and is part of larger conferences at which the students also can network with some of the top minds in their field.
“I had some friends who were on the team and I wanted to try as well,” Hahnfeldt said. “It’s actually kind of a relaxed environment because you’re working on things with people who have the same interests as you. I think it’s fun to be there whether you’re good at it or not … There are a lot of teams from bigger schools who practice more than we do and might have more rigorous preparation. We take it seriously, but not so seriously that we don’t have fun with it.”
Choose your language, keep it simple and make it fast
Typically, teams include three people who use a single computer or workstation. The participants can’t use any other electronic devices, including calculators and smartphones. While they can refer to paper documents, they can’t use CDs, DVDs, USB flash drives or any other form of digital media.
They are given a series of problems for which they must find a solution using a programming language like C and C++, Java and Python. They are tracked for the length of time it takes to find an answer and penalized 20 minutes for a submitted solution – called a “run” – that does not work. This incentivizes students to think carefully about their solutions before submitting, yet still work as quickly as possible.
“You’re given specific inputs and outputs and your goal is to write a program that will solve the problem for you,” said Grace Potter, a junior from Champlin, who also is majoring in computer science and joined the team this academic year. “You also want to do it in the most efficient way possible. You can choose your language and write it however you want. Even beginning computer science students can write simple programs that might be able to solve the problems, it’s just that they would probably take longer than the ones who do it in the optimal way.”
Suffice it to say many people wouldn’t find the problems “simple” in any way. But it depends on your interest. Potter came to CSB because she liked its low ratio of students to instructors – about 20 to 1 in classes and 15 to 1 in labs. She originally thought of becoming an actuary but fell in love with computer science along the way. She’s also pursuing minors in math and data analytics. She uses skills from each of those on the computer science team. One problem she solved required writing an application to determine the correct length of barbells based on how much they weighed.
“The more classes you take, the more experience you get with different kinds of coding, and you find there are different ways to solve the same problem,” Potter said. “And they’re real-world problems that could happen. It’s nice to work on those because I think a lot of times in school, regardless of what you’re studying, there’s a difference between learning a concept and applying it.”
CSB and SJU compete with schools big and small throughout region
For the first time, Saint Ben’s played host to a portion of the most recent ICPC regional on Feb. 25. One team of Bennies and Johnnies solved two problems in just 54 minutes and attempted three other solutions. There were 10 problems possible, and a team from Wisconsin won the contest with eight solutions totaling 769 minutes. Only six teams solved more than five problems. A second team from CSB and SJU solved two problems in 255 minutes and attempted two other solutions.
It wasn’t quite as exhilarating as last year when Team CSB and SJU A finished 22nd of 96 by solving five of a possible 13 problems – the same as the top team from North Dakota State and the second teams from Iowa State and the Milwaukee School of Engineering, among others. Those five solutions required a total of 748 minutes, and the team attempted to answer two other problems. A second team from CSB and SJU finished 65th, solving three problems in 377 minutes and attempting four other solutions.
“We had a tougher time this year, but we’re competing against much larger schools that have more resources and bigger computer science programs,” said Peter Ohmann ’10, an assistant professor of computer science at CSB and SJU and a vocal recruiter and coach for the program. “But they can’t provide the same type of experience we can, where the relationships between faculty and students are closer and less formal, and in many cases those larger programs aren’t going to be a part of a liberal arts education. For students who want to come to Saint Ben’s and Saint John’s and are interested in computer science, these competitive teams can be a recruiting tool for us. We compete against the best and in some cases punch above our weight.”
Ohmann said the computer science teams have made better problem solvers out of the students who participate above and beyond the curriculum for the major.
“It’s not like you have to do this,” said Ohmann, who obtained his master’s and doctorate from Wisconsin before returning to CSB and SJU in 2018. “The students who just do their coursework are still going to be very prepared when they leave Saint Ben’s and Saint John’s. But when you’re around other people who understand all these disciplines, it’s going to give you a broader base of knowledge. In some ways, we treat a competition like a party. We’re together a good share of the day and we bring in pizza. You pick things up faster when it’s an enjoyable atmosphere.”
Contest experience can be a springboard to professional career
Potter said her experience on the computer science team helped her prepare to interview for summer internships. She said they often have a technical portion that is similar to what the contests feel like.
“Companies want to see if you know what you’re talking about and, even if you can’t solve all the problems you’re presented with, they want to see your way of thinking – how you go about attacking a problem,” she said. “Since I’ve been in programming contests, my coding and debugging skills have gotten a lot better. I’ve become a teacher’s assistant and, since I’ve been on the team, I now find I can often look at code and see something where I can say, ‘That’s the issue, right there.’ It’s beneficial because, in the real world if I want to be a coder, I don’t want to have to spend an hour trying to figure out what went wrong. If I can speed that up, I’m going to be a more valuable resource.”
She seems to be on the right track. This summer, she’ll be working for 3M. Her long-term goal is to work in artificial intelligence, with a company like Meta.
As for Hahnfeldt, this summer she will be doing research on campus for the math department, studying minimal bases for symmetric groups, with plans to produce a thesis on how to write a computer program that will help detect those minimal bases.
But for as much as she’s looking forward to that, she’s perhaps just as excited for one more year of competitive computer science. Just like any team, CSB and SJU will lose some key seniors at graduation. But there’s always the hope some strong sophomores will emerge and that there will be a promising incoming group of first-year students. She hopes they’ll consider coming out for the team.
“Some people might feel scared to give it a try, but I feel like this is how you gain experience,” Hahnfeldt said. “Even if you’re not good at coding, you’re probably going to be on a team with someone who is. It’s beneficial to work together and see how things are done and you may learn something you didn’t know.”
The CSB and SJU computer science team of Wenchy Dutreuil, Cameron Hahnfeldt and K'Gia Turnquest placed third in the Midwest Instruction and Computing Symposium last year at the Milwaukee School of Engineering. Dutreuil and Turnquest are seniors and Hahnfeldt is a junior and all have continued to participate with the competitive team this year.
A team from CSB and SJU placed 22nd of 96 teams at last year’s International Collegiate Programming Contest regional. The participants included (from left) Keiley Maahs, Connor Boyer and Peyton Maahs. Keiley Maahs is currently a junior. Boyer and Peyton Maahs graduated in 2022.