
Computer Science Revision
Algorithms, data structures, theory of computation, and computer systems.
A-Level Computer Science revision covers a lot of ground, and these lessons are mapped to the AQA 7517 specification so you can revise exactly what Paper 1 and Paper 2 test. The course ranges from programming, data structures and algorithms to Boolean algebra, processor architecture, networking, databases and the theory of computation, alongside the consequences of computing.
Each lesson takes one demanding topic, such as the Dijkstra shortest-path algorithm, hash tables or the fetch-execute cycle, and explains it in clear steps with worked examples. Generate a quiz or flashcards from any lesson to drill recall, and ask the built-in tutor to walk through a tricky algorithm or trace through code with you when a concept will not stick.
Lessons
Fundamentals of programming
37 min
LessonProgramming Fundamentals
4.1.1 Data types; arithmetic, relational and Boolean operations; string handling; random numbers; exception handling
3 months ago
6 min
LessonSubroutines and Recursion
4.1.2 Programming concepts: subroutines, parameters, local/global variables, stack frames, recursion
3 months ago
6 min
LessonObject-Oriented Programming
4.1.3 Programming paradigms: OOP — classes, objects, encapsulation, inheritance, polymorphism, class diagrams
3 months ago
Fundamentals of data structures
65 min
LessonArrays and Abstract Data Types
4.2.1 Data structures and abstract data types: arrays, files, ADTs
3 months ago
10 min
7 min
LessonGraphs
4.2.4 Graphs: directed, undirected, weighted; adjacency matrix; adjacency list
3 months ago
9 min
LessonBinary Search Trees
4.2.5.1 Trees (including binary trees); 4.3.4.3 Binary tree search; 4.3.2.1 Simple tree-traversal algorithms
3 months ago
7 min
5 min
Fundamentals of algorithms
58 min
7 min
6 min
7 min
8 min
Theory of computation
88 min
9 min
5 min
8 min
7 min
LessonBNF and Syntax Diagrams
4.4.2.5 Backus-Naur Form (BNF) / syntax diagrams; 4.4.3 Context-free languages
3 months ago
6 min
LessonComplexity and Big-O Notation
4.4.4.1 Comparing algorithms; 4.4.4.2 A model for computational complexity; 4.4.4.3 Order of complexity
3 months ago
6 min
LessonLimits of Computation and Tractability
4.4.4.4 Limits of computation; 4.4.4.5 Classification of algorithmic problems; 4.4.4.6 Computable and non-computable problems; 4.4.4.7 Halting problem
3 months ago
6 min
Fundamentals of data representation
76 min
LessonNumber Systems and Bases
4.5.1 Number systems; 4.5.2 Number bases; 4.5.3 Units of information
3 months ago
5 min
LessonBinary Number Representations
4.5.4.1 Unsigned binary; 4.5.4.2 Unsigned binary arithmetic; 4.5.4.3 Signed binary — two's complement
3 months ago
6 min
LessonFloating Point Numbers
4.5.4.4 Numbers with a fractional part; 4.5.4.8 Normalisation of floating point
3 months ago
6 min
LessonRepresentation Errors and Precision
4.5.4.5 Rounding errors; 4.5.4.6 Absolute and relative errors; 4.5.4.7 Range and precision; 4.5.4.9 Underflow and overflow
3 months ago
5 min
LessonCharacter Encoding and Error Detection
4.5.5.1 Character form of a decimal digit; 4.5.5.2 ASCII and Unicode; 4.5.5.3 Error checking and correction
3 months ago
7 min
LessonImages, Sound and Data Representation
4.5.6.1–4.5.6.8 Representing images, sound and other data
3 months ago
6 min
Fundamentals of computer systems
45 min
8 min
LessonProgramming Languages and Translators
4.6.2 Classification of programming languages; 4.6.3 Types of program translator
3 months ago
6 min
6 min
Fundamentals of computer organisation and architecture
56 min
LessonCPU Architecture and the Stored Program Concept
4.7.1 Internal hardware components; 4.7.2 Stored program concept
3 months ago
6 min
LessonProcessor Components and the Fetch-Execute Cycle
4.7.3.1–4.7.3.4 Processor and its components; FDE cycle; Instruction set; Addressing modes
3 months ago
5 min
7 min
LessonInterrupts and Processor Performance
4.7.3.6 Interrupts; 4.7.3.7 Factors affecting processor performance
3 months ago
6 min
LessonHardware Devices: I/O and Secondary Storage
4.7.4.1 Input and output devices; 4.7.4.2 Secondary storage devices
3 months ago
Consequences of uses of computing
16 min
LessonConsequences of Computing
4.8.1 Individual, social, ethical, legal and cultural issues
3 months ago
Fundamentals of communication and networking
76 min
7 min
LessonNetwork Topology and Wireless Networking
4.9.2.1 Network topology; 4.9.2.2 Types of networking between hosts; 4.9.2.3 Wireless networking
3 months ago
6 min
7 min
6 min
LessonTCP/IP and Application Layer Protocols
4.9.4.1 TCP/IP; 4.9.4.2 Standard application layer protocols
3 months ago
5 min
LessonIP Addressing and Network Management
4.9.4.3–4.9.4.9 IP address structure; Subnet masking; IPv4 and IPv6; Public and private IP addresses; DHCP; NAT; Port forwarding
3 months ago
7 min
LessonWeb Technologies and Client Models
4.9.4.10 Client-server model; 4.9.4.11 Thin- and thick-client computing
3 months ago
Fundamentals of databases
36 min
LessonEntity-Relationship Modelling and Relational Databases
4.10.1 Conceptual data models and ER modelling; 4.10.2 Relational databases
3 months ago
5 min
5 min
Big Data
16 min
Fundamentals of functional programming
25 min
5 min
LessonFunctional Programming in Practice
4.12.2 Writing functional programs; 4.12.3 Lists in functional programming
3 months ago
Systematic approach to problem solving
17 min
Frequently asked questions
It is assessed by two exams and a project. Paper 1 is an on-screen programming exam and Paper 2 is a written theory exam, each worth 40%, and the non-exam assessment coding project is worth 20%.
Paper 1 focuses on programming and computational thinking, including data structures, algorithms, recursion, object-oriented and functional programming, and problem solving, assessed by writing and tracing code on screen.
Most students find programming fluency, recursion and the more abstract theory of computation the hardest, because they reward practice rather than memorisation. Breaking each into small worked examples and testing yourself often is the most reliable way to improve.
It is the non-exam assessment, worth 20% of the A-level. You choose a problem, then analyse, design, build, test and evaluate a working program, writing it up in a report. Your school marks it and AQA moderates it.
Yes. Every public lesson is free to read, and a free account lets you generate quizzes and flashcards from them. Upgrading only removes the monthly creation limit.
Study Computer Science your way
Generate lessons, quizzes and flashcards on any Computer Science topic, personalised to your level. Free to start, no card needed.
Lessons on anything
Structured, level-matched lessons on any topic you study
Practice quizzes
Find out what you actually know before the exam does
Flashcard sets
Lock in key concepts with instant revision cards
Ask Aica
Stuck on something? Get a clear explanation, any time
Every lesson is free to read, no account needed to browse