Skip to main content


Welcome to the Scala Center's take on Advent of Code.

In the words of its author:

Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other. You don't need a computer science background to participate - just a little programming knowledge and some problem solving skills will get you pretty far. Nor do you need a fancy computer; every problem has a solution that completes in at most 15 seconds on ten-year-old hardware.

At the Scala Center, we would like to use Advent of Code as an opportunity to challenge ourselves and learn from each other how best to use Scala.

During the week days of Advent of Code, we will solve some of the proposed puzzles, and we encourage you to do the same on your side. On the following day, we will publish our solution on this website, along with a tutorial of some language features that we use, or some strategy that we use, to solve that puzzle. We will strive to only use the Scala standard library to solve the puzzles, so that no specific knowledge of external libraries is necessary to follow along.


In addition, if you have your own solution for a puzzle and would like to share it, you can add a link to a gist in the solution page of the puzzles.

If you would like to discuss the puzzles with other developers, or discuss our solutions on the following day, drop by the the Scala Discord server, in the #advent-of-code channel. There you can also find a pinned message with the invite code for a private leaderboard including those from the Scala community for some friendly competition.

Do you want to get your hands dirty and solve the Advent of Code puzzles in Scala? Read ahead to the Setup page!