## 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...

## 2-Dimensional Lists in Python

2-dimensional lists are an extremely important data structure in Python programming, with many applications. They can be very confusing to begin with, and you should make sure you are confident and competent...

## Python append() and extend() List Methods

In this article we are going to take a look at two important Python list methods – append() and extend(). Both are very useful, but each serves a different purpose. Python List...

## 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...

## 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...

## 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...

## Eight Queens Puzzle in Python

The Eight Queens Puzzle is a classic problem whose goal is to place 8 queens on an 8x8 chessboard in such a way that none of the queens share a row, column...

## Python Nested FOR Loops

Why do I Need Nested Loops in Python? Nested loops are a very important concept in Python programming and Computer Science, are used in many algorithms. For example sorting algorithms such as...

## Binary Search Algorithm in Python

The Binary Search Algorithm is fundamental in Computer Science. It is a very clever algorithm which reduces the time needed to search for items in large datasets dramatically compared to less efficient...

## 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...