Course map
Algorithms AQA Paper 1 · OCR Paper 2
- AQA 3.1.1, OCR 2.1.1, OCR 2.1.2 · AQA and OCR
Abstraction, decomposition and algorithms
- Explain what an algorithm is and that a program implements one
- Use abstraction and decomposition on a problem, with a structure diagram
- Name the inputs, processes and outputs of a problem or algorithm
LessonPractice - AQA 3.1.1, OCR 2.1.2 · AQA and OCR
Flowcharts, pseudocode and trace tables
- Read and draw flowcharts with the standard symbols
- Complete a trace table for a short algorithm
- Work out what a simple algorithm is for
LessonPractice - AQA 3.1.2, AQA 3.1.3, OCR 2.1.3 · AQA and OCR
Linear and binary search
- Run a linear search and a binary search by hand
- State that binary search needs sorted data
- Compare the two searches, including how many comparisons each makes
LessonPractice - AQA 3.1.2, AQA 3.1.4, OCR 2.1.3 · AQA and OCR
Bubble sort and merge sort
- Show the list after each pass of a bubble sort
- Show how a merge sort splits and merges a list
- Compare bubble sort and merge sort for time and memory
LessonPractice - OCR 2.1.3 · OCR only
Insertion sort
- Show the list as each item is inserted into the sorted part
- Compare insertion sort with bubble and merge sort
LessonPractice
Programming AQA Paper 1 · OCR Paper 2
- AQA 3.1.1, AQA 3.2 · AQA only
Reading AQA pseudo-code
- Read assignment with ←, = and ≠ as comparisons, and CONSTANT
- Read FOR, FOR IN, WHILE, REPEAT UNTIL and IF with ELSE IF
- Use SUBSTRING (end position included), POSITION, LEN and the conversion subroutines
LessonPractice - OCR 2.1.2, OCR 2.2.1, OCR Section 3c · OCR only
Reading OCR Exam Reference Language
- Read = for assignment and == for comparison, const and global
- Read for ... next, while, do ... until, if ... elseif and switch
- Use .substring(start, count), .left, .right, .length, .upper and .lower
LessonPractice - AQA 3.2.1, AQA 3.2.8, OCR 2.2.2 · AQA and OCR
Data types and casting
- Choose integer, real, Boolean, character or string for a piece of data
- Convert between strings and numbers, and say when a program must
LessonPractice - AQA 3.2.2, AQA 3.2.3, AQA 3.2.4, AQA 3.2.7, AQA 3.2.9, OCR 2.2.1, OCR 2.2.3 · AQA and OCR
Variables, constants, operators and input
- Use variables and constants, and explain why a named constant helps
- Evaluate expressions with +, -, *, /, DIV, MOD and comparisons
- Take input, give output and generate random numbers
LessonPractice - AQA 3.2.2, AQA 3.2.5, OCR 2.2.1 · AQA and OCR
Selection and Boolean conditions
- Trace IF, ELSE IF and nested selection
- Combine conditions with AND, OR and NOT
- Choose test values that reach every branch
LessonPractice - AQA 3.2.2, OCR 2.2.1 · AQA and OCR
Count-controlled and condition-controlled loops
- Trace count-controlled loops, including STEP
- Trace loops with the condition at the start or the end
- Trace nested loops and count how often a line runs
LessonPractice - AQA 3.2.8, OCR 2.2.3 · AQA and OCR
String handling
- Find a string's length, a character's position and a substring
- Join strings and convert between characters and character codes
LessonPractice - AQA 3.2.6, OCR 2.2.3 · AQA and OCR
Arrays and records
- Read and update one-dimensional and two-dimensional arrays
- Total, search and count through an array with a loop
- Use a record to keep related fields together
LessonPractice - AQA 3.2.10, OCR 2.2.3 · AQA and OCR
Procedures, functions and parameters
- Tell a procedure from a function and trace a call
- Pass data in with parameters and out with a return value
- Explain local and global variables and why structured code helps
LessonPractice - OCR 2.2.3 · OCR only
Reading and writing files
- Open, read, write and close a text file
- Read a file line by line until its end
LessonPractice - AQA 3.2.11, OCR 2.3.1 · AQA and OCR
Validation, authentication and maintainable code
- Write a range, length or presence check
- Write a simple username and password check
- Explain how naming, indentation, comments and subroutines help maintenance
LessonPractice - AQA 3.2.11, OCR 2.3.2 · AQA and OCR
Testing and errors
- Choose normal, boundary and erroneous (invalid) test data
- Tell a syntax error from a logic error and fix it
- Complete a test plan; tell iterative from final testing
LessonPractice - OCR 2.5.2 · OCR only
The IDE
- Name the IDE tools: editor, error diagnostics, run-time environment and translator
- Explain how each tool helps a programmer
LessonPractice
Data representation AQA Paper 2 · OCR Paper 1
- AQA 3.3.3, OCR 1.2.3 · AQA and OCR
Bits, bytes and storage units
- Use bit, nibble, byte and the prefixes kilo to peta
- Convert between units and compare quantities of data
- Work out how much storage a set of files needs
LessonPractice - AQA 3.3.1, AQA 3.3.2, OCR 1.2.4 · AQA and OCR
Binary, denary and hexadecimal
- Convert between binary, denary and hexadecimal from 0 to 255
- Explain why hexadecimal is used
LessonPractice - AQA 3.3.4, OCR 1.2.4 · AQA and OCR
Binary addition and shifts
- Add binary numbers of up to 8 bits and spot overflow
- Apply logical left and right shifts and say what they do to the value
LessonPractice - AQA 3.3.5, OCR 1.2.4 · AQA and OCR
Characters, ASCII and Unicode
- Use a character set table and the order of its codes
- Explain the number of characters a number of bits allows
- Compare ASCII and Unicode
LessonPractice - AQA 3.3.6, OCR 1.2.4 · AQA and OCR
Bitmap images
- Explain pixels, resolution and colour depth
- Calculate an image's file size
- Turn a bit pattern into a bitmap and back
LessonPractice - AQA 3.3.7, OCR 1.2.4 · AQA and OCR
Sound
- Explain sampling, sample rate and bit depth (sample resolution)
- Calculate a sound file's size and the effect of each setting
LessonPractice - AQA 3.3.8, OCR 1.2.5 · AQA and OCR
Why and how data is compressed
- Explain why files are compressed
- Compare lossy and lossless compression for a given use
LessonPractice - AQA 3.3.8 · AQA only
Run length encoding and Huffman coding
- Write data as RLE frequency and data pairs
- Read a Huffman tree and find each character's code
- Calculate the bits saved against 7-bit ASCII
LessonPractice
Computer systems AQA Paper 2 · OCR Papers 1 and 2
- AQA 3.4.5, OCR 1.1.1 · AQA and OCR
The CPU and the fetch-execute cycle
- Describe the ALU, control unit, clock, registers, cache and buses
- Describe the fetch, decode and execute stages
LessonPractice - OCR 1.1.1 · OCR only
Von Neumann architecture and registers
- Describe the program counter, MAR, MDR and accumulator
- Tell a register that holds an address from one that holds data
LessonPractice - AQA 3.4.5, OCR 1.1.2, OCR 1.1.3 · AQA and OCR
CPU performance and embedded systems
- Explain how clock speed, cores and cache size affect performance
- Describe embedded systems and give examples
LessonPractice - AQA 3.4.5, OCR 1.2.1 · AQA and OCR
RAM, ROM, cache and virtual memory
- Compare RAM and ROM, and explain volatile and non-volatile
- Explain what cache and registers are for
- Explain why and how virtual memory is used (OCR)
LessonPractice - AQA 3.4.5, OCR 1.2.2 · AQA and OCR
Secondary storage and the cloud
- Explain why secondary storage is needed
- Compare magnetic, solid state and optical storage on capacity, speed, portability, durability, reliability and cost
- Compare cloud and local storage
LessonPractice - AQA 3.4.2, OCR 2.4.1 · AQA and OCR
Logic gates and truth tables
- Give the truth tables for AND, OR and NOT
- Complete truth tables for circuits of up to three inputs
- Draw a circuit from a Boolean statement and the reverse
LessonPractice - AQA 3.4.2 · AQA only
XOR and Boolean expressions
- Use the XOR gate and its truth table
- Write and read expressions with . + ⊕ and the overbar
LessonPractice - AQA 3.4.1, AQA 3.4.3, OCR 1.5.1, OCR 1.5.2 · AQA and OCR
Operating systems and utility software
- Tell hardware from software, and system from application software
- Describe what an operating system manages
- Explain what encryption, defragmentation and compression utilities do
LessonPractice - AQA 3.4.4, OCR 2.5.1 · AQA and OCR
Programming languages and translators
- Compare high-level and low-level languages, machine code and assembly
- Compare compilers and interpreters
- Explain what an assembler does (AQA)
LessonPractice
Networks and cyber security AQA Paper 2 · OCR Paper 1
- AQA 3.5, OCR 1.3.1 · AQA and OCR
Types of network
- Describe LANs and WANs, and PANs (AQA)
- Give the advantages and disadvantages of networking computers
- Explain what affects a network's performance (OCR)
LessonPractice - OCR 1.3.1 · OCR only
Network hardware, the internet and topologies
- Describe routers, switches, wireless access points, NICs and transmission media
- Explain DNS, hosting, the cloud, and web servers and clients
- Compare client-server with peer-to-peer, and star with mesh topologies
LessonPractice - AQA 3.5, OCR 1.3.2 · AQA and OCR
Wired and wireless connections
- Compare wired and wireless networks and choose one for a scenario
- Describe Ethernet, Wi-Fi and Bluetooth
- Describe IP and MAC addresses (OCR)
LessonPractice - AQA 3.5, OCR 1.3.2 · AQA and OCR
Protocols and layers
- Explain what a protocol and a standard are
- Give the purpose of TCP, IP, HTTP, HTTPS, FTP, POP, IMAP and SMTP
- Explain why protocols are layered; name the four TCP/IP layers (AQA)
LessonPractice - AQA 3.5 · AQA only
Securing a network
- Explain authentication, encryption, firewalls and MAC address filtering
- Say how these methods work together
LessonPractice - AQA 3.6.1, AQA 3.6.2, OCR 1.4.1 · AQA and OCR
Cyber security threats
- Describe malware: viruses, trojans and spyware
- Describe social engineering: phishing, blagging and shouldering
- Describe brute-force, denial of service, interception, SQL injection and pharming
LessonPractice - AQA 3.6.2, AQA 3.6.3, OCR 1.4.2 · AQA and OCR
Preventing attacks
- Explain penetration testing, firewalls, anti-malware, access levels and passwords
- Explain encryption, physical security, biometrics, CAPTCHA, email confirmation and automatic updates
- Match a prevention method to a threat
LessonPractice
Databases, ethics and law AQA Paper 2 · OCR Papers 1 and 2
- AQA 3.7.1 · AQA only
Relational databases
- Use table, record, field, data type, primary key and foreign key
- Explain how related tables remove redundancy and inconsistency
LessonPractice - AQA 3.7.2, OCR 2.2.3 · AQA and OCR
SQL: finding data
- Write SELECT ... FROM ... WHERE queries
- Sort results with ORDER BY and join two tables (AQA)
LessonPractice - AQA 3.7.2 · AQA only
SQL: inserting, updating and deleting
- Write INSERT INTO, UPDATE ... SET and DELETE FROM statements
LessonPractice - AQA 3.8, OCR 1.6.1 · AQA and OCR
Ethical, legal, cultural and environmental impacts
- Discuss the impacts of digital technology on people and the environment
- Weigh privacy against security in a scenario
- Write a balanced extended answer
LessonPractice - OCR 1.6.1 · OCR only
Computer law and software licences
- Explain the Data Protection Act 2018, Computer Misuse Act 1990 and Copyright, Designs and Patents Act 1988
- Compare open source and proprietary licences
LessonPractice