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

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

## Graphs in Python for A Level Computer Science

Part 1 – Networkx Basics networkx is a powerful python package that allows you to easily work with graphs in Python. Combining it with the matplotlib.pyplot package even makes it simple to draw graphs. This is very useful when learning or teaching about graphs for A Level Computer Science. # Auto formatting – completely optional, […]

## GCSE Computer Science Programming Practice – Pascal’s Triangle

Whether you are going to start your GCSE Computer Science course next term or are already halfway through, it’s always a good time to do some coding practice. Here’s a fun intermediate level challenge for all you coding enthusiasts out there. Coding Pascal’s Triangle with Python Pascal’s Triangle is a fascinating mathematical structure which contains […]

## Python Turtle Graphics Demos

If you are using the standard installation of Python from python.org which comes with the IDLE editor, there are some exciting demonstrations of the power of the turtle module available at the click of a mouse. The turtle module is hugely useful for learning about and teaching programming, and also great fun. It provides a […]