Specification points
AQA A-level Computer Science 7517
235 points in 14 topics, with AQA's codes and titles.
Grade boundaries·AQA command words
Codes and titles are read by a script from AQA's published specification and have not been checked by a person. What each point covers is in the specification itself: AQA’s specification.
4.1 Fundamentals of programming
- 4.1.1 Programming
- 4.1.1.1 Data types
- 4.1.1.2 Programming concepts
- 4.1.1.3 Arithmetic operations in a programming language
- 4.1.1.4 Relational operations in a programming language
- 4.1.1.5 Boolean operations in a programming language
- 4.1.1.6 Constants and variables in a programming language
- 4.1.1.7 String-handling operations in a programming language
- 4.1.1.8 Random number generation in a programming language
- 4.1.1.9 Exception handling
- 4.1.1.10 Subroutines (procedures/functions)
- 4.1.1.11 Parameters of subroutines
- 4.1.1.12 Returning a value/values from a subroutine
- 4.1.1.13 Local variables in subroutines
- 4.1.1.14 Global variables in a programming language
- 4.1.1.15 Role of stack frames in subroutine calls
- 4.1.1.16 Recursive techniques
- 4.1.2 Programming paradigms
- 4.1.2.1 Programming paradigms
- 4.1.2.2 Procedural-oriented programming
- 4.1.2.3 Object-oriented programming
4.2 Fundamentals of data structures
- 4.2.1 Data structures and abstract data types
- 4.2.1.1 Data structures
- 4.2.1.2 Single- and multi-dimensional arrays (or equivalent)
- 4.2.1.3 Fields, records and files
- 4.2.1.4 Abstract data types/data structures
- 4.2.2 Queues
- 4.2.2.1 Queues
- 4.2.3 Stacks
- 4.2.3.1 Stacks
- 4.2.4 Graphs
- 4.2.4.1 Graphs
- 4.2.5 Trees
- 4.2.5.1 Trees (including binary trees)
- 4.2.6 Hash tables
- 4.2.6.1 Hash tables
- 4.2.7 Dictionaries
- 4.2.7.1 Dictionaries
- 4.2.8 Vectors
- 4.2.8.1 Vectors
4.3 Fundamentals of algorithms
- 4.3.1 Graph-traversal
- 4.3.1.1 Simple graph-traversal algorithms
- 4.3.2 Tree-traversal
- 4.3.2.1 Simple tree-traversal algorithms
- 4.3.3 Reverse Polish
- 4.3.3.1 Reverse Polish – infix transformations
- 4.3.4 Searching algorithms
- 4.3.4.1 Linear search
- 4.3.4.2 Binary search
- 4.3.4.3 Binary tree search
- 4.3.5 Sorting algorithms
- 4.3.5.1 Bubble sort
- 4.3.5.2 Merge sort
- 4.3.6 Optimisation algorithms
- 4.3.6.1 Dijkstra’s shortest path algorithm
4.4 Theory of computation
- 4.4.1 Abstraction and automation
- 4.4.1.1 Problem-solving
- 4.4.1.2 Following and writing algorithms
- 4.4.1.3 Abstraction
- 4.4.1.4 Information hiding
- 4.4.1.5 Procedural abstraction
- 4.4.1.6 Functional abstraction
- 4.4.1.7 Data abstraction
- 4.4.1.8 Problem abstraction/reduction
- 4.4.1.9 Decomposition
- 4.4.1.10 Composition
- 4.4.1.11 Automation
- 4.4.2 Regular languages
- 4.4.2.1 Finite state machines (FSMs) with and without output
- 4.4.2.2 Maths for regular expressions
- 4.4.2.3 Regular expressions
- 4.4.2.4 Regular language
- 4.4.3 Context-free languages
- 4.4.3.1 Backus-Naur Form (BNF)/syntax diagrams
- 4.4.4 Classification of algorithms
- 4.4.4.1 Comparing algorithms
- 4.4.4.2 Maths for understanding Big-0 notation
- 4.4.4.3 Order of complexity
- 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
- 4.4.5 A model of computation
- 4.4.5.1 Turing machine
4.5 Fundamentals of data representation
- 4.5.1 Number systems
- 4.5.1.1 Natural numbers
- 4.5.1.2 Integer numbers
- 4.5.1.3 Rational numbers
- 4.5.1.4 Irrational numbers
- 4.5.1.5 Real numbers
- 4.5.1.6 Ordinal numbers
- 4.5.1.7 Counting and measurement
- 4.5.2 Number bases
- 4.5.2.1 Number base
- 4.5.3 Units of information
- 4.5.3.1 Bits and bytes
- 4.5.3.2 Units
- 4.5.4 Binary number system
- 4.5.4.1 Unsigned binary
- 4.5.4.2 Unsigned binary arithmetic
- 4.5.4.3 Signed binary using two’s complement
- 4.5.4.4 Numbers with a fractional part
- 4.5.4.5 Rounding errors
- 4.5.4.6 Absolute and relative errors
- 4.5.4.7 Range and precision
- 4.5.4.8 Normalisation of floating point form
- 4.5.4.9 Underflow and overflow
- 4.5.5 Information coding systems
- 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
- 4.5.6 Representing images, sound and other data
- 4.5.6.1 Bit patterns, images, sound and other data
- 4.5.6.2 Analogue and digital
- 4.5.6.3 Analogue/digital conversion
- 4.5.6.4 Bitmapped graphics
- 4.5.6.5 Vector graphics
- 4.5.6.6 Vector graphics versus bitmapped graphics
- 4.5.6.7 Digital representation of sound
- 4.5.6.8 Musical Instrument Digital Interface (MIDI)
- 4.5.6.9 Data compression
- 4.5.6.10 Encryption
4.6 Fundamentals of computer systems
- 4.6.1 Hardware and software
- 4.6.1.1 Relationship between hardware and software
- 4.6.1.2 Classification of software
- 4.6.1.3 System software
- 4.6.1.4 Role of an operating system (OS)
- 4.6.2 Classification of programming languages
- 4.6.2.1 Classification of programming languages
- 4.6.3 Types of program translator
- 4.6.3.1 Types of program translator
- 4.6.4 Logic gates
- 4.6.4.1 Logic gates
- 4.6.5 Boolean algebra
- 4.6.5.1 Using Boolean algebra
4.7 Fundamentals of computer organisation and architecture
- 4.7.1 Internal hardware components of a computer
- 4.7.1.1 Internal hardware components of a computer
- 4.7.2 The stored program concept
- 4.7.2.1 The meaning of the stored program concept
- 4.7.3 Structure and role of the processor and its components
- 4.7.3.1 The processor and its components
- 4.7.3.2 The Fetch-Execute cycle and the role of registers within it
- 4.7.3.3 The processor instruction set
- 4.7.3.4 Addressing modes
- 4.7.3.5 Machine-code/assembly language operations
- 4.7.3.6 Interrupts
- 4.7.3.7 Factors affecting processor performance
- 4.7.4 External hardware devices
- 4.7.4.1 Input and output devices
- 4.7.4.2 Secondary storage devices
4.8 Consequences of uses of computing
4.9 Fundamentals of communication and networking
- 4.9.1 Communication
- 4.9.1.1 Communication methods
- 4.9.1.2 Communication basics
- 4.9.2 Networking
- 4.9.2.1 Network topology
- 4.9.2.2 Types of networking between hosts
- 4.9.2.3 Wireless networking
- 4.9.3 The Internet
- 4.9.3.1 The Internet and how it works
- 4.9.3.2 Internet security
- 4.9.4 The Transmission Control Protocol/Internet Protocol (TCP/IP) protocol
- 4.9.4.1 TCP/IP
- 4.9.4.2 Standard application layer protocols
- 4.9.4.3 IP address structure
- 4.9.4.4 Subnet masking
- 4.9.4.5 IP standards
- 4.9.4.6 Public and private IP addresses
- 4.9.4.7 Dynamic Host Configuration Protocol (DHCP)
- 4.9.4.8 Network Address Translation (NAT)
- 4.9.4.9 Port forwarding
- 4.9.4.10 Client server model
- 4.9.4.11 Thin- versus thick-client computing
4.10 Fundamentals of databases
4.11 Big Data
4.12 Fundamentals of functional programming
- 4.12.1 Functional programming paradigm
- 4.12.1.1 Function type
- 4.12.1.2 First-class object
- 4.12.1.3 Function application
- 4.12.1.4 Partial function application
- 4.12.1.5 Composition of functions
- 4.12.2 Writing functional programs
- 4.12.2.1 Functional language programs
- 4.12.3 Lists in functional programming
- 4.12.3.1 List processing
4.13 Systematic approach to problem solving
4.14 Non-exam assessment - the computing practical project
- 4.14.1 Overview
- 4.14.1.1 Purpose of the project
- 4.14.1.2 Types of problem/investigation
- 4.14.1.3 Project documentation structure
- 4.14.2 Using a level of response mark scheme
- 4.14.2.1 Step 1 Determine a level
- 4.14.2.2 Step 2 Determine a mark
- 4.14.3 Marking criteria
- 4.14.3.1 Analysis (9 marks)
- 4.14.3.2 Documented design (12 marks)
- 4.14.3.3 Technical solution (42 marks)
- 4.14.3.3.1 Completeness of solution (15 marks)
- 4.14.3.3.2 Techniques used (27 marks)
- 4.14.3.4 Example technical skills
- 4.14.3.4.1 Table 1: Example technical skills
- 4.14.3.4.2 Table 2: Coding styles
- 4.14.3.5 Testing (8 marks)
- 4.14.3.6 Evaluation (4 marks)
- 4.14.4 Project tasks that are not of A-level standard
- 4.14.5 Guide to non-exam assessment documentation
- 4.14.5.1 Analysis
- 4.14.5.2 Design
- 4.14.5.3 Technical solution
- 4.14.5.4 Testing
- 4.14.5.5 Evaluation
- 4.14.6 Assessment objective breakdown for non-exam assessment