AQA A-Level Computer Science
Explore your course, one topic at a time.
Course overview
The AQA A-Level Computer Science specification covers 162 study areas with 896 learning objectives (7517). Use the topic browser below to explore subtopics, exam tips, common mistakes, and key terminology for each area of the course.
- 162 study areas
- 896 learning objectives
- 162
- topics
Your exams
- Paper 1 (Option A - C#) On screenMonday, 7 June 2027, PM
- Paper 1 (Option D - Python) On screenMonday, 7 June 2027, PM
- Paper 1 (Option E - VB.Net) On screenMonday, 7 June 2027, PM
- Paper 2Tuesday, 15 June 2027, AM
Always confirm dates and times with your exam centre.
| Paper | Time | Marks | Weight |
|---|---|---|---|
| Non-exam assessment: Computing practical project | - | 75 | 20% |
| Paper 1: On-screen exam | 150 min | 100 | 40% |
| Paper 2: Written exam | 150 min | 100 | 40% |
Explore your topics
162 study areas
Programming2 topics
- Data types14 specification points covering Understand the concept of a data type., Understand and use the following appropriately:, integer and related ideas.14 objectives
- Programming concepts12 specification points covering Use, understand and know how the following statement types can be combined in programs:, variable declaration, constant…12 objectives
- Arithmetic operations in a programming language9 specification points covering Be familiar with and be able to use:, addition, subtraction and related ideas.9 objectives
- Boolean operations in a programming language3 specification points covering Be familiar with and be able to use:, NOT, AND.3 objectives
- Constants and variables in a programming language2 specification points covering Be able to explain the differences between a variable and a constant., Be able to explain the advantages of using.2 objectives
- String-handling operations in a programming language15 specification points covering Be familiar with and be able to use:, length, position and related ideas.15 objectives
- Random number generation in a programming languageThis statement is incomplete in the published specification: it ends at the word "random" and does not name the object being generated, such as integers or…1 objective
- Exception handling2 specification points covering Be familiar with the concept of exception handling., Know how to use exception handling in a programming language with which…2 objectives
- Subroutines (procedures/functions)3 specification points covering Be familiar with subroutines and their uses., Know that a subroutine is a named ‘out of line’ block of code that may be…3 objectives
- Parameters of subroutinesParameters are variables listed in a subroutine's definition that receive values when the subroutine is called.1 objective
- Returning a value/values from a subroutineA function is a subroutine that sends a result back to the routine that called it.1 objective
- Local variables in subroutines4 specification points covering Know that subroutines may declare their own variables, called local variables, and that local variables:, exist only while…4 objectives
12 of 18 shown
Data structures8 topics
Data structures and abstract data types
Data structures3 specification points covering Be familiar with the concept of data structures., It may be helpful to set the concept of a data structure in various…3 objectives- Single- and multi-dimensional arrays (or equivalent)4 specification points covering Use arrays (or equivalent) in the design of solutions to simple problems., A one-dimensional array is a useful way of…4 objectives
- Fields, records and files2 specification points covering Be able to read/write from/to a text file., Be able to read/write data from/to a binary (non-.2 objectives
- Abstract data types/data structures15 specification points covering Be familiar with the concept and uses of a:, queue, stack and related ideas.15 objectives
- Queues5 specification points covering Be able to describe and apply the following to linear queues, circular queues and priority queues:, add an item, remove an…5 objectives
- Stacks7 specification points covering Be able to describe and apply the following operations:, push, pop and related ideas.7 objectives
- Graphs11 specification points covering Be aware of a graph as a data structure used to represent more complex relationships., Be familiar with typical uses for…11 objectives
Trees
Trees (including binary trees)8 specification points covering Know that a tree is a connected, undirected graph with no cycles., Note that a tree does not have to have a root., Know that…8 objectives- Hash tables5 specification points covering Be familiar with the concept of a hash table and its uses., Be able to apply simple hashing algorithms., Know what is meant…5 objectives
- Dictionaries6 specification points covering Be familiar with the concept of a dictionary., Be familiar with simple applications of dictionaries, for example information…6 objectives
- Vectors32 specification points covering Be familiar with the concept of a vector and the following notations for specifying a vector:, [2.0, 3.14159, -1.0,…32 objectives
Algorithms6 topics
Graph-traversal algorithms
Simple graph-traversal algorithms3 specification points covering Be able to trace breadth-first and depth-first search algorithms and describe typical applications of both., Breadth-first:…3 objectivesTree-traversal algorithms
Simple tree-traversal algorithms8 specification points covering Be able to trace the tree-traversal algorithms:, pre-order, post-order and related ideas.8 objectivesReverse Polish notation
Reverse Polish – infix transformations5 specification points covering Be able to convert simple expressions in infix form to Reverse Polish notation (RPN) form and vice versa., Be aware of why…5 objectivesSearching algorithms
Linear search2 specification points covering Know and be able to trace and analyse the, Time complexity is O( n )..2 objectives- Binary search2 specification points covering Know and be able to trace and analyse the time, Time complexity is O(log n )..2 objectives
- Binary tree search2 specification points covering Be able to trace and analyse the time complexity of the binary tree search algorithm., Time complexity is O(log n )..2 objectives
Sorting algorithms
Bubble sort2 specification points covering Know and be able to trace and analyse the time complexity of the bubble sort algorithm., This is included as an example of a…2 objectives- Merge sort2 specification points covering Be able to trace and analyse the time complexity of the merge sort algorithm., The 'merge' sort is an example of 'Divide and…2 objectives
Optimisation algorithms
Dijkstra’s shortest path algorithm4 specification points covering Understand and be able to trace Dijkstra’s shortest path algorithm., Be aware of applications of shortest path algorithm.,…4 objectives
Theory of computation5 topics
Abstraction and automation
Problem-solving2 specification points covering Be able to develop solutions to simple logic problems., Be able to check solutions to simple logic.2 objectives- Following and writing algorithms10 specification points covering Understand the term algorithm., Be able to express the solution to a simple problem as an algorithm using pseudo-code, with…10 objectives
- Abstraction3 specification points covering Be familiar with the concept of abstraction as used in computations and know that:, representational abstraction is a…3 objectives
- Information hidingInformation hiding is the design principle of concealing the internal details of an object that do not contribute to its external behaviour, so that other…1 objective
- Procedural abstraction2 specification points covering Know that procedural abstraction represents a computational method., The result of abstracting away the actual values used…2 objectives
- Functional abstraction4 specification points covering Know that for functional abstraction the particular computation method is hidden., The result of a procedural abstraction is…4 objectives
- Data abstraction3 specification points covering Know that details of how data are actually represented are hidden, allowing new kinds of data objects to be constructed from…3 objectives
- Problem abstraction/reductionProblem abstraction, sometimes called problem reduction, is the process of stripping away the details of a real-world problem until what remains is a form a…1 objective
- DecompositionProcedural decomposition means breaking a problem into a number of sub-problems, so that each sub-problem accomplishes an identifiable task.1 objective
- Composition2 specification points covering Know how to build a composition abstraction by combining procedures to form compound procedures., Know how to build data…2 objectives
- Automation10 specification points covering Understand that automation requires putting models (abstraction of real world objects/ phenomena) into action to solve…10 objectives
Regular languages
Finite state machines (FSMs) with and without outputA finite state machine (FSM) is a model made of a finite set of states, a start state, and transitions that move the machine from one state to another in…1 objective
12 of 24 shown
Data representation6 topics
Number systems
Natural numbers2 specification points covering Be familiar with the concept of a natural number and the set ℕ of natural numbers (including zero)., ℕ = {0, 1, 2, 3, … }.2 objectives- Integer numbers2 specification points covering Be familiar with the concept of an integer and, ℤ = { …, -3, -2, -1, 0, 1, 2, 3, … }.2 objectives
- Rational numbers3 specification points covering Be familiar with the concept of a rational number and the set ℚ of rational numbers, and that this set includes the…3 objectives
- Irrational numbers2 specification points covering Be familiar with the concept of an irrational, An irrational number is one that cannot be.2 objectives
- Real numbers2 specification points covering Be familiar with the concept of a real number and the set ℝ of real numbers, which includes the natural numbers, the…2 objectives
- Ordinal numbers3 specification points covering Be familiar with the concept of ordinal numbers and their use to describe the numerical positions of objects., When objects…3 objectives
- Counting and measurement3 specification points covering Be familiar with the use of:, natural numbers for counting, real numbers for measurement..3 objectives
Number bases
Number base7 specification points covering Be familiar with the concept of a number base, in particular:, decimal (base 10), binary (base 2) and related ideas.7 objectivesUnits of information
Bits and bytes5 specification points covering Know that:, the bit is the fundamental unit of information, a byte is a group of 8 bits.5 objectives- Units3 specification points covering Know the names, symbols and corresponding powers of 2 for the binary prefixes:, Know the names, symbols and corresponding…3 objectives
Binary arithmetic
Unsigned binary3 specification points covering Know the difference between unsigned binary and signed binary., Know that in unsigned binary the minimum and maximum values…3 objectives- Unsigned binary arithmetic3 specification points covering Be able to:, add two unsigned binary integers, multiply two unsigned binary integers..3 objectives
12 of 32 shown
Computer systems5 topics
Hardware and software
Relationship between hardware and software3 specification points covering Understand the relationship between hardware and software and be able to define the terms:, hardware, software..3 objectives- Classification of software4 specification points covering Explain what is meant by:, system software, application software.4 objectives
- System software5 specification points covering Understand the need for, and functions of the following system software:, operating systems (OSs), utility programs and…5 objectives
- Role of an operating system (OS)2 specification points covering Understand that a role of the operating system is to hide the complexities of the hardware., Know that the OS handles…2 objectives
- Classification of programming languages8 specification points covering Show awareness of the development of types of programming languages and their classification into low-and high-level…8 objectives
- Types of program translator8 specification points covering Understand the role of each of the following:, assembler, compiler and related ideas.8 objectives
- Logic gates15 specification points covering Construct truth tables for the following logic gates:, NOT, AND and related ideas.15 objectives
Boolean algebra
Using Boolean algebraBoolean identities are rules such as A + 0 = A, A · 1 = A, A · A̅ = 0 and A + A̅ = 1, and they let you rewrite a Boolean expression into a simpler…1 objective
Computer organisation and architecture4 topics
- Internal hardware components of a computer15 specification points covering Have an understanding and knowledge of the basic internal components of a computer system., Understand the role of the…15 objectives
The stored program concept
The meaning of the stored program conceptThe stored program concept means that the instructions a computer executes are held in main memory in the same way as data, so the processor can be given a…1 objectiveStructure and role of the processor and its components
The processor and its components10 specification points covering Explain the role and operation of a processor and its major components:, arithmetic logic unit, control unit and related ideas.10 objectives- The Fetch-Execute cycle and the role of registers within itThe Fetch-Execute cycle is the repeating process by which a processor runs a machine code program.1 objective
- The processor instruction set6 specification points covering Understand the term ‘processor instruction set’ and know that an instruction set is processor specific., Know that…6 objectives
- Addressing modes4 specification points covering Understand and apply immediate and direct addressing modes., Immediate addressing: the operand is the datum., Direct…4 objectives
- Machine-code/assembly language operations13 specification points covering Understand and apply the basic machine-code operations of:, load, add and related ideas.13 objectives
- InterruptsAn interrupt is a signal sent to the processor, either by a hardware device such as a keyboard or timer, or by software, asking for attention.1 objective
- Factors affecting processor performance7 specification points covering Explain the effect on processor performance of:, multiple cores, cache memory and related ideas.7 objectives
External hardware devices
Input and output devices6 specification points covering Know the main characteristics, purposes and suitability of the devices and understand their principles of operation.,…6 objectives- Secondary storage devices10 specification points covering Explain the need for secondary storage within a computer system., Know the main characteristics, purposes, suitability and…10 objectives
Consequences of uses of computing1 topic
Communication and networking4 topics
- Communication methods3 specification points covering Define serial and parallel transmission methods and discuss the advantages of serial over parallel transmission., Define and…3 objectives
- Communication basics10 specification points covering Define:, baud rate, bit rate and related ideas.10 objectives
- Network topology6 specification points covering Understand:, physical star topology, logical bus network topology and related ideas.6 objectives
- Types of networking between hosts6 specification points covering Explain the following and describe situations where they might be used:, peer-to-peer networking, client-server networking.6 objectives
- Wireless networking11 specification points covering Explain the purpose of WiFi., Be familiar with the components required for wireless networking., Be familiar with how…11 objectives
Wireless networking and the Internet
The Internet and how it works13 specification points covering Understand the structure of the Internet., Understand the role of packet switching and routers., Know the main components…13 objectives- Internet security6 specification points covering Understand how a firewall works (packet filtering, proxy server, stateful inspection)., Explain symmetric and asymmetric…6 objectives
TCP/IP and network security
TCP/IP4 specification points covering Describe the role of the four layers of the TCP/IP stack (application, transport, network, link)., Describe the role of…4 objectives- Standard application layer protocols14 specification points covering Be familiar with the following protocols:, FTP (File Transfer Protocol), HTTP (Hypertext Transfer Protocol) and related ideas.14 objectives
- IP address structureAn IPv4 address is a 32-bit number, usually written as four decimal octets separated by full stops, for example 192.168.1.25.1 objective
- Subnet maskingA network can be divided into smaller networks called subnets to improve organisation, performance and security.1 objective
- Public and private IP addressesRoutable IP addresses are public addresses that Internet routers forward between networks, so any host on the Internet can, in principle, send packets to them.1 objective
12 of 17 shown
Databases5 topics
- Conceptual data models and entity relationship modelling2 specification points covering Produce a data model from given data requirements for a simple scenario involving multiple entities., Underlining can be…2 objectives
- Relational databases5 specification points covering Explain the concept of a relational database., Be able to define the terms:, attribute and related ideas.5 objectives
- Database design and normalisation techniques2 specification points covering Normalise relations to third normal form., Students should know what properties are possessed by a relation in third normal…2 objectives
- Structured Query Language (SQL)This statement asks you to write SQL that works across more than one table and performs all four core data operations: retrieve (SELECT), update (UPDATE),…1 objective
- Client server databases4 specification points covering Know that a client server database system provides simultaneous access to the database for multiple clients., Know how…4 objectives
Functional programming3 topics
Functional programming concepts
Function type9 specification points covering Know that a function, f, has a function type, f: A → B (where the type is A → B, A is the argument type, and B is the result…9 objectives- First-class object8 specification points covering Know that a function is a first-class object in functional programming languages and in imperative programming languages…8 objectives
- Function application6 specification points covering Know that function application means a function applied to its arguments., The process of giving particular inputs to a…6 objectives
- Partial function application8 specification points covering Know what is meant by partial function application for one, two and three argument functions and be able to use the…8 objectives
- Composition of functions10 specification points covering Know what is meant by composition of functions., The operation functional composition combines two functions to get a new…10 objectives
- Functional language programs21 specification points covering Show experience of constructing simple programs in a functional programming language., Higher-order functions., The…21 objectives
- List processing16 specification points covering Be familiar with representing a list as a concatenation of a head and a tail., Know that the head is an element of a list…16 objectives
Systematic approach to problem solving1 topic
- Analysis4 specification points covering Be aware that before a problem can be solved, it must be defined, the requirements of the system that solves the problem…4 objectives
- Design3 specification points covering Be aware that before constructing a solution, the solution should be designed and specified, for example planning data…3 objectives
- Implementation3 specification points covering Be aware that the models and algorithms need to be implemented in the form of data structures and code (instructions) that a…3 objectives
- Testing4 specification points covering Be aware that the implementation must be tested for the presence of errors, using selected test data covering normal…4 objectives
- Evaluation12 specification points covering Know the criteria for evaluating a computer system., 4.14 Non-exam assessment - the computing practical, project and…12 objectives
Course topics13 topics
- Consequences of uses of computingThis topic explores the individual, social, legal, and cultural consequences of computing, focusing on the opportunities and risks presented by digital…
- Fundamentals of algorithmsThis topic covers the fundamental algorithms used in computer science, focusing on graph and tree traversal, searching, sorting, and optimization.
- Fundamentals of communication and networkingThis topic covers the fundamental principles of data communication and networking, including transmission methods, network topologies, and the architecture…
- Fundamentals of computer organisation and architectureThis topic covers the internal hardware components of a computer system, including the role of the processor, main memory, and buses.
- Fundamentals of computer systemsThis topic covers the fundamental hardware and software components that constitute a computer system.
- Fundamentals of data representationThis topic covers the fundamental principles of how data is represented within a computer system.
- Fundamentals of data structuresThis topic covers the fundamental principles of data structures, focusing on how data is organized and stored for efficient access and manipulation.
- Fundamentals of databasesThis topic covers the fundamental principles of relational databases, focusing on conceptual data modeling and entity-relationship diagrams.
- Fundamentals of functional programmingThis topic introduces the functional programming paradigm, focusing on the concept of functions as first-class objects and the application of higher-order…
- Fundamentals of programmingThis topic covers the fundamental principles of imperative programming, including data types, control structures, and subroutines.
- Non-exam assessment - the computing practical projectThe non-exam assessment (NEA) is a computing practical project that allows A-level students to independently solve a realistic problem or conduct an…
- Systematic approach to problem solvingThis topic covers the systematic approach to software development, emphasizing the stages of analysis, design, implementation, testing, and evaluation.
12 of 13 shown
About this course
About AQA A-Level Computer Science
AQA A-Level Computer Science (7517) offers a deep and engaging exploration of both the theoretical and practical aspects of computing. You will develop an understanding of how computers work, how they communicate, and the profound impact they have on society. The course is structured around two main dimensions: the scientific principles that underpin all digital technology, and the practical skills required to design, implement, and analyse computational solutions.
Throughout the qualification, you will tackle topics ranging from programming paradigms and data structures to the inner workings of processors and operating systems. A key component is the non-exam assessment (NEA), where you undertake a substantial programming project of your own choosing, giving you the freedom to apply your skills to a real-world problem and demonstrate creativity and technical independence.
The specification is designed to nurture computational thinking – the ability to think logically, abstract, and decompose complex problems. By the end of the course, you will not only be well-prepared for higher education or a career in technology but also equipped with a mindset that is valuable across many modern disciplines.
Assessment Structure
AQA A-Level Computer Science is assessed via two written examinations and a non-exam assessment (NEA). Paper 1 (2 hours 30 minutes, on-screen) is worth 40% of the A-level and tests practical programming and problem-solving skills using a pre-released skeleton program or scenarios. Paper 2 (2 hours 30 minutes, written) also carries 40% and examines theoretical knowledge from the entire specification. The remaining 20% is the NEA – a practical programming project completed in school under supervised conditions, allowing you to independently design, develop, and evaluate a solution to a real problem.
Why Choose AQA?
- Practical programming is integrated throughout: the on-screen Paper 1 directly assesses your coding ability, while the NEA allows you to build a bespoke project that showcases your skills to universities and employers.
- AQA’s specification offers a balanced mix of theory and practice, with a strong focus on computational thinking and problem-solving. The pre-release material for Paper 1 provides a helpful framework for exam preparation.
- Many teachers appreciate the clarity of the AQA resources and the supportive community. The specification avoids prescribing a single programming language, giving schools the flexibility to teach in a language that suits their context and students' interests.
Frequently Asked Questions
What programming language is used in AQA A-Level Computer Science?
How difficult is the on-screen programming exam (Paper 1)?
What is the NEA project like? Can I choose my own project?
Do I need to have studied Computer Science at GCSE to take this A-level?
How does AQA Computer Science compare to OCR A-Level Computer Science?
Assessment and exam guidance
What Gets Top Grades
Knowledge & Understanding
Demonstrates comprehensive and accurate knowledge
- Uses correct subject-specific terminology
- Shows detailed understanding of concepts
- Makes accurate connections between topics
- Demonstrates depth beyond surface-level knowledge
Application
Applies knowledge effectively to new contexts
- Selects relevant knowledge for the question
- Adapts understanding to unfamiliar scenarios
- Uses examples appropriately
- Shows awareness of context
Analysis & Evaluation
Develops sophisticated analytical arguments
- Constructs logical chains of reasoning
- Considers multiple perspectives
- Weighs evidence to reach justified conclusions
- Acknowledges limitations and nuances
Key Command Words
Give a single fact or term
Name, select, or recognise
Set out main features briefly
Give an account of what something is like or what happens
Give reasons with developed cause→effect chains
State similarities AND differences (both required)
Examine in detail showing cause→effect→consequence chains
Weigh up BOTH sides, reach JUSTIFIED conclusion
Make judgments about importance with justification
Show formula→substitution→calculation→answer with units
Tips and common mistakes
Common Exam Mistakes
Pitfalls to avoid in your exams
- •Treats a data type as only the visible value rather than the category governing storage and operations; state that the type defines the category and its rules.
- •Confuses data type with variable name or identifier; state that the name labels a value while the type defines what kind of value it is.
- •Assumes all numbers behave identically regardless of type; explain that integer and real division produce different results.
- •Stores a postcode or identifier containing letters as an integer; choose a string because integers cannot hold letters or preserve leading zeros.
- •Uses a real for a value that is always whole, such as a count of items; choose an integer so the value matches its purpose.
- •Assumes a type conversion never loses information; state that converting a real to an integer discards the fractional part.
- •Assumes an integer can store decimal values; state that the fractional part is lost or the value must be a real type.
- •Treats integers as unlimited in size; state that the stored range is bounded by the number of bits.
Top Examiner Tips
Expert advice for exam success
- •Use a concrete example, such as integer versus real division, to show understanding rather than only stating a definition.
- •Define the concept in terms of value category, permitted operations and storage, since all three are credited ideas.
- •Keep definitions precise and avoid vague phrases such as 'type of data' without explaining what the type controls.
- •Justify each type choice by referring to the value's range, format and purpose.
- •Use the exact type names in answers, such as integer, real and Boolean, to show precise understanding.
- •Check the syntax and examples given in the question, as the required list of types is set by the question itself.
- •Read the question for whether negative values or decimals are involved before choosing integer.
- •Use the bit count to calculate range rather than guessing it.
Ready for a little practice?
Create your account to start practising Computer Science.
A week of Premium from your first lesson · Then the free plan continues · No card, no charge