Free GCSE Python course · OCR & AQA

Python for GCSE Computer Science

Build on Python Foundations with searching, sorting, validation, files, testing and an independent programming project. Nine original guided lessons with runnable code and separate solutions.

Aligned broadly to the programming skills in OCR J277 and AQA 8525. Always use your current specification for exact assessment requirements.

Learning progress: 0 of 9 lessons completed in this browser.
Python students preparing for exams: Learn to translate OCR and AQA pseudocode into Python with examples and practice questions.
Lesson 01 · GCSE programming

Input validation and robust programs

Validate a whole-number age between 11 and 18.

OCR J277 2.2 / AQA 8525 programming

Not marked complete

Open lesson →
Lesson 02 · GCSE programming

Linear search and Boolean flags

Find a target in an unsorted list without using in or index().

OCR J277 2.1 / AQA 8525 algorithms

Not marked complete

Open lesson →
Lesson 03 · GCSE programming

Binary search and invariants

Search a sorted list using low, high and mid pointers.

OCR J277 2.1 / AQA 8525 algorithms

Not marked complete

Open lesson →
Lesson 04 · GCSE programming

Bubble sort and trace tables

Swap adjacent out-of-order items and record the result of each pass.

OCR J277 2.1 / AQA 8525 algorithms

Not marked complete

Open lesson →
Lesson 05 · GCSE programming

Two-dimensional lists and nested loops

Calculate row totals and the largest score in a grid.

OCR J277 2.2 / AQA 8525 programming

Not marked complete

Open lesson →
Lesson 06 · GCSE programming

Functions, parameters and returns

Use reusable functions to calculate average and assign a category.

OCR J277 2.2 / AQA 8525 programming

Not marked complete

Open lesson →
Lesson 07 · GCSE programming

Text files and exception handling

Write results to a file, then read and total the values safely.

OCR J277 2.2 / AQA 8525 programming

Not marked complete

Open lesson →
Lesson 08 · GCSE programming

Test plans, trace tables and debugging

Design normal, boundary and invalid tests for a function.

OCR J277 2.3 / AQA 8525 testing

Not marked complete

Open lesson →
Lesson 09 · GCSE programming

GCSE mini-project: quiz and scoreboard

Combine selection, lists, functions, validation and testing into one quiz.

OCR J277 programming / AQA 8525 programming

Not marked complete

Open lesson →

View all Python pathways →

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 →