Free coding resources

Python learning library

Original step-by-step challenges for KS3, GCSE and A-level students. Each pack includes a starter exercise and a separate reference solution. Attempt the challenge before opening the solution.

New GCSE course: Nine guided Python programming lessons with original challenges and tested downloads →

KS3 / GCSE

Input and selection

Build a program that validates an age and decides whether a person qualifies for a junior ticket.

Download project ZIP ↓

Includes starter code, separate solution, README.

KS3 / GCSE

Iteration and random numbers

Write a number guessing game that provides higher/lower hints and counts attempts.

Download project ZIP ↓

Includes starter code, separate solution, README.

GCSE

Lists and subroutines

Use functions to find the total, minimum, maximum and mean of a list without using built-in min, max or sum.

Download project ZIP ↓

Includes starter code, separate solution, README.

GCSE / A-level

Binary search

Implement binary search as a subroutine; return the index or -1, without using the in operator or index().

Download project ZIP ↓

Includes starter code, separate solution, README.

GCSE / A-level

Bubble sort

Sort a list into ascending order using your own bubble sort without sorted() or sort().

Download project ZIP ↓

Includes starter code, separate solution, README.

GCSE / A-level

CSV data analysis

Read a local CSV dataset and calculate mean scores and highest score using csv and basic loops.

Download project ZIP ↓

Includes starter code, separate solution, README and sample CSV.

A-level

Object-oriented stacks

Create a Stack class with push, pop, peek and size, handling an empty stack cleanly.

Download project ZIP ↓

Includes starter code, separate solution, README.

A-level

SQLite book tracker

Build a small SQLite database to store book titles and completion flags using parameterised SQL.

Download project ZIP ↓

Includes starter code, separate solution, README.

A-level Python programming

Move beyond GCSE into object-oriented design, recursive algorithms, data structures, databases and project development.

Explore A-level Python: 9 guided lessons →

New: Interactive Python code tracing and debugging

Step through worked code examples and try original GCSE and A-level output and debugging quizzes.

Open Python Practice →