Free A-level Python course · OCR & AQA

Python for A-level Computer Science

Progress from GCSE Python into recursion, OOP, abstract data types, linked lists, algorithms, trees, SQLite and a database-backed project.

Our own teaching materials develop programming skills relevant to OCR H446 and AQA 7517; these are not official questions and the exact specifications differ.

Learning progress: 0 of 9 lessons completed in this browser.
Lesson 01 · A-level programming

Recursion and call stacks

Write a recursive factorial function with a base case.

OCR H446 algorithms / AQA 7517 recursion

Not marked complete

Open lesson →
Lesson 02 · A-level programming

Object-oriented programming

Create a BankAccount class with encapsulated balance and deposit/withdraw methods.

OCR H446 programming / AQA 7517 OOP

Not marked complete

Open lesson →
Lesson 03 · A-level programming

Stacks and LIFO

Implement push, pop and peek using a list, including underflow handling.

OCR H446 data structures / AQA 7517 data structures

Not marked complete

Open lesson →
Lesson 04 · A-level programming

Queues and FIFO

Implement a queue using collections.deque with enqueue and dequeue operations.

OCR H446 data structures / AQA 7517 data structures

Not marked complete

Open lesson →
Lesson 05 · A-level programming

Linked lists and pointers

Build a singly linked list and traverse nodes to collect their values.

OCR H446 data structures / AQA 7517 data structures

Not marked complete

Open lesson →
Lesson 06 · A-level programming

Merge sort and complexity

Use divide and conquer to implement merge sort without calling sorted() or list.sort().

OCR H446 algorithms / AQA 7517 algorithms

Not marked complete

Open lesson →
Lesson 07 · A-level programming

Binary search trees

Insert and search for integer values in a binary search tree.

OCR H446 data structures / AQA 7517 trees

Not marked complete

Open lesson →
Lesson 08 · A-level programming

SQLite relational databases

Create a table, insert records using parameterised SQL and query sorted results.

OCR H446 databases / AQA 7517 databases

Not marked complete

Open lesson →
Lesson 09 · A-level programming

A-level project: task manager

Design and implement a modular, database-backed command-line task manager with testing.

OCR H446 programming project skills / AQA 7517 NEA-style skills

Not marked complete

Open lesson →

View all Python pathways →

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 →