OCR GCSE Computer Science (J277)

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

Start in the simulator
RefSpecification sectionLessons
1.1.1Architecture of the CPUF9.3 Hardware, software and von Neumann, F9.4 The CPU and fetch-execute
1.1.2CPU performanceF9.5 CPU performance
1.1.3Embedded systemsF9.8 Embedded systems: inside BugBot
1.2.1Primary storage (memory)F9.6 Memory
1.2.2Secondary storageF9.7 Secondary storage
1.2.3UnitsF8.1 Bits, bytes and units
1.2.4Data storageF8.2 Binary and denary, F8.3 Hexadecimal, F8.4 Binary addition, overflow and shifts, F8.6 Characters: ASCII and Unicode, F8.7 Images, F8.8 Sound, F13.5 Number and data questions
1.2.5CompressionF8.9 Compression
1.3.1Networks and topologiesF10.1 What is a network?, F10.2 Network hardware and connections, F10.3 Network performance, F10.4 Network topologies, F10.6 The internet, DNS and the cloud
1.3.2Wired and wireless networks, protocols and layersF10.5 Addresses and packets, F10.7 Protocols, F10.8 Layers, F10.9 Project: reliable delivery
1.4.1Threats to computer systems and networksF11.1 Why cyber security, F11.2 Malware, F11.3 Social engineering, F11.4 Network attacks
1.4.2Identifying and preventing vulnerabilitiesF11.5 Passwords and authentication, F11.6 Encryption, F11.7 Defending a network, F11.8 Writing secure programs, F11.9 Project: secure the robot
1.5.1Operating systemsF9.9 Operating systems and utilities
1.5.2Utility softwareF9.9 Operating systems and utilities
1.6.1Ethical, legal, cultural and environmental impactF12.1 Impacts of technology, F12.2 Personal data and privacy, F12.3 Computer misuse and the law, F12.4 Copyright and licences, F12.5 Technology and the environment, F12.6 The digital divide and accessibility, F12.7 AI, robots and bias, F12.8 Technology, jobs and daily life, F12.9 Project: an impact report, F13.6 Long answer questions
2.1.1Computational thinkingF4.4 Decomposition and abstraction
2.1.2Designing, creating and refining algorithmsF5.1 What an algorithm is, F5.2 Flowcharts, F5.3 Pseudocode and the exam reference language, F5.4 Trace tables
2.1.3Searching and sorting algorithmsF5.5 Linear search, F5.6 Binary search, F5.7 Bubble sort, F5.8 Insertion sort, F5.9 Merge sort and comparing algorithms
2.2.1Programming fundamentalsF1.1 What a program is, F1.2 Output: print, F1.6 Variables, constants and assignment, F1.7 Input from the user, F1.9 Arithmetic operators, F2.1 Blocks and indentation, F2.2 Selection: if, F2.3 else, elif and Boolean operators, F2.4 Nested selection and match, F2.5 Count-controlled loops: for, F2.6 Condition-controlled loops: while, F2.7 Loop patterns, F13.9 Project: the revision robot
2.2.2Data typesF1.8 Data types and casting, F3.2 Character codes and conversion
2.2.3Additional programming techniquesF1.3 Calling functions, F3.1 String handling, F3.3 Lists: one-dimensional arrays, F3.4 Iterating over a list, F3.5 Two-dimensional arrays, F3.6 Records, F3.7 Random numbers, F4.1 Writing functions, F4.2 Parameters and return values, F4.3 Local and global variables, F4.5 Libraries and your own modules, F7.1 Reading and writing files, F7.2 Relational databases, F7.3 SQL: SELECT, F7.4 SQL: two tables and changing data
2.3.1Defensive designF1.5 Comments and readable code, F6.1 Defensive design and validation, F6.2 Authentication
2.3.2TestingF1.4 Errors: syntax, runtime and logic, F6.3 Testing and test data, F6.4 Debugging logic errors
2.4.1Boolean logicF9.1 Logic gates and truth tables, F9.2 Logic circuits and expressions
2.5.1LanguagesF6.5 Languages and translators
2.5.2The Integrated Development Environment (IDE)F6.6 The IDE