This checklist follows the linked 1CP2 specification's assessed content. Check the official document for assessment details, updates and your exam year.
All numbered subject-content statements are covered here. Pearson’s separate Programming Language Subset companion for the practical Paper 2 is not itemised; check that document with your teacher.
Tick each item off as you revise. Ticks are saved on this device only.
Computational thinking 1.1.1 Explain how decomposition and abstraction help model real-world situations and analyse, understand and solve problems.1.1.2 Explain the benefits of using subprograms.1.2.1 Follow and write flowchart, pseudocode and program-code algorithms using sequence, selection, count- or condition-controlled repetition, iteration over data structures, and input, processing and output.1.2.2 Explain and use variables and constants, and one- and two-dimensional strings, records and arrays.1.2.3 Explain and use arithmetic operators (addition, subtraction, division, multiplication, modulus, integer division, exponentiation), relational operators (equal, less/greater than, not equal, less/greater than or equal), and AND, OR and NOT.1.2.4 Determine an algorithm's output for given data and use a trace table to find a variable's value at a specified point.1.2.5 Recognise syntax, logic and runtime errors, and identify and correct logic errors in algorithms.1.2.6 Explain how bubble sort, merge sort, linear search and binary search work.1.2.7 Use logical reasoning and test data to judge an algorithm's fitness for purpose and efficiency, including comparisons, loop passes and memory use.1.3.1 Apply AND, OR and NOT in truth tables with up to three inputs to solve problems.Data 2.1.1 Explain how binary represents numbers, text, sound, graphics and program instructions, and calculate the number of states represented by a binary pattern of a given length.2.1.2 Explain how computers represent and manipulate unsigned integers and signed integers in two's complement.2.1.3 Convert between denary and 8-bit binary in the ranges 0–255 and −128 to +127.2.1.4 Add two positive binary patterns and apply logical and arithmetic binary shifts.2.1.5 Explain overflow in relation to the number of bits available to store a value.2.1.6 Explain why hexadecimal is used and convert between hexadecimal and binary.2.2.1 Explain how characters are encoded using 7-bit ASCII.2.2.2 Explain bitmap-image representation in binary, including pixels, resolution and colour depth.2.2.3 Explain binary representation of analogue sound, including amplitude, sample rate, bit depth and sample interval.2.2.4 Explain limitations of binary data representation when the number of available bits is restricted.2.3.1 Use binary storage units (bit, nibble, byte, kibibyte, mebibyte, gibibyte, tebibyte) and form expressions to calculate file sizes and storage capacity.2.3.2 Explain why data is compressed and distinguish lossless from lossy compression.Computers 3.1.1 Explain the von Neumann stored-program concept and the roles of RAM, CPU control unit, ALU, registers, clock and address, data and control buses in the fetch–decode–execute cycle.3.1.2 Explain secondary storage and how magnetic, optical and solid-state devices store data.3.1.3 Explain what an embedded system is and what it is used for.3.2.1 Explain operating-system purposes and functions: file, process, peripheral and user management.3.2.2 Explain utility-software purposes and functions: file repair, backup, compression, disk defragmentation and anti-malware.3.2.3 Explain why robust software matters and how audit trails and code reviews can identify vulnerabilities.3.3.1 Explain characteristics and purposes of low-level and high-level programming languages.3.3.2 Explain how an interpreter and a compiler differ in translating high-level code into machine code.Networks 4.1.1 Explain why computers are connected in networks.4.1.2 Explain the characteristics of LANs and WANs.4.1.3 Explain internet structure, including IP addressing and routers.4.1.4 Explain how wired and wireless connection speed, range, latency and bandwidth affect performance.4.1.5 Use network-speed units (kilobit, megabit and gigabit per second) and form expressions relating file size, transmission rate and time.4.1.6 Explain the role and need for Ethernet, Wi-Fi, TCP/IP, HTTP, HTTPS and FTP protocols, and POP3, SMTP and IMAP email protocols.4.1.7 Explain how the application, transport, internet and link layers of the TCP/IP model handle network data transmission.4.1.8 Explain characteristics of bus, star and mesh network topologies.4.2.1 Explain why network security matters, how penetration testing and ethical hacking identify vulnerabilities, and how access control, physical security and firewalls protect networks.Issues and impact 5.1.1 Explain environmental issues from digital-device energy use, manufacture, replacement cycles and disposal.5.2.1 Explain ethical and legal issues in collecting and using personal data: privacy, ownership, consent, misuse and data protection.5.2.2 Explain ethical and legal issues in AI, machine learning and robotics: accountability, safety, algorithmic bias and legal liability.5.2.3 Explain intellectual-property protections for computer systems and software: copyright, patents, trademarks and licensing.5.3.1 Explain threats from viruses, worms, Trojans, ransomware and key loggers; how attackers exploit technical weaknesses such as unpatched software or outdated anti-malware; and how social engineering enables cyberattacks.5.3.2 Explain protection of digital systems and data through anti-malware, encryption, acceptable-use policies, and backup and recovery procedures.Problem solving with programming 6.1.1 Use decomposition and abstraction to analyse, understand and solve problems.6.1.2 Read, write, analyse and refine programs in a high-level programming language.6.1.3 Translate flowchart and pseudocode algorithms into programs.6.1.4 Use layout, indentation, comments, meaningful identifiers and whitespace to make programs readable, understandable and maintainable.6.1.5 Identify, locate and correct logic, syntax and runtime errors in programs.6.1.6 Use logical reasoning and test data to evaluate a program's fitness for purpose and efficiency, including comparisons, loop passes and memory use.6.2.1 Identify program structure and explain the roles of constants, variables, initialisation and assignment, command sequences, selection, repetition, iteration, data structures, subprograms, parameters and input/output.6.2.2 Write programs using sequencing, selection, count- or condition-controlled repetition, iteration over data structures, and single-entry/single-exit code blocks and subprograms.6.3.1 Write programs using integer, real, Boolean and char primitive types, and string, array and record structured types in one or two dimensions.6.3.2 Write programs that use variables and constants appropriately.6.3.3 Write programs that manipulate string length, position and substrings, and convert string case.6.4.1 Write programs that accept user input and respond appropriately.6.4.2 Write programs that read and write comma-separated-value (CSV) text files.6.4.3 Explain the need for validation and implement length, presence, range and pattern checks in programs.6.4.4 Explain the need for authentication and implement ID-and-password and lookup approaches.6.5.1 Write programs using addition, subtraction, division, multiplication, modulus, integer division and exponentiation.6.5.2 Write programs using equal-to, less-than, greater-than, not-equal-to, less-than-or-equal and greater-than-or-equal operators.6.5.3 Write programs using AND, OR and NOT logical operators.6.6.1 Write programs using pre-existing built-in or library subprograms and user-devised procedures and functions.6.6.2 Write functions that may take parameters and return values, and procedures that may take parameters but do not return values.6.6.3 Explain the difference between global and local variables and use each appropriately in programs.Free to start. Pick your subject, answer a question, and see your first mark in minutes.
Start revising free