Computer Science
GCSEOCR

GCSE Computer Science Revision

Prepare for the OCR GCSE Computer Science J277 exam with Revision Genie. Revise the full OCR J277 specification, practise exam-style questions for Paper 1 (Computer Systems) and Paper 2 (Algorithms & Programming), and get instant step-by-step help to boost confidence and marks.

Curriculum Modules

Why the CPU Is Essential
The Fetch-Decode-Execute Cycle
What Registers Do (Big Picture)
The ALU: Arithmetic vs Logic
The Control Unit: Controlling the CPU
Cache: Why the CPU Needs It
Von Neumann Architecture: The Stored Program Concept
MAR: Storing the Address
MDR: Storing the Data
Program Counter: Tracking the Next Instruction
Accumulator: Holding Results
Data vs Address: Telling Them Apart in Registers
Clock Speed: What It Measures and Why It Matters
Core Count: How More Cores Can Improve Performance
Cache Size: When Bigger Helps (and When It Doesn’t)
Comparing CPU Specs for Real Scenarios
Embedded Systems: What They Are
Typical Features of Embedded Systems
Examples of Embedded Systems in Everyday Life
Why Computers Need Primary Storage
RAM: Purpose and Key Characteristics
ROM: Purpose and Key Characteristics
RAM vs ROM: Comparing Roles and Behaviour
Cache in Memory Hierarchy: Why It Speeds Things Up
Virtual Memory: Why It’s Needed
Virtual Memory: How It Works (RAM ↔ Secondary Storage)
Why Computers Need Secondary Storage
Magnetic Storage: What It Is and Typical Uses
Optical Storage: What It Is and Typical Uses
Solid State Storage: What It Is and Typical Uses
Choosing Storage for a Scenario (Capacity, Speed, Portability, Durability, Reliability, Cost)
Bit, Nibble, Byte: What They Mean
KB to PB: Using Data Units Confidently
Why All Data Must Be Stored in Binary
Calculating Text File Size (Bits per Character × Characters)
Calculating Image File Size (Colour Depth × Width × Height)
Calculating Sound File Size (Sample Rate × Duration × Bit Depth)
Denary to Binary (0–255) Step-by-Step
Binary to Denary (0–255) Step-by-Step
Binary Addition (Up to 8 Bits)
Overflow: What It Is and Why It Happens
Denary to Hex (00–FF) Step-by-Step
Hex to Denary Step-by-Step
Binary to Hex and Hex to Binary Conversions
Most Significant Bit and Least Significant Bit
Binary Shifts: Left Shift Effects on a Number
Binary Shifts: Right Shift Effects on a Number
Characters in Binary: What Encoding Means
ASCII vs Unicode: Why More Bits Means More Characters
Character Sets: Linking Bits per Character to Number of Symbols
Why Character Sets Have an Order (e.g. ‘B’ After ‘A’)
Images as Pixels: Representing Pictures in Binary
Colour Depth: How It Affects File Size and Quality
Resolution: How It Affects File Size and Quality
Metadata: What It Is and Why It’s Stored
Sampling Sound: Turning Analogue into Digital
Sample Rate: Impact on Quality and File Size
Bit Depth: Impact on Quality and File Size
Duration: How It Changes File Size
Why Compression Is Needed
Lossy Compression: When It’s Used and Trade-Offs
Lossless Compression: When It’s Used and Trade-Offs
Choosing Lossy vs Lossless for a Scenario
What a Network Is (and Why We Use Them)
LAN vs WAN: Differences and Examples
Network Performance: Bandwidth and Number of Devices
Client-Server Networks: Roles and Use Cases
Peer-to-Peer Networks: Roles and Use Cases
Routers: What They Do in a Network
Switches: What They Do in a Network
Wireless Access Points: What They Do
NICs: Why Devices Need Them
Transmission Media: What It Means (Wired vs Wireless)
The Internet as a Network of Networks
DNS: Turning a URL into an IP Address
Hosting: What It Means for Websites and Services
Web Servers and Clients: Requests and Responses
The Cloud: Remote Storage, Software and Processing
Pros and Cons of Cloud Computing
Star Topology: How It Works
Mesh Topology: How It Works
Star vs Mesh: Advantages and Disadvantages
Wired Connections (Ethernet): Typical Benefits and Drawbacks
Wireless Connections (Wi-Fi, Bluetooth): Typical Benefits and Drawbacks
Choosing Wired vs Wireless for a Scenario
Encryption Over Networks: The Core Idea
IP Addresses: What They Identify
IPv4 Format vs IPv6 Format
MAC Addresses: What They Identify and Where They’re Used
Standards: Why Shared Rules Matter
Protocols: Rules for Transferring Data
TCP/IP: The Big Picture
HTTP vs HTTPS: Why Secure Web Traffic Matters
FTP: Sending Files Over Networks
Email Protocols: SMTP vs POP vs IMAP
Layers in Protocols: The Core Idea
Why Layers Help (Troubleshooting, Compatibility, Simplicity)
Security Threats: Why Networks Are Targeted
Malware: What It Is and What It Does
Social Engineering: People as the Weak Point
Phishing: Recognising and Explaining the Attack
Brute-Force Attacks: How They Work
Denial of Service Attacks: What They Aim to Do
Data Interception and Theft: What It Means
SQL Injection: The Basic Concept
Penetration Testing: Finding Weaknesses on Purpose
Anti-Malware Software: Detecting and Removing Threats
Firewalls: Controlling Network Traffic
User Access Levels: Limiting Damage Through Permissions
Strong Password Practice: Reducing Brute-Force Risk
Encryption as a Defence: Protecting Data in Transit/At Rest
Physical Security: Protecting Hardware and Access
Matching Defences to Attacks (Scenario Practice)
Systems Software vs Application Software
Operating Systems: The Core Purpose
User Interfaces: CLI vs GUI Features
Memory Management: Why the OS Controls Memory Use
Multitasking: How the OS Enables It (Conceptually)
Peripheral Management: Why Devices Need Managing
Drivers: Why Hardware Needs Them
User Management: Accounts, Permissions and Access Rights
File Management: Naming, Folders, Moving and Saving
Utility Software: What “Housekeeping” Means
Encryption Utilities: Purpose and Typical Use
Defragmentation Utilities: Purpose and Typical Use
Compression Utilities: Purpose and Typical Use
Choosing the Right Utility for a Scenario
Ethical Issues: What “Ethical” Means in Computing
Legal Issues: When Tech Use Breaks the Law
Cultural Issues: How Tech Changes Behaviour and Society
Environmental Issues: Energy Use, E-Waste and Sustainability
Privacy Issues: Personal Data and Consent
Discussing Impacts Using Real Examples (Structured Answers)
Data Protection Act 2018: What It Protects
Data Protection Act 2018: Typical Responsibilities for Organisations
Computer Misuse Act 1990: Unauthorised Access and Related Offences
Copyright, Designs and Patents Act 1988: Protecting Creative Work
Why Software Licensing Exists
Open Source Licences: Features and Benefits
Open Source Licences: Drawbacks and Risks
Proprietary Software: Features and Benefits
Proprietary Software: Drawbacks and Risks
Recommending a Licence for a Scenario (Justifying Benefits/Drawbacks)
Computational Thinking: Why It Matters
Abstraction: Removing Unnecessary Detail
Decomposition: Breaking Problems into Parts
Algorithmic Thinking: Designing Clear Steps
Inputs, Processes and Outputs (IPO) for a Problem
Structure Diagrams: Showing Sections and Links
Pseudocode: Writing Algorithms Clearly
Flowcharts: Turning Steps into Diagrams
Flowchart Symbols: Input/Output, Process, Decision, Subprogram, Terminal
Using Nesting in Selection and Iteration
Spotting Common Errors in Algorithms
Syntax Errors vs Logic Errors (In Algorithm Work)
Trace Tables: Tracking Variables Step-by-Step
Linear Search: How It Works
Linear Search: Tracing on a Data Set
Binary Search: How It Works
Binary Search: Why Sorted Data Is Required
Binary Search: Tracing on a Data Set
Bubble Sort: How It Works
Bubble Sort: Tracing Passes on a List
Insertion Sort: How It Works
Insertion Sort: Tracing Insert Steps
Merge Sort: The Big Idea (Divide and Merge)
Merge Sort: Tracing a Simple Example
Identifying Search/Sort Algorithms from Code or Pseudocode
Variables vs Constants
Assignment: Storing Values in Variables
Inputs and Outputs: Getting Data In and Out
Sequence: Executing Statements in Order
Selection: Using IF/ELSE to Choose Paths
Iteration: Repeating with Count-Controlled Loops
Iteration: Repeating with Condition-Controlled Loops
Using Nested Selection and Nested Loops (Patterns)
Arithmetic Operators: +, -, *, /, DIV, MOD, ^
Comparison Operators: ==, !=, <, <=, >, >=
Boolean Operators: AND, OR, NOT in Programs
Choosing the Right Operator for a Condition
Integer vs Real: When Each Is Appropriate
Boolean Data: True/False Logic in Code
Characters vs Strings: What’s Different
Casting: Changing Data Type Temporarily
Choosing Suitable Data Types for a Scenario
String Concatenation: Joining Text
String Slicing: Taking Substrings
File Handling: Opening and Closing Files Safely
File Handling: Reading from a File
File Handling: Writing to a File
Records: Grouping Related Fields Together
Arrays: Why They’re Useful
1D Arrays: Creating and Using Lists
2D Arrays: Representing Tables of Data
2D Arrays as “Database Tables” (Fields and Records)
SQL SELECT: Choosing What to Return
SQL FROM: Choosing the Data Source
SQL WHERE: Filtering Results
Subprograms: Why We Use Functions and Procedures
Functions: Returning Values
Procedures: Performing Tasks Without Returning a Value
Local vs Global Variables (and Why It Matters)
Passing Arrays into Subprograms (Conceptually)
Random Number Generation: Why and How It’s Used
What “Defensive Design” Means
Anticipating Misuse: Thinking Like a User (and an Attacker)
Authentication: Confirming Identity
Simple Username and Password Authentication (Logic)
Input Validation: Presence Checks
Input Validation: Range and Type Checks
Handling Invalid Data (Reject, Retry, Default)
Maintainability: Why Readable Code Matters
Using Subprograms to Improve Maintainability
Naming Conventions: Making Code Self-Explaining
Indentation: Preventing Logic Mistakes
Commenting: When It Helps (and When It Doesn’t)
The Purpose of Testing (Not Just “Finding Bugs”)
Iterative Testing: Testing During Development
Final Testing: Testing at the End
Syntax Errors: What They Look Like and Why They Stop Programs
Logic Errors: Why Programs Run but Give Wrong Results
Normal Test Data: What It Proves
Boundary Test Data: Testing the Edge of Valid
Invalid Test Data: Correct Type but Not Allowed
Erroneous Test Data: Wrong Type Entirely
Building a Test Plan (Inputs, Expected Outputs, Actual Outputs)
Refining an Algorithm After Test Results
What a Logic Gate Does
The AND Gate: Symbol and Truth Table
The OR Gate: Symbol and Truth Table
The NOT Gate: Symbol and Truth Table
Reading Simple Logic Diagrams
Completing Truth Tables from a Logic Diagram
Drawing a Logic Diagram from a Scenario
Combining Gates (Two Gates in a Circuit)
Combining Gates (Three+ Gates in a Circuit)
Using Truth Tables to Solve Logic Problems
Checking and Correcting Logic Diagrams and Truth Tables
Alternative Truth Table Notation (1/0 vs T/F)
High-Level Languages: Characteristics and Purpose
Low-Level Languages: Characteristics and Purpose
Comparing High-Level vs Low-Level in Context
Translators: Why They’re Needed
Compilers: What They Do
Interpreters: What They Do
Compiler vs Interpreter: Key Differences
Compiler vs Interpreter: Benefits and Drawbacks in Scenarios
What an IDE Is (and Why It’s Useful)
IDE Editors: Writing Code Efficiently
IDE Error Diagnostics: Finding Mistakes Faster
IDE Runtime Environment: Running and Testing Code
IDE Translators: Building/Interpreting Within the Tool
Choosing IDE Tools to Improve Your Workflow

