Advent of Code

Saturday 19 December 2015

Combining traditional Christmas advent calendars with online programming exercises: Advent of Code is a nicely made collection of programming problems.

One of the things I like about these problems is there are always two parts, and you don't see the second part of the problem until you have solved the first part. This usually leads to refactorings or repurposing of your code, which is a valuable exercise in and of itself.

For many of the problems, there are interesting follow-on questions. One common one would be, "Write the code that generates the sample inputs to be sure there's a single answer." For some of the problems, any random input would do, but for some, there's a constraint that has to be met.

I have a collection of approachable problems at Kindling projects. If Advent of Code will stay up after Christmas, I'll definitely add it to that page.

Today's is the first where a simple brute force approach isn't going to work, and I'll need a cleverer algorithm... Hmmm...

Comments

[gravatar]
Kevin Jackson-Mead 11:41 AM on 20 Dec 2015

The creator has said that the plan is to leave it up: https://www.reddit.com/r/adventofcode/comments/3v64sb/aoc_is_fragile_please_be_gentle/cxx7z79

And elsewhere in the thread, people mention some things that might also be appropriate for your Kindling projects page: https://www.reddit.com/r/adventofcode/comments/3v64sb/aoc_is_fragile_please_be_gentle/cxmxyuf

[gravatar]
Andy Todd 11:42 PM on 21 Dec 2015

Thanks Ned for the pointer to advent code. I'm now going through the problems with my son as his school holiday project.

[gravatar]
Ned Batchelder 11:52 AM on 3 Jan 2016

I've added Advent of Code (and a few others from the Reddit thread) to the Kindling Projects page.

[gravatar]
cameron price 4:47 PM on 15 Jan 2016

If you liked Advent Of Code, you should check out challenge.synacor.com by the same guy. Maybe a bit too big for your kindling projects, but really really satisfying.

Add a comment:

name
email
Ignore this:
not displayed and no spam.
Leave this empty:
www
not searched.
 
Name and either email or www are required.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.