Clack clack clack. Fingers dance across the keyboard. The clock silently ticks down. Compile the code—no errors. Input the sample test case—the numbers are correct. Four, three minutes on the clock. Go to the contest site. Choose file—click. Submit solution—click. Waiting for available grading server. Grading in progress. Running on test 1—passed. Test 4, test 12, test 22—all passed! Bobby Costin (12) breathes a big sigh of relief. In the last U.S. Computational Olympiad (USACO) competition of the 2021-22 season, Bobby’s last minute solve kept his dreams of reaching the International Olympiad in Informatics alive.
Bobby’s interest in programming first flourished when he moved to the United States from Romania in fifth grade. Like many other children, Bobby first fell in love with video games. However, as he moved from elementary to middle school, he took his interest one step further and started using Processing.js to program games that became more and more complex. Ultimately, Bobby chose to pursue programming because of its beauty and flexibility.
“Programming provides you a lot of freedom,” Bobby said. “You can use programming skills to make whatever you want. One of the things I really liked doing with code is solving minor inconveniences with obscene amounts of programming, which was really fun.”
In seventh grade, Bobby began his journey into competitive programming, which tests coders’ ability to quickly write efficient solutions to solve hypothetical problems. American competitors take the USACO and advance through the Bronze, Silver, Gold, and Platinum divisions. The best competitors in the regular season fight for the four prestigious spots as Team USA members at IOI in the Training Camp in May. Bobby began taking classes, and he soon passed both Bronze and Silver in seventh and eighth grade. In ninth grade, Bobby joined Harker, where he formed deep friendships with some of his classmates who shared his love for programming and gave him even more motivation to continue coding.
“At my old school, the best person aside from me was in Bronze, so I had no one to talk to about CS.” Bobby said. “But at Harker, I found a lot of people who are very interested in the same stuff I was.”
Over the pandemic, Bobby and his community of friends continued improving together and all advanced to the Platinum division. Outside of USACO, this community frequently participated individually in contests on popular programming site Codeforces. After competitions, they shared ideas for the difficult problems and learned from each other. The group also participated in local team competitions like the Stanford ProCo and the Harker Programming Invitational together, deepening their friendship and winning some prizes along the way.
“Everyone was pushed to do better, and they did end up improving a lot,” Bobby said. “And that’s also probably what made us continue. The community kept us going.”
Although Bobby learned so much from doing competitive programming with this community, he also contributed greatly to helping his friends improve. Close friend Thomas Liu (12), another member of this competitive programming circle, agrees that forming the group motivated him even further.
“I’ve always thought Bobby was really smart,” Thomas said. “Throughout high school, we were probably on a similar level, and having that motivated me to improve. You want to get better and not be left behind.”
In tenth grade, Bobby’s work paid off, as he was selected as one of the top 20 performers during the regular USACO season to attend the training camp. At camp, he met people even more skilled than his Harker friends.
“They’re just too strong, and I really respect them,” Bobby said. “They definitely put in a lot of work and got what they wanted from the effort that they put in.”
Outside of competitive programming, Bobby has also begun to explore other areas of computer science. In tenth grade, he worked as the lead programmer for a team that competes in the VEX Robotics Competition. Unlike competitive programming, where only a few solutions are objectively correct, Bobby’s programming for robotics allows for more creativity in accomplishing his tasks.
“Robotics allowed me to have a lot of time to experiment with things,” Bobby said. “The way I started getting into machine learning was making a little model that transformed some camera inputs into a position in the field, basically.”
Overall, Bobby believes that his skills have helped prepare him for a career in problem solving.
“Competitive programming is not super applicable in the real world, but you get so many problem solving skills that programming in general becomes so much easier,” Bobby said. “I don’t think it’s necessarily the algorithms themselves that are very useful. You can learn how to use a segment tree, but there are only niche cases where you might need to use a segment tree in real life. But the idea of thinking about a problem in a different way and learning how to manage large data structures and get your head around them is very useful for just learning how to work with code.”