
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
1 month ago
6 min
LessonSubroutines and Recursion
4.1.2 Programming concepts: subroutines, parameters, local/global variables, stack frames, recursion
1 month ago
6 min
LessonObject-Oriented Programming
4.1.3 Programming paradigms: OOP — classes, objects, encapsulation, inheritance, polymorphism, class diagrams
1 month ago
Fundamentals of data structures
65 min
LessonArrays and Abstract Data Types
4.2.1 Data structures and abstract data types: arrays, files, ADTs
1 month ago
9 min
5 min
LessonGraphs
4.2.4 Graphs: directed, undirected, weighted; adjacency matrix; adjacency list
1 month ago
8 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
1 month ago
6 min
5 min
Fundamentals of algorithms
58 min
6 min
5 min
6 min
7 min
Theory of computation
87 min
9 min
5 min
8 min
6 min
LessonBNF and Syntax Diagrams
4.4.2.5 Backus-Naur Form (BNF) / syntax diagrams; 4.4.3 Context-free languages
1 month 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
1 month 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
1 month 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
1 month 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
1 month ago
6 min
LessonFloating Point Numbers
4.5.4.4 Numbers with a fractional part; 4.5.4.8 Normalisation of floating point
1 month 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
1 month 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
1 month ago
7 min
LessonImages, Sound and Data Representation
4.5.6.1–4.5.6.8 Representing images, sound and other data
1 month ago
6 min
Fundamentals of computer systems
45 min
7 min
LessonProgramming Languages and Translators
4.6.2 Classification of programming languages; 4.6.3 Types of program translator
1 month ago
5 min
6 min
Fundamentals of computer organisation and architecture
55 min
LessonCPU Architecture and the Stored Program Concept
4.7.1 Internal hardware components; 4.7.2 Stored program concept
1 month 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
1 month ago
5 min
6 min
LessonInterrupts and Processor Performance
4.7.3.6 Interrupts; 4.7.3.7 Factors affecting processor performance
1 month 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
1 month ago
Consequences of uses of computing
16 min
LessonConsequences of Computing
4.8.1 Individual, social, ethical, legal and cultural issues
1 month ago
Fundamentals of communication and networking
76 min
6 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
1 month ago
6 min
6 min
6 min
LessonTCP/IP and Application Layer Protocols
4.9.4.1 TCP/IP; 4.9.4.2 Standard application layer protocols
1 month 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
1 month ago
6 min
LessonWeb Technologies and Client Models
4.9.4.10 Client-server model; 4.9.4.11 Thin- and thick-client computing
1 month 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
1 month 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
1 month 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