AQA A-Level Computer Science Active Recall Guide (7517)
AQA · A-Level
AQA A-Level Computer Science Active Recall Guide
Every topic of specification 7517 written as exam-style questions with the answers printed after them. 1,516 questions across 13 topics and 114 subtopics, covering both examined papers and the theory behind the programming project.
- AQA
- A-Level
- Specification 7517
- 1,516 questions
Guide overview All 13 topics Sample questions Papers and weighting Look inside Questions and answers

What the exam asks of you
AQA A-Level Computer Science is two exams of 2 hours 30 minutes and a programming project. Paper 1 is sat on screen and tests programming alongside data structures, algorithms and the theory of computation, worth 40 per cent. Paper 2 is written and covers everything else, also 40 per cent. The project carries the remaining 20 per cent.
Paper 1 is unusual: you write and adapt code on screen against preliminary material and a skeleton program issued beforehand. The theory it tests sits alongside that, and it is recall like any other.
| Paper | Covers |
|---|---|
|
Paper 1 On-screen programming exam |
Programming, data structures, algorithms and the theory of computation Students write, adapt and extend programs in an Electronic Answer Document, working from preliminary material and a skeleton program issued beforehand On-screen exam of 2 hours 30 minutes, 40% of the A-level |
|
Paper 2 Written theory exam |
Data representation, computer systems, computer organisation and architecture, consequences of uses of computing, communication and networking, databases, Big Data and functional programming Compulsory short-answer and extended-answer questions Written exam of 2 hours 30 minutes, 40% of the A-level |
|
Non-exam assessment The computing practical project |
A practical problem solved or investigated using a systematic approach to problem solving 75 marks, 20% of the A-level |
What is in the guide
All 13 topics
Every topic has its own page with its subtopics, what it covers and sample questions.
Sample questions
Taken from the guide. Answer each one closed book first, then open the answer.
-
Data types
Describe the Boolean data type.
Show the answer
A type with exactly two possible values, True and False. It is what a relational or logical expression evaluates to, and it is used to control selection and iteration. Logically it needs only a single bit, although a language will usually reserve a whole byte for it. -
Data Structures and Abstract Data Types
Define an n-dimensional array.
Show the answer
An n-dimensional array holds elements that all share a single data type, and each element is picked out by a tuple of n integers — one index per dimension. A 2-dimensional array is therefore addressed by pairs such as (3, 5); adding a third dimension means every element needs a triple, and so on for higher n. -
Graph traversal
Using the same graph — vertices A to F with edges A-B, A-C, B-D, C-E, D-F and E-F — give the depth-first traversal from A, taking neighbours in alphabetical order.
Show the answer
A, B, D, F, E, C. From A the first unvisited neighbour is B, from B it is D, from D it is F, from F the unvisited neighbour is E, and from E it is C. C has no unvisited neighbours, so the search backtracks all the way, popping E, F, D, B and A in turn, and finishes. -
Logic Problems and Algorithm Constructs
Solve this logic problem and justify your answer: 'If a file is compressed then it is not encrypted. This file is encrypted.'
Show the answer
The file is not compressed. If it were compressed, the first statement would force it to be unencrypted, which contradicts the fact that it is encrypted. Ruling out the only alternative leaves 'not compressed' as the conclusion. -
Number systems and the sets of numbers
Explain why every integer is also a rational number.
Show the answer
Any integer can be written as a fraction with a denominator of 1. For example 7 = 7/1 and −3 = −3/1. Since both parts are integers and the denominator is not zero, the number satisfies the definition of a rational number, so ℤ is a subset of ℚ. -
Hardware, Software and Its Classification
Is firmware hardware or software, and why is it easy to confuse the two?
Show the answer
Firmware is software: it is a program, held permanently in read-only or flash memory on a hardware component. It is confused with hardware because it is supplied inside the physical device and is not normally changed by the user, but it is still a set of instructions rather than a physical part. -
Internal components, buses and von Neumann and Harvard architectures
Name the basic internal components of a computer system.
Show the answer
The processor, main memory, the address bus, the data bus, the control bus, and the input/output controllers that connect peripherals to the system. All of these are mounted on or attached to the motherboard, and the buses are the wires that carry signals between the rest. -
Communication methods
Define parallel transmission.
Show the answer
Parallel transmission sends several bits at the same time, each bit travelling down its own separate wire in a multi-wire link. A group of bits (for example eight) is therefore transmitted simultaneously rather than one after another.
How the guide is worked
Answering a question from memory stores it far better than reading the answer again. The guide runs that as a fixed procedure on one subtopic at a time, about twenty minutes a session.
-
Step 1 · Closed book
Cover the answers. Work through one subtopic and write down what you can. Leave blanks where you have nothing.
-
Step 2 · Open book
Go back to the top. Read each printed answer and write it out in full, including the ones you had right.
-
Step 3 · Closed book again
Same questions, same order, from memory. The gap between pass one and pass three is the session result.
Read the full method, the return schedule and the research behind it.
Look inside
Questions for a subtopic print together and the answers for that section print after them.
- Fundamentals of Programming189
- Fundamentals of Data Structures136
- Fundamentals of Algorithms82
- Theory of Computation195
- Fundamentals of Data Representation240
- Fundamentals of Computer Systems114
- Fundamentals of Computer Organisation and Architecture133
- Fundamentals of Communication and Networking204
- Consequences of Uses of Computing26
- Systematic Approach to Problem Solving24
- Fundamentals of Databases69
- Big Data42
- and 1 more
- What is a data structure?
- What is the difference between an abstract data type and a data structure?
- Give four everyday contexts that behave like a data structure you have studied.
- Why do programmers choose a particular data structure for a problem?
- Describe a one-dimensional array.
- What is a two-dimensional array a useful way of representing?
- Define an n-dimensional array.
- What is a tuple?
- A program stores the daily rainfall for each of 12 months at 4 weather stations. Describe an array that would hold this data.
- An organised collection of related data items, stored together in a defined arrangement so that the data can be accessed and manipulated efficiently. The structure defines both how the items are held in memory and the operations that may be performed on them.
- An abstract data type is a logical description of what data is held and which operations may be performed on it, with no statement of how it is implemented. A data structure is the concrete implementation that actually stores the data in memory. For example, a stack is an abstract data type with push and pop operations; it may be implemented as a data structure using an array plus a top pointer, or using a linked list.
- A queue at a supermarket till behaves like a queue (first in, first out). A stack of plates behaves like a stack (last in, first out). A telephone contacts list that finds a number from a name behaves like a dictionary (a value looked up by its key). A road map with towns and roads behaves like a weighted graph.
- Because the structure determines how efficiently the operations the program needs most can be carried out. Choosing a structure whose natural operations match the problem gives faster code and simpler logic — for example a queue for jobs waiting for a printer, a stack for undo history, a graph for a road network, a hash table for fast lookup by key.
- A run of elements that all share one data type, stored under a single identifier and reached by an index. For example an array of ten integers might be indexed 0 to 9, and element 3 is accessed as a[3]. One-dimensional arrays are a natural fit for holding a vector.
- A matrix — or more generally any table of values with rows and columns, such as a grid, a game board, or an adjacency matrix for a graph. Each element is accessed by two integer indices, one for the row and one for the column.
- An n-dimensional array holds elements that all share a single data type, and each element is picked out by a tuple of n integers — one index per dimension. A 2-dimensional array is therefore addressed by pairs such as (3, 5); adding a third dimension means every element needs a triple, and so on for higher n.
- An ordered list of elements. Because it is ordered, the position of each element carries meaning — the tuple (2, 5) is not the same as (5, 2). The indices used to locate an element of an n-dimensional array form a tuple of n integers.
- A two-dimensional array of real numbers, for example rainfall[station][month], with the first index running over the 4 stations and the second over the 12 months, giving 48 elements all of the same data type. The rainfall for station 2 in month 7 is then a single element accessed by the index pair.
questions
Scroll sideways to turn through the pages.
Questions students ask first
What is actually on the on-screen paper?
Paper 1 gives you preliminary material and a skeleton program in advance and asks you to write, adapt and extend code in an Electronic Answer Document. It also tests data structures, algorithms and the theory of computation in writing.
The preliminary material is released beforehand and is worth getting familiar with, but the theory around it is the part that can be revised properly.
Which topics are on which paper?
Paper 1 is programming, data structures, algorithms and the theory of computation. Paper 2 is data representation, computer systems, organisation and architecture, communication and networking, consequences of computing, databases, Big Data and functional programming. The full breakdown is here.
Is the project covered?
The project itself is your own problem, solved and documented over the second year, and it is 20 per cent. What is in the guide is the systematic approach to problem solving that the project is marked against: analysis, design, implementation, testing and evaluation.
Is functional programming really examined?
Yes, on Paper 2. Functions as first-class objects, function application, composition, higher-order functions including map, filter and reduce, and the list operations. It is 62 questions.
AQA A-Level Computer Science Active Recall Guide
Every question paired with its answer, grouped by topic and subtopic, ready to work in three passes.