Advent of code

Counting Down the Days in Code

Computer Science Professor Robert Xiao is not getting chocolate surprises daily as he plays in the ‘Advent of Code’ programming contest, running from December 1 – 24. But he certainly will be feeling all the glory if he holds on to his current top 5 placement.

Advent of Code is an annual worldwide contest based on the Advent Calendar, that has been running since 2015, drawing hundreds of thousands of participants. Two-part problems are posted nightly in December at exactly 9 p.m. (PST), and ending Christmas Eve. The first 100 contestants to finish the problems each night, earn points that are listed on the site’s leaderboard. Those who submit correct answers to part 1 get a star. If they solve both parts, they’ll get two stars. The goal is to get 50 stars by Christmas day.

Competition is fierce: the top 100 usually bang out the solutions in mere minutes, with the fastest solvers typically being very experienced programmers or software engineers.

Professor Xiao leads a team of UBC students called ‘Maple Bacon,’ who participate in contests like this, of which about a dozen members have entered Advent of Code. Some have also been, or are, on the leaderboard, nipping at their fearless leader’s heels.

Professor Robert Xiao, UBC Computer Science

“I’ve been enjoying the competition so far,” says Robert. “I’ve participated for five years now, so it’s become quite the annual ritual for me. I’m very grateful to the Advent of Code team, and especially the creator, Eric Wastl, for putting together this event every year.”

Greg d'Eon
Greg D'Eon, UBC computer science grad student

Another participant from computer science at UBC is grad student Greg d’Eon. “A friend introduced me to this contest at the start of the month. Some of the problems have been pretty brain-bending, but I've managed to get into the top 100 on a few problems,” says Greg. “It's a blast and I've learned a lot of tricks by reading some of the top solutions.” Greg is also appreciating the friendly competition with Maple Bacon members, commiserating together about their bugs, and watching Robert Xiao’s live recordings of his problem-solving in the contest.

Advent of Code is truly a facilitator of building and growing a community of programmers, where faculty and staff can actively flex their minds and programming skills within the same forum. As the final days bring the contest to a close, UBC computer science participants are likely to find much comfort and joy in their accomplishments.

More about Advent of Code

The programming puzzles can be solved in any programming language desired. Participants do not require a computer science background to participate, just some programming knowledge and problem-solving skills. Two problems are posted per night, with the first one being required to be solved in order to ‘unlock’ access to the second, more difficult problem. Every problem has a solution that completes in less than 15 seconds on ten-year old hardware. Advent of Code is sponsored by companies like GitHub, American Express, Spotify and dozens more.