Frequently Asked Questions

The OCR J277 specification covers computer systems (architecture, memory, networks, cybersecurity), computational thinking, algorithms, programming fundamentals, Boolean logic, and producing robust programs. The course is split across two exam papers.

Computer Science requires logical thinking and problem-solving skills. Students who enjoy puzzles and breaking down problems typically find it manageable. The programming component requires practice, but our AI tutor helps by explaining concepts step-by-step and adapting to your level.

OCR accepts Python, Java, C#, or VB.Net for the programming questions. Most schools teach Python due to its readability. Our revision tool supports all languages but focuses on Python as the most common choice.

Two written exams, each 1 hour 30 minutes. Paper 1 (Computer Systems) is worth 50% and Paper 2 (Computational Thinking) is worth 50%. There's no coursework - it's 100% exam-based.

Most sixth forms require a grade 6 or above to study A-Level Computer Science. Some accept grade 5, but a stronger GCSE grade helps with the jump to A-Level content.

Our OCR GCSE Computer Science revision covers the complete J277 specification across both exam papers. Paper 1 (Computer Systems) includes systems architecture, memory, storage, wired and wireless networks, network security, systems software, and ethical, legal and environmental impacts of technology. Paper 2 (Computational Thinking, Algorithms and Programming) covers algorithms, programming techniques, producing robust programs, Boolean logic, and programming languages. Revision Genie adapts to your understanding - if you're struggling with binary arithmetic or two's complement, you'll get additional practice. Already confident with pseudocode? Move straight to more challenging algorithm questions. Every student follows their own path through the specification. Our AI tutor explains concepts the way a teacher would, breaking down topics like CPU fetch-execute cycles, sorting algorithms, and SQL queries into digestible steps. Practice with exam-style questions that match OCR's format, including multiple choice, short answer, and extended response questions worth up to 8 marks.
Revision GenieRevision Genie

Turn "I don't understand" into "I aced it" with instant explanations, personalised lessons, and exam practice that actually works.

Need Support?

We're here to help with study stress or exam pressure.

Revision Genie Ltd45 Fitzroy Street, London W1T 6EBCompany: 16212210ICO: ZC008367

© 2026 Revision Genie Ltd. All rights reserved. IBO, AQA, OCR, and Edexcel were not involved in the production of, and do not endorse, the resources or AI tutoring provided on the Revision Genie platform.

Genie

Hi! 👋 Ask me anything about Computer Science, or try the study modes.

Add files and more
Create custom practice
Revision Genie can make mistakes, check responses.