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 […]

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 […]

Eight Queens Puzzle in Python

Click me to play The Eight Queens Puzzle is a classic problem whose goal is to place 8 queens on an 8×8 chessboard in such a way that none of the queens share a row, column or diagonal. The version discussed here allows exploration of not just an 8×8 but an arbitrary size nxn board, […]

Generating Random Graphs in Python

Random Graphs in Python for A Level Computer Science and Beyond The jupyter notebook below shows an implementation of an algorithm for generating a random undirected, unweighted graph. The algorithm uses the Erdős–Rényi model, but you don’t need to know about that to understand how it works – the pseudo code makes is quite clear, […]

Python Nested FOR Loops for Computer Science GCSE and A Level

Why do I Need Nested Loops? Nested loops are a very important concept in Python programming and Computer Science GCSE and A Level, and are used in many algorithms. For example sorting algorithms such as Bubble Sort and Selection Sort rely on them, as does iterating through a 2D list. Sometimes while loops are used […]

Is Overfitting Killing Your Creativity?

Have you ever had brainfreeze when trying to fit what you were doing into a framework that wasn’t suitable? Maybe it was a particular format for some lesson objectives, or a form you had to fill in which didn’t provide space for what you wanted to say. Or even an automated telephone menu that didn’t […]

Ultimate Guide to Free Python Resources for Beginners

Learning to program with Python is both fun and challenging. For some, it could mark the beginning of a life-long journey of discovery and creation. In many professions a knowledge of Python will give you a distinct advantage. We have covered some of the advantages of studying Computer Science in a previous article. Many of […]

Flowcharts for GCSE Computer Science

Representing algorithms for GCSE Computer Science There are several ways to represent algorithms for GCSE Computer Science: Structured English Flowchart Pseudocode Program statements in a particular language In this article we are looking at flowcharts for GCSE Computer Science. For our example, we will create an algorithm which determines whether a given whole number is […]

Binary Search Algorithm for Computer Science GCSE and A Level

Binary search is an algorithm which is fundamental to both Computer Science GCSE and A Level for all boards. It is a very clever algorithm which reduces the time needed to search for items in large datasets dramatically. It is important to note that in order to use binary search, your data must be sorted. […]