Walden Yan out-coded hundreds of opponents and took home a gold medal in the 32nd International Olympiad in Informatics, one of the world’s most prestigious student computer science competitions.
Yan, a first-year student at Harvard University, placed 19th out of nearly 400 competitors representing more than 100 nations. The two-day competition, which was held remotely this year, challenged students to solve three computer science problems per day, with a five-hour time limit.
“At the end of the first day I was right on the border. I was tied with two other people for 28th place, and that is last spot where you get a gold medal. So on day two, a lot was on the line,” he said. “It ended up being pretty close. It is super-gratifying that all my work paid off and I accomplished what I wanted to accomplish."
The problems covered a wide range of topics, Yan said. For instance, one graph theory problem required students to create a network with a specific number of unique paths between each pair of nodes.
Due to its remote format, the competition required students to connect to virtual machines set up in Singapore, which blocked all other inputs on their computers. Cameras recorded students during their five-hour sessions each day and they were required to have a local proctor watching their work. Chris Tanner, Lecturer in Computational Science, served as proctor for Yan.
Solving complex problems while keeping an eye on the clock was challenging, Yan said, and he relied on the hours he’d spent training to tackle the convoluted questions.
“If I had to estimate, I probably spent over 1,000 hours practicing. Between working through online databases of old problems, practicing different techniques, and learning about new algorithms, it is a very big time dedication,” he said. “You can’t stop programming for a few months, because by the time you come back to it, you’ll be rusty. It is almost like a real sport in a sense that you have to keep training.”
Training helped Yan recognize patterns. Just reading through the introduction to a problem would set off light bulbs in his head, and by the time he reached the end of the description, he’d already realized which algorithms to use, he said.
But there were surprises. One problem had a very odd, circular set up, and the description was so strange that Yan had trouble wrapping his mind around it. Problems like that require out-of-the-box thinking, which can only be honed through experience, he said.
“One of the things about programming is the fact that you can create so many complex, unique things just with your keyboard and your screen,” he said. “Competitive programming throws you a bunch of interesting problems to think about. You get to try your hand at so many different things, so it is a very creative, rewarding process.”
Yan, who taught himself to program using YouTube videos, is looking forward to diving deeper into computer science at the John A. Paulson School of Engineering and Applied Sciences. He’s especially excited to learn more about machine learning and website design.
He’s planning to take a break from competitive programming so he can dig into his studies over the next few years and find a career path that speaks to him.
“Competitive programming has given me a lot of software development abilities, and I want to put those to the best use that I possibly can,” he said.
Cutting-edge science delivered direct to your inbox.
Join the Harvard SEAS mailing list.
Adam Zewe | 617-496-5878 | firstname.lastname@example.org