Pearson Edexcel GCSE Computer Science (1CP2)

Every section of the specification, and the BugBot lesson that covers it. 66 of 66 sections have a lesson.

Start in the simulator
RefSpecification sectionLessons
1.1.1Benefits of decomposition and abstractionF4.4 Decomposition and abstraction
1.1.2Benefits of subprogramsF4.1 Writing functions
1.2.1Following and writing algorithmsF5.1 What an algorithm is, F5.2 Flowcharts
1.2.2Algorithms with variables and data structuresF5.3 Pseudocode and the exam reference language
1.2.3Algorithms with arithmetic, relational and logical operatorsF2.3 else, elif and Boolean operators
1.2.4The output of an algorithmF2.7 Loop patterns, F5.4 Trace tables
1.2.5Types of errorF1.4 Errors: syntax, runtime and logic
1.2.6Standard sorting and searching algorithmsF5.5 Linear search, F5.6 Binary search, F5.7 Bubble sort, F5.8 Insertion sort
1.2.7Fitness for purpose and efficiencyF5.9 Merge sort and comparing algorithms
1.3.1Truth tablesF9.1 Logic gates and truth tables, F9.2 Logic circuits and expressions
2.1.1Binary represents dataF8.1 Bits, bytes and units
2.1.2Unsigned and two's complement integersF8.5 Negative numbers: two's complement
2.1.3Denary and 8-bit binaryF8.2 Binary and denary, F13.5 Number and data questions
2.1.4Binary addition and shiftsF8.4 Binary addition, overflow and shifts
2.1.5OverflowF8.4 Binary addition, overflow and shifts
2.1.6HexadecimalF8.3 Hexadecimal
2.2.1Characters: 7-bit ASCIIF8.6 Characters: ASCII and Unicode
2.2.2Bitmap imagesF8.7 Images
2.2.3SoundF8.8 Sound
2.2.4Limits of binary representationF8.8 Sound
2.3.1Units of storage, in binary multiplesF8.1 Bits, bytes and units
2.3.2CompressionF8.9 Compression
3.1.1The von Neumann stored program conceptF9.3 Hardware, software and von Neumann, F9.4 The CPU and fetch-execute, F9.6 Memory
3.1.2Secondary storageF9.7 Secondary storage
3.1.3Embedded systemsF9.8 Embedded systems: inside BugBot
3.2.1Operating systemsF9.9 Operating systems and utilities
3.2.2Utility softwareF9.9 Operating systems and utilities
3.2.3Robust softwareF6.1 Defensive design and validation
3.3.1Low-level and high-level languagesF6.5 Languages and translators
3.3.2Interpreters and compilersF6.5 Languages and translators
4.1.1Why networksF10.1 What is a network?
4.1.2LAN and WANF10.1 What is a network?
4.1.3How the internet is structuredF10.5 Addresses and packets, F10.6 The internet, DNS and the cloud
4.1.4Wired and wirelessF10.2 Network hardware and connections
4.1.5Network speedsF10.3 Network performance
4.1.6ProtocolsF10.7 Protocols, F10.9 Project: reliable delivery
4.1.7The 4-layer TCP/IP modelF10.8 Layers
4.1.8TopologiesF10.4 Network topologies
4.2.1Network securityF11.4 Network attacks, F11.7 Defending a network, F11.9 Project: secure the robot
5.1.1Environmental issuesF12.1 Impacts of technology, F12.5 Technology and the environment, F12.6 The digital divide and accessibility, F12.9 Project: an impact report, F13.6 Long answer questions
5.2.1Personal dataF12.2 Personal data and privacy
5.2.2AI, machine learning and roboticsF12.7 AI, robots and bias, F12.8 Technology, jobs and daily life
5.2.3Intellectual propertyF12.3 Computer misuse and the law, F12.4 Copyright and licences
5.3.1Threats: malware and social engineeringF11.1 Why cyber security, F11.2 Malware, F11.3 Social engineering
5.3.2Protecting digital systemsF11.6 Encryption, F11.8 Writing secure programs
6.1.1Decomposition and abstraction in codeF4.4 Decomposition and abstraction
6.1.2Read, write, analyse and refine programsF6.4 Debugging logic errors
6.1.3Algorithms into codeF13.9 Project: the revision robot
6.1.4Readable codeF1.5 Comments and readable code
6.1.5Finding and correcting errorsF6.4 Debugging logic errors, F6.6 The IDE
6.1.6Test data and evaluationF6.3 Testing and test data
6.2.1Structural components of programsF2.1 Blocks and indentation
6.2.2Sequence, selection, repetition and iterationF1.1 What a program is, F2.4 Nested selection and match, F2.5 Count-controlled loops: for, F2.6 Condition-controlled loops: while, F3.4 Iterating over a list
6.3.1Primitive and structured data typesF1.8 Data types and casting, F3.3 Lists: one-dimensional arrays, F3.5 Two-dimensional arrays, F3.6 Records
6.3.2Variables and constantsF1.6 Variables, constants and assignment
6.3.3String manipulationF3.1 String handling, F3.2 Character codes and conversion
6.4.1Responding to user inputF1.2 Output: print, F1.7 Input from the user
6.4.2Reading and writing CSV filesF7.1 Reading and writing files
6.4.3ValidationF6.1 Defensive design and validation
6.4.4AuthenticationF6.2 Authentication, F11.5 Passwords and authentication
6.5.1Arithmetic operatorsF1.9 Arithmetic operators
6.5.2Relational operatorsF2.2 Selection: if
6.5.3Logical operatorsF2.3 else, elif and Boolean operators
6.6.1Built-in, library and user-devised subprogramsF1.3 Calling functions, F3.7 Random numbers, F4.5 Libraries and your own modules
6.6.2Writing functions and proceduresF4.1 Writing functions, F4.2 Parameters and return values
6.6.3Local and global variablesF4.3 Local and global variables