## Poem Decoding Challenge

To celebrate the start of the Winter, we have asked our Artificial Intelligence “AI-101” to generate a poem about the cold winter weather. The AI has generated the following poem which consists of a list of numbers! We believe the

## The Moroccan Spices Box Set Puzzle

In the heart of the medina of Marrakech, you will find one of the largest and most colourful souks in Morocco. In this souk, you will find merchants selling traditional clothing, multicoloured carpets, pottery, jewellery, antiques, lanterns, spices, etc. On

## Recursive vs. Iterative Algorithm – Q&A

Question 1[2 marks] For this question, we are looking at an algorithm used to implement the divisibility rule for 3 which states that: A number is divisible by 3 if the sum of all its digits is divisible by 3.

## The Climbing Stairs Puzzle

Imagine a staircase with n steps. As you are climbing up this staircase, you either climb one or two steps at a time. The aim of this computing puzzle is to find out, using an algorithm, in how many distinct

## Divisibility Rules

For this challenge we will investigate a range of algorithms used to apply some of the most common divisibility rules. We will first focus on the divisibility rule of 3 to introduce the concept of recursion. A divisibility rule is

## Recursive vs. Iterative Palindrome Check

For this challenge we will investigate two algorithms used to find out if a word is a palindrome or not. The first algorithm will use an iterative approach, the second algorithm will use a recursive approach. Iterative Approach An iterative

## The Social Network

Six Degrees of Separation The Six degrees of separation is an idea that was originally set out by Frigyes Karinthy in 1929 and that can be applied to Social Networks such as Facebook. It is based on the idea that

## Backtracking Maze – Path Finder

The purpose of this Python challenge is to demonstrate the use of a backtracking algorithm to find the exit path of Maze. Backtracking Algorithm A backtracking algorithm is a recursive algorithm that attempts to solve a given problem by testing

## Backtracking Algorithm – Sudoku Solver

The purpose of this Python challenge is to demonstrate the use of a backtracking algorithm to solve a Sudoku puzzle. Did You Know? The objective of a Sudoku puzzle is to fill a 9×9 grid with digits so that each

## Backtracking Algorithm – Magic Square Solver

The purpose of this Python challenge is to demonstrate the use of a backtracking algorithm to solve a Magic Square puzzle. Did You Know? A 3×3 magic square is an arrangement of the numbers from 1 to 9 in a