With the Christmas vacation coming up and the gap between that celebration and the New year, for many of us techies the question turns to what can I do in my spare time? Perhaps a little side project? Or maybe learning a new skill?
16-12-2024
Well, there are many sites offering to help you fill your time; from learning to program, to data science-oriented ones, to festive-oriented coding challenges. Let's have a look at a few of them with a focus on the Python programming language.
What is the Point of an Advent or Festive Programming Challenge?
The real point of these challenges or exercises is to have fun! In many cases as a side effect to learn new skills or enhance existing skills. Many people start them and in the case of something like the Advent Of Code; they may or may not finish them as life in the real world can be busy; particularly in the run up to Christmas. However, no one should feel that by not finishing one of these challenges they have failed; on the contrary just by starting them you are a winner; yes, the more you do the more benefit you may gain; but as I said at the start the point of these challenges is ‘fun’ not ‘hard graft’!
Where to Look?
In this blog we will take a look at a few different festive themes programming challenge sites including:
Christmas Coding Challenges from Mission Encodeable
The Christmas Coding Challenges from Mission Encodeable is a free, festive themed, set of nine Python coding challenges. They are intended to be fun as well as educational with each coding challenge having a breakdown of the steps required to complete the program, some hits to help if you get stuck, a starter to get you going with some outline plan and some variables / constants, a description of what each element of your program needs to do and a set of inputs and outputs that you can use to test your program. Examples of challenges might include an Elf Name Generator, a Festive version of Hangman etc.
It is aimed at those either just getting started with programming or those wanting to learn Python from scratch (or both). The challenges are broken down into different levels, Levels 1 to 3 cover inputs, outputs, program structuring, control structures and while loops. Levels 4 to 6 expand on these concepts and cover mathematical operations, lists and for loops etc.
For example, the Christmas Tree Creator presents a challenge to create a Christmas tree using asterisks. The program asks the user to enter the height of the Christmas Tree and the program then generates the appropriate display. For example, the following is an example of the output generated for a tree of height 3:
Advent of Code
The Advent Of Code
is possibly one of the best known of the Festive challenges; indeed I was attending my local communities Christmas get together and was talking to a new neighbour and discovered he was a programmer and he mentioned he was working on this years ‘Advent of Code’ challenge – yes here’s looking at you Matt.
The Advent of Code started back in 2015 and was, as you might have suspected, inspired by the traditional Advent Calendar. It was created by Eric Wastl such that for each day of advent (December 1st to 24th) there would be a programming puzzle to be addressed. Again this is a free resource and you can log in with a GitHub, Google, Twitter or Reddit id to identify yourself for the leaderboard aspect of the challenge.
The programming puzzles are for a variety of skill levels and can be solved in any programming language including python, Java, C, Rust etc. Although you do not need vast experience in programming to do the challenges; they are at a level above the Christmas Coding Challenges from Mission Encodeable.
Typically, each puzzle has a festive theme and a description explaining the puzzle. For example, the first programming challenge this year (Day 1) is called Historian Hysteria. It starts saying “The Chief Historian is always present for the big Christmas sleigh launch, but nobody has seen him in months!”. Al the remaining challenges involve aspects of trying to find the missing historian. In the first challenges, you are given two lists of integers (representing location IDs of historically significant Christmas locations that the historian may have visited). Your task is to work out how far apart each pair of numbers are (so the integer in position 1 or list 1 with the integer in position1 of list 2). This is then developed with additional requirements “Pair up the smallest number in the left list with the smallest number in the right list, then the second-smallest left number with the second-smallest right number, and so on.”
To help you with each puzzle there are a set of examples given that can illustrate ways of solving the problem; although note these are examples not model answers as often there is more than one way to solve a puzzle.
If you wish you can make this more competitive by competing on the global leader board. This is a leader board of those who are quickest at solving the puzzle and can fill up within minutes or may take up to an hour depending upon the complexity in the puzzle. However, for most people being on the leader board is not the primary aim of the exercise.
12 Data Science Projects for 12 Days of Christmas
The 12 Data Science Projects for 12 Days of Christmas is a member only facilities operated by Medium. It is focussed on Data Science related technologies but with a festive spin on each project. Each one is intended to be doable within a day so while you are off for those 12 days of Christmas you can make the most of your time.
Easy Christmas Coding Ideas for Developers
The Easy Christmas Coding Ideas for Developersweb site
from 2023 but is still relevant as a set of 10 festive themed coding challenges. The challenges include a Christmas countdown timer, a Santa’s Gift List App, an Animated Snowfall Effects generator and an Advent Calendar. All these examples are focussed on JavaScript, HTML, CSS etc; but the basic ideas could be applied to any programming language with appropriate facilities including Python, Kotlin, C etc.
Festive Python Jupyter Coding Activities
The collection of festive coding activities using Jupyter notebooks from James Slack is a GitHub repository of Python coding activities. The point to note here is the=at James utilises Jupyter notebooks, which is an environment used by very many Python programmers particularly in the data science world.
The Christmas activities cover playing a midi file of Jingle Bells, creating a Christmas tree from common keyboard characters and writing Merry Christmas on top of an existing image.
YouTube
I don’t normally mention YouTube in these blogs; however if you go to YouTube and type in something like ‘Christmas coding challenge’ or ‘Christmas python programming challenge’ you will find a whole host of videos on programming challenges. If you leave the ‘Python’ element out of your search you will find even more.
Summary
So there is no excuse for saying you are bored; or when is this going to end and I can get back to work! There are lots of opportunities out there for you to get down and write some code; learn a new language or try out some new skills! You can even claim to the rest of the family / friends that this is something worthwhile and better than watching ‘home Alone’ for the 30th time!
We maintain a robust range of hands-on training courses covering Coding, Data Science, DevOps, Security and more - available for on-site and online delivery as part of a full-stack training programme or as short standalone workshops. We would love to discuss your learning needs - get in touch for a no-obligation scoping chat.
We use cookies on our website to provide you with the best user experience. If you're happy with this please continue to use the site as normal. For more information please see our Privacy Policy.