## Python Strategy Game – Take the Last Stone

Here’s a fun game. Play it first with a friend if you can. Start with a number between 10 and 20. Take it in turns to subtract either one or two from...

## Python Coding Challenge – Sum of Squares

Here’ a fun Python challenge involving just a bit of mathematical know-how: Write a function that takes an argument n and prints a pair of natural numbers x, y such that x²...

## The Babylonian Square Root Algorithm in Python

Developing your algorithmic thinking skills is a great idea whatever your programming goals are. As well as making you a much better programmer, you will also need to develop theses skills if...

## Recursion in Python Programming

In this article we discuss recursion in Python programming. Recursion is a fundamental concept in Computer Science, and regardless of what your development goals are, it is good to have an understanding...

## Time Complexity in Python Programming

This is an article about time complexity in Python programming. In it we explore what is meant by time complexity and show how the same program can be dramatically more or less...

## Python Memoization

Improving the efficiency of Python Programs Using Memoization Some of you may be familiar with the Fibonacci sequence, which is famous in both mathematics and computer programming. The sequence is formed by...

## Python Programming Challenge – Intervals of Consecutive Characters

Python Programming Challenge – Intervals of Consecutive Characters Here’s a fun Python programming challenge: Write a function which takes a string as input and returns a list of tuples containing the start...

## Classic Snake Game with Python

This article will show you how to code the classic Snake Game with Python. Stop press! I now have an in depth video course on building the Classic Snake Game available on...

## A Key Distinction for Better Understanding of Computer Science GCSE and A Level

Do you mean the thing or the container for the thing? In this article I want to discuss a key distinction which crops up again and again throughout Computer Science GCSE and...

## We Need to Talk About Pseudocode

Pseudocode for Computer Science GCSE and A Level Pseudocode for Computer Science GCSE and A Level is supposed to provide a way of describing algorithms which is simple, clear, unambiguous and language-agnostic....