A Puzzle About Socks

Here’s a puzzle to help practice your computational thinking skills. Don’t forget to take it slowly and think through your answer carefully before committing. A sock drawer contains ten pairs of black socks and ten pairs of white socks. If you are only allowed to take one sock from the drawer at a time and […]

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

So You Want to Teach Computer Science?

Computer Science is an exciting and important subject where the demand for competent teachers outweighs the supply. This makes it an appealing option for many considering choosing it as a subject for initial teacher training or as a new subject within an existing teaching career. In this article we will look at some points to […]

Better Typing for GCSE and A Level Computer Science

How good is your typing? This thing with typing is, if you type badly, you will get a lot of practice at typing badly, whereas if you learn to type properly, you will practice typing well every time you do it. The difficulty comes in making the transition from being a bad typist to a […]

Python Nested FOR Loops for GCSE and A Level Computer Science

Why do I Need Nested Loops? Nested loops are a very important concept in Python programming and GCSE and A Level Computer Science, 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 […]

Binary, Decimal and Hexadecimal Converter

Very often in GCSE and A Level Computer Science you are going to want to convert between different number bases such as binary, decimal and hexadecimal. Of course, you need to know how to do this manually, but it’s also very helpful sometimes to use a calculator – either to check your work or when […]

2-Dimensional Arrays in Python for GCSE and A Level Computer Science

2-dimensional arrays are extremely important data structures in programming, and you need to understand them for GCSE and A Level Computer Science. They can be very confusing to begin with, and you should make sure you are confident and competent with 1-dimensional arrays before learning about them. For the purposes of GCSE and A-Level Computer […]

Educ8ors Podcast with Compucademy

educ8all is an online marketplace providing online video courses, downloadable materials and live sessions with a tutor for GCSE and A Level exams. I recently appeared on a podcast hosted by Vishal Bhogaita, founder of educ8all, to discuss my latest video course which is for sale on his site, along with some of my educational […]

Binary Search Algorithm for GCSE and A Level Computer Science

Binary search is an algorithm which is fundamental to both GCSE and A Level Computer Science 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. […]

Node Class for a Linked List with Object Oriented Python

When you come to study Data Structures such as Stacks, Queues, Linked Lists and Binary Trees for A Level Computer Science, you will often make use of Object Oriented Programming. That is a bit of a double whammy if you are not yet very confident with OOP, and it can seem a bit overwhelming. I’ve […]