AQA A Level Computer Science (7516, 7517)

This course covers the topics found in the AQA A Level Computer Science syllabus, but is not endorsed by AQA. Please refer to the exam board specification to ensure that the full range of topics has been covered.


Topics included at A Level only (not AS) are indicated by an *.


Additional revision & practice for the 2019 A Level Skeleton code may be found here.

Paper 1

Data types

Programming concepts

Arithmetic operations in a programming language

Relational operations in a programming language

Boolean operations in a programming language

Constants and variables in a programming language

String-handling operations in a programming language

Random number generation in a programming language

Exception handling

Subroutines: Procedures / Functions

Parameters of subroutines

Returning a value/values from a subroutine

Global variables in a programming language

Role of stack frames in subroutine calls

Recursive techniques

Programming paradigms

Procedural-oriented programming

Procedural-oriented programming

1 & 2 Dimensional Arrays

Fields & Records

Storing Data in Files

Abstract Data Types





Hash Tables



Graph Traversal (breadth & depth)

Tree Traversal

Reverse Polish Notation

Searching Algorithms

Sorting Algorithms

Optimisation Algorithms (Dijkstra)


Following and writing algorithms


Information hiding

Procedural abstraction

Functional abstraction

Data abstraction

Problem abstraction




Regular languages

Regular expressions

Context-free languages (BNF)

Classification of algorithms (Big O Notation)

Classification of algorithmic problems

Computable and non-computable problems

Halting problem

Turing machines

Paper 2

Communication methods

Communication basics


Designing Networks & Subnets

The Internet

The Transmission Control Protocol/Internet Protocol (TCP/IP) protocol

Public and private IP addresses

Client server model

Thin- versus thick-client computing

Conceptual data models and entity relationship modelling

Relational databases

Database design and normalisation techniques

Structured Query Language (SQL)

Client server databases

Big Data

Function type

First-class object

Function application

Partial function application

Composition of functions

Writing functional programs

Lists in functional programming