AQA A Level Computer Science mapping file. Download our comprehensive teaching resources and use the mapping table to align to the AQA examination board. Updated and aligned to the new 2020 specification.
AQA specification | GCSE Document Reference | Additional content | |
---|---|---|---|
4.1 | Fundamentals of programming | ||
4.1.1 | Programming 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 Local variables in subroutines Global variables in a programming language Role of stack frames in subroutine calls Recursive techniques | Cell | ||
4.1.2 | Programming paradigms | ||
Cell | Programming paradigms Procedural-oriented programming Object-oriented programming | Cell | |
4.2 | Fundamentals of data structures | ||
4.2.1 | Data structures and abstract data types | ||
Data structures Single- and multi-dimensional arrays (or equivalent) Fields, records and files Abstract data types/data structures | |||
4.2.2 | Queues | ||
4.2.3 | Stacks | ||
4.2.4 | Graphs | ||
4.2.5 | Trees | ||
4.2.6 4.2.7 | Hash tables Dictionaries | ||
4.2.8 | Vectors | ||
4.3 | Fundamentals of algorithms | ||
4.3.1 | Graph traversal | ||
4.3.2 | Tree traversal | ||
4.3.3 | Simple tree-traversal algorithms Reverse Polish | ||
4.3.4 | Searching algorithms | ||
Linear search Binary search Binary tree search | Cell | ||
4.3.5 | Sorting algorithms | ||
Bubble sort Merge sort | |||
4.3.6 | Optimisation algorithms | ||
Dijkstra’s shortest path algorithm | |||
4.4 | Theory of computation | Cell | Cell |
4.4.1 | Abstraction and automation | Cell | Cell |
Cell | Problem solving Following and writing algorithms Abstraction Information hiding Procedural abstraction Functional abstraction Data abstraction Problem abstraction/reduction Decomposition Composition Automation | ||
4.4.2 | Regular languages | Cell | Cell |
Cell | Finite state machines (FSMs) with and without output | Cell | |
Cell | Maths for regular expressions | Cell | |
Cell | Regular expressions Regular language | Cell | |
4.4.3 | Context-free languages Backus-Naur Form (BNF)/syntax diagrams | Cell | |
4.4.4 | Classification of algorithms | Cell | Cell |
Cell | Comparing algorithms Maths for understanding Big-0 notation Order of complexity Limits of computation Classification of algorithmic problems | Cell | |
Cell | Computable and non-computable problems Halting problem | Cell | Cell |
4.4.5 | A model of computation | Cell | Cell |
Cell | Turing machine | Cell | |
4.5 | Fundamentals of data representation | Cell | Cell |
4.5.1 | Number systems | Cell | Cell |
Cell | Natural numbers Integer numbers Rational numbers Irrational numbers Real numbers Ordinal numbers Counting and measurement | Cell | |
4.5.2 | Number bases | Cell | Cell |
Number base | Cell | ||
4.5.3 | Units of information | Cell | Cell |
Cell | Units | Cell | |
4.5.4 | Binary number system | Cell | Cell |
Cell | Unsigned binary Unsigned binary arithmetic Signed binary using two’s complement | Cell | |
Cell | Numbers with a fractional part Rounding errors Absolute and relative errors Range and precision Normalisation of floating point form Underflow and overflow | Cell | |
4.5.5 | Information coding systems | Cell | Cell |
Cell | Character form of a decimal digit ASCII and Unicode | Cell | |
Cell | Error checking and correction | Cell | |
4.5.6 | Representing images, sound and other data | Cell | Cell |
Cell | Bit patterns, images, sound and other data Analogue and digital Analogue/digital conversion Bitmapped graphics Vector graphics Vector graphics versus bitmapped graphics Digital representation of sound | Cell | |
Cell | Musical Instrument Digital Interface (MIDI) Data compression Encryption | Cell | |
4.6 | Fundamentals of computer systems | Cell | Cell |
4.6.1 | Hardware and software | Cell | Cell |
Cell | Relationship between hardware and software Classification of software System software Role of an operating system (OS) | Cell | |
4.6.2 | Classification of programming languages | Cell | Cell |
Cell | Classification of programming languages | ||
4.6.3 | Types of program translator | Cell | Cell |
Cell | Types of program translator | Cell | |
4.6.4 | Logic gates | Cell | Cell |
Cell | Logic gates | Cell | |
4.6.5 | Boolean algebra | Cell | Cell |
Cell | Using Boolean algebra | Cell | |
4.7 | Fundamentals of computer organisation and architecture | Cell | Cell |
4.7.1 | Internal hardware components of a computer | Cell | Cell |
4.7.2 4.7.3 | The stored program concept Structure and role of the processor and its components The processor and its components The Fetch-Execute cycle and the role of registers within it Addressing modes Machine-code/assembly language operations Interrupts | Cell | |
Cell | Factors affecting processor performance | Cell | |
4.7.4 | External hardware devices | Cell | Cell |
Cell | Input and output devices | Cell | |
Cell | Secondary storage devices | Cell | |
4.8 | Consequences of uses of computing | Cell | Cell |
4.8.1 | Individual (moral), social (ethical), legal and cultural issues and opportunities | Cell | |
4.9 | Communication | Cell | Cell |
4.9.1 | Communication | Cell | Cell |
Cell | Communication methods Communication basics | Cell | |
4.9.2 | Networking | Cell | Cell |
Cell | Network topology | Cell | |
Cell | Types of networking between hosts | Cell | |
Cell | Wireless networking | Cell | |
4.9.3 | The Internet | Cell | Cell |
Cell | The Internet and how it works | Cell | |
Cell | Internet security | Cell | |
4.9.4 | The Transmission Control Protocol/Internet Protocol (TCP/IP) protocol | Cell | Cell |
Cell | TCP/IP Standard application layer protocols IP address structure Subnet masking IP standards Public and private IP addresses Dynamic Host Configuration Protocol (DHCP) Network Address Translation (NAT) Port forwarding | Cell | |
Cell | Client server model Standard application layer protocols | Cell | |
4.10 | Fundamentals of databases | Cell | Cell |
Cell | Conceptual data models and entity relationship modelling | Cell | |
Cell | Relational databases Database design and normalisation techniques | Cell | |
Cell | Structured Query Language (SQL) | Cell | |
Cell | Client server databases | Cell | |
4.11 | Big data | Cell | Cell |
Cell | Big data | Cell | |
4.12 | Fundamentals of functional programming | Cell | Cell |
4.12.1 | Functional programming paradigm | Cell | Cell |
4.12.2 | First-class object Function application Partial function application Composition of functions Writing functional programs | Cell | |
4.12.3 | Lists in functional programming | Cell | |
4.13 | Systematic approach to problem solving | Cell | Cell |
4.13.1 | Aspects of software development | Cell | Cell |
Cell | Analysis Design Implementation Testing Evaluation | Cell |