The Monty Hall problem is a counter-intuitive brain teaser based on probabilities. This puzzle is named after Monty Hall, the TV presenter of “Let’s Make a Deal”, an American TV show (known as “Deal or No Deal” in the UK)…
In this challenge, we are going to write al algorithm to convert a decimal (aka Denary) number between 0 and 255 into binary using 1 Byte (=8 bits). Before attempting this challenge you may practise your denary to binary conversion:…
A computer system consists of both hardware (the physical components of the computer) and software: the programs that run on this hardware. There are three main categories of software: Operating Systems: software that controls the computer hardware: The operating system…
Before completing this task, you will need to familiarise yourself with the following 2 algorithms used to find the shortest path between two nodes of a weighted graph: Dijkstra’s Short Path Algorithm A* Algorithm Dijkstra’s Short Path Algorithm For each…
The TCP/IP Stack is a model that governs how data is transmitted from one computer to another via an IP network such as the Internet. Internet communication includes using a web browser to access a webpage from a websever, sending…
The following algorithm is inspired by a poem by Brian Bilston called “snow poem”. On this poem, each word represents a snowflake gently and randomly falling from the sky. On the last verse of this poem, you can see how…
To be a good carpenter, you need to be able to identify and select the right tools to complete your project. For instance, the main wood working tools used by carpenters are: Chisel, Hand Saw, Hammer, Screwdriver, Hand Plane, Caliper,…
In this Python programming challenge, we are going to recreate the game “Laser Maze”. The aim is to redirect a laser beam across a given stage in order to reach the exit gate of the stage. The laser can only…
For this Python programming challenge, you are going to create a Battle game where two knights will fight each other till death! Your game will use a text-based user interface (using ASCII art to represent the knights) and will produce…
In this Python challenge, we are going to create two functions to generate the name of a Knight and their coat of arms. Name Generator Let’s first generate the name of our knight. To do so we will code a…