Pearson Edexcel GCSE Computer Science 1CP2 88 modules
Revision checklist
Every module on the course, in order. One module is one short video. Tick a row when you can explain it and answer a question on it without notes.
Ticks are saved in this browser only. Nothing is sent to us. Module titles and summaries are our own wording. Spec refs point to the Pearson specification so teachers can map each row back. See how the exam works.
Your progress
0/88
1 Topic 1 · Paper 1
Computational thinking
-
1.1
Decomposition and abstraction
Break a problem into smaller parts and strip out detail that does not matter so it is easier to model and solve.
-
1.2
Why we use subprograms
Reasons to split code into procedures and functions: reuse, easier testing, shared work and tidier programs.
-
1.3
Flowcharts
Read and draw flowcharts using the standard symbols for start and stop, process, decision and input or output.
-
1.4
Sequence, selection and repetition
Follow and write algorithms that run in order, branch on a condition, repeat a set number of times or until a condition is met and loop over every item.
-
1.5
Variables and constants
What variables and constants are, when each is the right choice and how they appear in an algorithm.
-
1.6
Strings, arrays and records
One- and two-dimensional data structures in algorithms: strings, arrays, records and how to pick out one item.
-
1.7
Arithmetic operators
Add, subtract, multiply, divide, modulus, integer division and powers, including what MOD and DIV give back.
-
1.8
Relational and logical operators
Comparisons (equal, not equal, greater, less and the or-equal versions) combined with AND, OR and NOT.
-
1.9
Trace tables
Work out what an algorithm outputs for given data and track each variable step by step in a trace table.
-
1.10
Types of error in algorithms
Tell syntax, logic and runtime errors apart and find and fix logic errors in a written algorithm.
-
1.11
Linear search
How a linear search checks items one at a time and when it is the only choice.
-
1.12
Binary search
How a binary search halves a sorted list each step and why the list must be sorted first.
-
1.13
Bubble sort
How bubble sort compares and swaps neighbouring pairs pass by pass and how you know it has finished.
-
1.14
Merge sort
How merge sort splits a list down to single items then merges them back in order.
-
1.15
Evaluating algorithms
Use test data and reasoning to judge if an algorithm works and how efficient it is (compares, loop passes, memory).
-
1.16
Truth tables
Build and use truth tables for AND, OR and NOT with up to three inputs to solve problems.
2 Topic 2 · Paper 1
Data
-
2.1
Why computers use binary
Everything (numbers, text, sound, images, instructions) is stored as binary. A pattern of n bits gives 2 to the power n states.
-
2.2
Denary and binary conversion
Convert between denary and unsigned 8-bit binary (0 to 255).
-
2.3
Logical binary shifts
Shift an 8-bit pattern left or right with zeros filling the gaps, what that does to the value and what is lost off the end.
-
2.4
Binary addition
Add two positive binary numbers column by column with carries.
-
2.5
Overflow
What happens when a result needs more bits than are available and why the stored answer is wrong.
-
2.6
Two's complement
Store negative whole numbers in 8 bits and convert between denary and two's complement (-128 to +127).
-
2.7
Arithmetic binary shifts
Shifts on signed numbers that keep the sign bit; how they differ from logical shifts.
-
2.8
Hexadecimal
Why programmers use hex and how to convert between hex and binary.
-
2.9
Characters and ASCII
How 7-bit ASCII turns characters into binary codes and how many characters it can hold.
-
2.10
Bitmap images
Pixels, resolution and colour depth; how each affects quality and file size.
-
2.11
Sound
How analogue sound is sampled: amplitude, sample rate, sample interval and bit depth.
-
2.12
Limits of binary representation
What goes wrong when there are not enough bits: limited range, lost precision and fewer colours or sound levels.
-
2.13
Units of data
Bit, nibble, byte and the binary multiples kibibyte to tebibyte; why 1 KiB is 1024 bytes.
-
2.14
File size calculations
Write expressions for image, sound and text file sizes and storage needs without a calculator.
-
2.15
Compression: lossless and lossy
Why we compress data and the difference between lossless and lossy methods, with when to use each.
3 Topic 3 · Paper 1
Computers
-
3.1
Von Neumann and the CPU
The stored program idea and the jobs of RAM, the control unit, the ALU, registers and the clock.
-
3.2
Fetch-decode-execute and buses
Step through the fetch-decode-execute cycle and the roles of the address, data and control buses.
-
3.3
Secondary storage
Why we need secondary storage and how magnetic, optical and solid state devices store data.
-
3.4
Embedded systems
What an embedded system is and where they are used.
-
3.5
Operating systems
What an operating system does: file, process, peripheral and user management.
-
3.6
Utility software
File repair, backup, compression, defragmentation and anti-malware tools and why each is needed.
-
3.7
Robust software
Why software must be robust and how audit trails and code reviews find weak spots.
-
3.8
Low-level and high-level languages
What low-level and high-level languages are like and when each is used.
-
3.9
Compilers and interpreters
How a compiler and an interpreter each turn high-level code into machine code and the trade-offs.
4 Topic 4 · Paper 1
Networks
-
4.1
Why we network computers
Reasons for connecting computers: sharing files, devices, internet access and communication.
-
4.2
LANs and WANs
The difference between local and wide area networks.
-
4.3
How the internet is structured
IP addresses and the job routers do in moving data across the internet.
-
4.4
Wired and wireless connections
How wired and wireless links compare on speed, range, latency and bandwidth.
-
4.5
Network speed calculations
Bits per second units and expressions linking file size, transfer rate and time.
-
4.6
Network protocols
Why protocols are needed and what Ethernet, Wi-Fi, TCP/IP, HTTP, HTTPS and FTP each do.
-
4.7
Email protocols
What SMTP, POP3 and IMAP each do and how POP3 and IMAP differ.
-
4.8
The TCP/IP model
The four layers (application, transport, internet, link) and how data passes down and up them.
-
4.9
Network topologies
Bus, star and mesh layouts with the strengths and weaknesses of each.
-
4.10
Finding network weaknesses
Why network security matters and how penetration testing and ethical hacking find vulnerabilities.
-
4.11
Protecting a network
Access control, physical security and firewalls as ways to protect a network.
5 Topic 5 · Paper 1
Issues and impact
-
5.1
Environmental impact of technology
Energy use, manufacturing, replacement cycles and disposal of digital devices.
-
5.2
Personal data: ethics and law
Privacy, ownership, consent, misuse and data protection when personal data is collected and used.
-
5.3
AI, machine learning and robotics
Accountability, safety, algorithmic bias and legal liability when using AI and robots.
-
5.4
Intellectual property
Protecting software and systems with copyright, patents, trademarks and licences.
-
5.5
Malware
Viruses, worms, Trojans, ransomware and key loggers: what each does.
-
5.6
How attackers get in
Unpatched software, out-of-date anti-malware and social engineering as routes into a system.
-
5.7
Protecting systems and data
Anti-malware, encryption, acceptable use policies and backup and recovery plans.
6 Topic 6 · Paper 2
Problem solving with programming
-
6.1
Data types and conversion
Integer, real, Boolean and character data in Python and converting between them with int, float, str and bool.
-
6.2
Variables, constants and assignment
Create and update variables, use constants for fixed values and initialise before use.
-
6.3
Input and output
Ask the user for input, convert it and respond with clear output.
-
6.4
Arithmetic in Python
Python operators for add, subtract, multiply, divide, integer division, modulus and powers.
-
6.5
Comparison and Boolean operators in Python
Compare values and combine conditions with the and, or and not operators.
-
6.6
Selection: if, elif and else
Choose between paths with if, elif and else, including nested decisions.
-
6.7
Count-controlled loops
For loops with range, including start, stop and step values.
-
6.8
Condition-controlled loops
While loops that repeat until a condition changes; how to avoid loops that never end.
-
6.9
Lists
Create lists; read and change items by index; add, insert or delete items.
-
6.10
Looping over a list or string
Visit every item in a list or every character in a string with a for loop.
-
6.11
Two-dimensional lists
Tables as lists of lists and reaching one cell with two indexes.
-
6.12
Records
Store related fields together as a record and work with a table of records with the same fields.
-
6.13
String handling
Length, finding a position, slicing substrings, changing case and checking or splitting strings.
-
6.14
Formatting output
Lay out results neatly, including set decimal places and aligned columns.
-
6.15
Procedures and functions
Write your own subprograms with or without parameters; know which return a value.
-
6.16
Local and global variables
Where a variable can be used, why local is usually safer and when global is used.
-
6.17
Built-in subprograms and library modules
Use built-in subprograms and the random, math and time modules listed in the PLS.
-
6.18
Turtle graphics
Draw shapes with the turtle module: moving, turning, pen control, fills and colours.
-
6.19
Reading CSV files
Open a comma separated text file, read it line by line and split each line into fields.
-
6.20
Writing and appending to files
Write or add lines to a text file and close it properly.
-
6.21
Validation
Length, presence, range and pattern checks on input; why validation is needed.
-
6.22
Authentication
Check an ID and password against stored values or a lookup.
-
6.23
Spotting the parts of a program
Name the parts of a given program: constants, variables, assignments, selection, loops, data structures, subprograms, parameters and input or output.
-
6.24
Readable code
Layout, indentation, comments, meaningful names and white space that make code easy to follow.
-
6.25
From flowchart or pseudocode to Python
Turn a flowchart or pseudocode into a working Python program.
-
6.26
Decomposition and abstraction in code
Split a programming task into parts and build it one tested piece at a time.
-
6.27
Reading and improving given code
Read code you did not write, work out what it does and finish or improve it.
-
6.28
Syntax, logic and runtime errors in Python
Recognise each error type from what Python shows and fix it.
-
6.29
Debugging in your IDE
Use line numbers, breakpoints, stepping and the variable inspector to find faults fast.
-
6.30
Testing and evaluating programs
Choose normal, boundary and erroneous test data and judge a program's fitness for purpose and efficiency.
gcsecsexplained.co.uk/checklist/edexcel/ Not affiliated with or endorsed by Pearson.