It’s been a few weeks since my last post, with my apologies for the delay. I have been working on other projects, and we’ve had U.S. Thanksgiving as well which took some time. Of course, the passing of Thanksgiving means we are currently in the Holiday Seasontm, which can only mean one thing: the Advent of Code!
If you’re unfamiliar with this, the Advent of Code is a yearly programming puzzle contest dreamed up by Eric Wastl. Beginning on December 1 and ending on Christmas Day, participants solve two daily programming puzzles in whatever way they can. People solve the puzzles in numerous ways:
- Traditional programming languages like Python, Java, JavaScript, and Go
- Functional languages like Lisp or Haskell
- Experimental languages like Rockstar or Brainfuck (I’ve seen the first one this year)
- Throwbacks like BASIC on an Apple //c+
- One year, I even solved a problem using an Excel spreadsheet
The point is, you don’t need to be a programmer, just someone who likes solving puzzles. Each puzzle you solve awards you a star. Collect all fifty stars, and you are rewarded with a cool graphic on the home page.
The puzzles are all related to an overarching story usually involving secular Christmas themes of the delivery of presents and elves at the North Pole. Each days’ puzzles are also related to each other, with the second usually being a more complex variant of the first. The puzzles get more difficult to solve as the contest progresses, although the term “difficult” is different for each participant.
For folks who are motivated by competition, there is an overall leaderboard you can test yourself against. Individual participants setup their own individual leaderboards as well. I’m a member of two leaderboards (my own and a former student’s), and I’m happy to say I’m not in last place on either of them! Of course, I’m not in first place either…
This is my third year participating in the Advent of Code, but my first year blogging about it and posting my solutions as I create them. As I get out from other work, I plan to go back to finish the previous years’ contests, which are still open and available.
Give me a shout if you are participating, and make sure you use #adventofcode when tweeting or posting about it. This is a great event and great site for folks looking to do some creative problem solving. And look for discussions of specific puzzles from this and previous years in the coming weeks!