Skip to main content

Advent of Code - Daily Coding Practice

· 3 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

It's this time of the year again: it's getting cold and dark outside, the days are getting shorter, Chris Rea is driving home, Santa is coming coming to town and all Mariah Carey wants for Christmas is you. As business requests hopefully slow down, and we enter code freeze, it's a good time to reflect on the past year and spend some time on sharpening our brains and KDB/Q coding skills. And what could possibly be better for that than tackling the daily coding challenges presented by Advent of Code?

Advent of Code is a daily coding challenge presented in the form of an advent calendar, running from December 1st to Christmas Day, December 25th. Initially created in 2015 by Eric Wastl, it has become widely popular among programmers across various programming languages.

The challenges are in form of small programming puzzles designed for diverse skill sets and levels that can be solved in any programming language you like. Participants use these puzzles for interview preparation, company training, university coursework, practice problems, engaging in speed contests, or challenging one another. You also don't need a computer science background in order to participate; a basic understanding of programming and some problem-solving skills are sufficient to make progress. Moreover, a high-end computer is not a requirement; each problem is designed to have a solution that runs within 15 seconds on ten-year-old hardware.

Each day at midnight EST, a new problem is revealed, comprising two small problems that increase in difficulty as you advance through December. Solving each part of the problem correctly earns you one star. For those of you who love a competition, there are leaderboards, where earning the first star is worth 100 points, the second is 99, and so forth, down to 1 point for 100th place.

While KDB/Q may not always be the optimal programming language for solving all puzzles, it serves as an excellent platform to sharpen your KDB/Q skills and cultivate creative problem-solving abilities. It provides an opportunity to tackle challenges that might not be encountered in your daily work routine. If you ever get stuck in one of the problems or don't feel experienced enough, don't lose hope. There are plenty of developers who share their solutions on LinkedIn or KX Community and you can learn a lot by looking at their solutions.

Get your keyboards ready, Advent of Code starts tomorrow! Join the fun here

Happy Coding!