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 and end position of the intervals containing each character. This algorithm is closely related to run-length encoding, which is a form of data compression. Here’s the function stub along with a […]

Classic Snake Game with Python Turtle Graphics

Python Turtle Graphics is awesome! It can be used to learn and teach Python programming and Computer Science from elementary to advanced level. There is a post on this blog about the Turtle Graphics demos which come with IDLE (the development environment that ships with Python) – check them out to get an idea of […]

Python Turtle Graphics – Drawing with Stamps

Python Turtle Graphics stamps are awesome. They are not that well known, and learner python programmers often do things in a more complicated way than they need to as a result. Take this classic learner-programmer exercise: Make a chessboard pattern using Python Turtle Graphics. You might want to try the challenge for yourself before continuing […]

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 A Level. It is a distinction which might sound trivial or obvious, but many years of teaching have shown me that getting ultra-clear […]

Python Sets and a River Crossing Puzzle

Have you heard of the puzzle about the farmer, the wolf, the goat and the cabbage? You can play it here (click the “run” button to start): There are many different ways to implement the logic, but here I chose to use Python Sets. My goal here is to teach about Python programming. If you […]

A Bit of Fun with Python

Every now and then I look at a syllabus or textbook for GCSE Computer Science and it strikes me how much more interesting the content could be. Fun with Python for Computer Science GCSE I mean, look what’s possible with some fairly basic Python code. Python International Space Station Tracker How about this international space […]

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. However, we have a language which meets 3 of these criteria already – Python!! As for the fourth, Python syntax is so clear […]

Learning Bubble Sort for Computer Science GCSE and A Level

They say a picture is worth a thousand words, and that is probably true, IF you are ready to understand the picture! When this is the case, we often experience those wonderful aha moments where understanding happens almost instantaneously, as if someone has switched on a light in our mind. However, there is usually a […]