The definitive, fully detailed reverse-engineered guide based on exam reality.
1.1 Architecture of the CPU
1.1.1 Architecture of the CPU
Students must understand the purpose of the CPU, the specific stages of the Fetch-Execute cycle, and the exact roles of its internal components and registers.
The Purpose of the CPU:
The CPU fetches, decodes, and executes instructions that are stored in main memory (RAM).
The Fetch-Decode-Execute (FDE) Cycle:
Fetch: An instruction is fetched from memory. The Program Counter increments.
Decode: The Control Unit decodes the instruction (understanding what action needs to be taken).
Execute: The instruction is carried out (e.g., the ALU performs a calculation or data is moved). The cycle then repeats continuously.
CPU Components and Their Functions:
Arithmetic Logic Unit (ALU): Performs all mathematical calculations and logical operations.
Control Unit (CU): Controls, coordinates, and synchronises the operations of the CPU. It also decodes the instructions.
Cache: A small amount of extremely fast memory located inside or very close to the CPU. It stores frequently or recently used instructions/data, allowing the CPU to access them faster than retrieving them from RAM.
Registers: Very small, incredibly fast memory locations built directly into the CPU chip.
Von Neumann Architecture (Registers):
The Golden Rule: Students must explicitly understand the difference between a register that stores an address (a location in memory) and a register that stores data (the actual binary instructions or values).
Program Counter (PC): Stores the address of the next instruction to be fetched from memory.
Memory Address Register (MAR): Stores the address of the instruction or data currently being fetched, or the address where data is about to be stored.
Memory Data Register (MDR): Stores the actual data or instruction that has just been fetched from memory, or the data waiting to be written to memory.
Accumulator (ACC): Stores the result of mathematical or logical calculations performed by the ALU.
1.1.2 CPU Performance
Students must be able to explain how the following characteristics affect the performance of a computer system, both individually and in combination (e.g., comparing two different processors in an exam scenario).
Clock Speed:
Definition: The number of Fetch-Execute cycles the CPU can run per second. Measured in Hertz (Hz).
Impact: A higher clock speed (e.g., 3.8 GHz) means the CPU can execute 3.8 billion instructions per second. Therefore, more cycles are completed in a given timeframe.
Cache Size:
Definition: The amount of high-speed memory on the CPU.
Impact: A larger cache can store more frequently used instructions. Because the CPU can access cache much faster than RAM, a larger cache reduces the time the CPU spends waiting for data, improving overall efficiency.
Number of Cores:
Definition: A core is a complete processing unit within the CPU. A single-core has one; a dual-core has two; a quad-core has four.
Impact: Multiple cores allow for parallel processing / multitasking. Each core can fetch and execute a separate instruction independently at exactly the same time.
1.1.3 Embedded Systems
Students must be able to identify embedded systems, justify their choices, and contrast them with general-purpose computers (like laptops and tablets).
Purpose: A computer system built into a larger machine or device specifically to control it.
Characteristics:
They are dedicated to a specific, single, or limited task.
They are typically controlled by a single microprocessor on a single printed circuit board.
The software is stored in firmware/ROM (meaning it is extremely difficult or impossible for the user to update or change the operating system).
They usually have limited RAM and no secondary storage.
Examples to know: Washing machines, microwaves, traffic lights, engine management systems in cars, automated parking sensors, sat-navs, and smart watches.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
To secure top marks, students must avoid these common pitfalls seen in past papers:
The Register Trap (Address vs Data): The most common reason for dropping marks in Section 1.1. If an exam asks for the purpose of the MAR, writing "stores data" scores zero. It stores the address of the data.
The Program Counter Misconception: A massive misconception is that the PC keeps track of "how many programmes are open", "counts the instructions", or stores the actual instruction. It strictly stores the address of the next instruction.
The Multicore Myth: If a question asks to compare a 1GHz Quad-Core with a 2GHz Dual-Core, students must acknowledge that the Quad-Core is not automatically faster. If the software is not programmed to be split across multiple cores (parallel processing), the extra cores will sit idle, and the 2GHz Dual-Core will perform faster due to its higher clock speed.
The "Faster" Ban: When explaining CPU performance, never let students simply write "it makes the computer faster". Examiners demand precision. They must write: "It executes more FDE cycles per second" (Clock Speed) or "Data is transferred faster than accessing RAM" (Cache).
❌ Explicitly Not Required (Do Not Teach/Revise)
Passing Data Between Registers: The official transition guide explicitly removes the requirement to know the detailed data transfer pathways between registers during the FDE cycle. Students do not need to memorise statements like "The Program Counter copies its value to the MAR via the address bus". They only need to know the independent purpose of each register.
1.2 Memory and Storage
1.2.1 Primary Storage (Memory)
Students must clearly distinguish between the different types of memory, their volatility, and their exact purpose in the computer system.
The Need for Primary Storage:
Primary storage is memory that can be accessed directly and quickly by the CPU. It is required to hold data and instructions that the CPU needs to access immediately.
RAM (Random Access Memory):
Characteristics: Volatile (loses all data when power is lost), read and write capabilities.
Purpose: Stores the operating system, currently running programmes, and data currently in use.
ROM (Read Only Memory):
Characteristics: Non-volatile (retains data when power is lost), read-only.
Purpose: Stores the computer's startup instructions (the boot programme / BIOS).
Virtual Memory:
The Need: Used when the physical RAM becomes completely full (e.g., when too many heavy applications are open simultaneously).
Mechanics: A partitioned area of secondary storage (the hard drive) is temporarily allocated to act as extra RAM. Data that is not immediately needed is transferred from RAM to virtual memory to free up space. When needed again, it is swapped back to RAM.
Cache: A small amount of extremely fast memory located inside or very close to the CPU. It stores frequently or recently used instructions and data to speed up processing.
1.2.2 Secondary Storage
Students must evaluate storage media using six specific characteristics and recommend the correct device for a given scenario.
The Need for Secondary Storage:
To store data, files, the operating system, and software permanently (non-volatile). Without it, all data would be lost when the computer is turned off.
Storage Technologies:
Optical: Uses lasers to burn 'pits' and 'lands' into the surface of a disk (e.g., CD, DVD, Blu-Ray).
Magnetic: Uses moving magnetic read/write heads over spinning metal platters (e.g., Hard Disk Drive, magnetic tape).
Solid State: Uses flash memory chips trapping electrons with no moving parts (e.g., SSD, USB drive, SD card).
The Six Evaluation Characteristics:
Students must memorise and use these exact terms when comparing devices: Capacity, Speed, Portability, Durability, Reliability, and Cost.
1.2.3 Units & Data Capacity Calculations
Students must be able to convert between units and calculate file sizes. Examiners explicitly accept and prefer using Base-10 multiples of 1,000 for all calculations.
Why Binary? Computers consist of transistors/switches that operate using electrical states (they can only be on or off / 1 or 0).
The Units: Bit (0 or 1), Nibble (4 bits), Byte (8 bits), Kilobyte (1,000 bytes), Megabyte (1,000 KB), Gigabyte (1,000 MB), Terabyte (1,000 GB), Petabyte (1,000 TB).
Text File Size: Bits per character × Number of characters.
(Note: Examiners may allow for metadata in calculations, but it is easiest to teach students to calculate the raw minimum file size).
1.2.4 Data Representation
Students must understand how numbers, characters, images, and sound are converted into binary.
Numbers and Logic
Binary & Denary: Convert between denary (0-255) and 8-bit binary. Add two binary integers (up to 8 bits).
Overflow Errors: Occur when the result of a binary addition requires more bits to store than the CPU architecture allows (e.g., generating a 9th bit in an 8-bit register). Students must understand the terms Most Significant Bit (MSB) and Least Significant Bit (LSB).
Hexadecimal: Convert between denary, binary, and 2-digit hexadecimal (00-FF).
Binary Shifts: A logical left shift multiplies the number (by 2, 4, 8, etc.). A logical right shift divides the number.
Characters
Character Sets: A logically ordered, defined list of characters recognised by the computer hardware, each assigned a unique binary code. Because they are logically ordered, if a student knows the binary code for 'A', they must be able to calculate the code for 'C' by adding 2.
ASCII vs Unicode: ASCII uses 8 bits per character (allowing 256 unique characters). Unicode uses 16 or 32 bits, allowing millions of characters (accommodating all global languages and emojis) but drastically increasing text file sizes.
Images
Pixels: The smallest identifiable area/dot of an image. Each pixel is assigned a specific binary code representing its colour.
Colour Depth: The number of bits used to represent the colour of a single pixel. A higher colour depth allows for more available colours, increasing realism but increasing file size.
Resolution: The concentration of pixels in a specific area (width × height). Higher resolution means sharper images but larger file sizes.
Metadata: Extra data stored in the file that tells the computer how to reconstruct the image (e.g., height, width, colour depth).
Sound
Analogue to Digital: Sound is naturally analogue. To store it, the amplitude of the wave is measured at set intervals (Sampling) and converted into a binary number.
Sample Rate: The number of times per second the sound wave is measured, measured in Hertz (Hz).
Bit Depth: The number of bits allocated to store each sample.
Impact: Increasing the Sample Rate or Bit Depth improves playback quality (making it closer to the original analogue wave) but significantly increases the file size.
1.2.5 Compression
The Need: To reduce file sizes to save secondary storage space and decrease transmission/download times across networks.
Lossy Compression: Permanently removes data/detail to drastically reduce file size. Video, images, and audio can still be viewed/listened to with lower quality.
Lossless Compression: Uses algorithms to group repeating patterns. Reduces file size without permanently removing any data. The file is restored to its exact original state when uncompressed.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The "Memory" Generalisation Trap: Never just write "Memory". Examiners will not award marks unless you specifically write RAM, ROM, or Secondary Storage.
The Virtual Memory Trap: A huge number of students write that Virtual Memory "makes the computer faster". This is completely false. Virtual memory is significantly slower than RAM because the HDD/SSD read speeds are slower. It simply prevents the system from crashing.
The Lossy Text Trap: If an exam asks for a suitable compression method for a text file or source code, you MUST state Lossless. If you use Lossy on text, words will be permanently deleted, rendering the file meaningless.
The Durability Trap: If a scenario features a user travelling (e.g., a photographer on a train), you must recommend Solid State Storage (SSD/SD Card). A magnetic HDD has moving read/write heads that will easily break if dropped.
❌ Explicitly Not Required (Do Not Teach/Revise)
Banned Terminology: Do not teach "Sampling Frequency" or "Bit Rate" for audio. You must strictly use the industry-standard terms "Sample Rate" and "Bit Depth".
Internal Component Mechanics: Students do NOT need to know the physical component parts of secondary storage drives (e.g., they do not need to memorise how lasers read optical pits, or how magnetic platters spin).
Base-2 Storage Multiples: Students do NOT need to know or use Kibibytes (KiB), Mebibytes (MiB), or 1024. The OCR exam board expects the use of standard Base-10 multiples (1,000) for all capacity calculations.
Compression Algorithms: Students do NOT need to learn how to carry out specific compression algorithms (like Run Length Encoding or Huffman Coding). They only need to know the theoretical difference between Lossy and Lossless.
Check Digits: The requirement to calculate check digits has been completely removed from J277.
1.3 Computer Networks, Connections and Protocols
1.3.1 Networks and Topologies
Students must be able to define network types, compare network models, evaluate topologies, and identify specific hardware functions.
Types of Network:
LAN (Local Area Network): Covers a small geographical area (e.g., a single building or school site). The organisation typically owns all the hardware/infrastructure.
WAN (Wide Area Network): Covers a large geographical area (e.g., across a country or globally). It connects LANs together and relies on external, third-party telecommunications infrastructure (e.g., broadband cables, satellites).
Network Performance Factors:
Bandwidth: The maximum amount of data that can be transmitted in a given time.
Number of Devices/Users: More users sharing the network means the available bandwidth is split, resulting in slower transmission speeds for everyone.
Network Roles (Models):
Client-Server: A central server provides services (e.g., web server provides pages, file server provides storage). Client computers request these services.
Benefits: Easy to manage backups and security centrally; easy to update software.
Drawbacks: Expensive to set up; reliant on the server (single point of failure).
Peer-to-Peer (P2P): All computers have equal status and share data directly. No central server.
Benefits: Cheaper to set up; no single point of failure.
Drawbacks: Users must manage their own security and backups; files are harder to track.
Hardware for a LAN:
NIC (Network Interface Controller): Hardware built into a device allowing it to connect to a network.
Switch: Connects devices within a LAN. Directs data packets only to the specific intended device using MAC addresses.
Router: Connects different networks together (e.g., joining a LAN to the Internet). Directs data packets using IP addresses.
WAP (Wireless Access Point): Allows wireless devices to connect to a wired network.
The Internet, DNS, and The Cloud:
The Internet: A worldwide collection of interconnected computer networks.
DNS (Domain Name System): Made up of multiple Domain Name Servers. It translates human-readable URLs (e.g., www.ocr.org.uk) into their corresponding IP addresses so the computer can locate the web server.
The Cloud: Remote services accessed via the internet (providing storage, software, or processing).
Benefits: Access data from anywhere; host manages security and backups; easy to scale.
Drawbacks: Useless without internet; reliant on a third party for security; potential subscription costs.
Topologies:
Star Topology: All devices connect to a central switch.
Benefits: If one cable breaks, the rest of the network keeps working; fewer data collisions.
Drawbacks: If the central switch fails, the whole network goes down.
Mesh Topology: All devices connect to each other.
Benefits: Highly robust with no single point of failure (if a cable breaks, data routes another way).
Drawbacks: Very expensive and complex to set up due to the amount of cabling required.
1.3.2 Wired and Wireless Networks, Protocols and Layers
Students must understand how data travels securely, the rules governing it, and the difference between physical and logical addresses.
Modes of Connection:
Wired (Ethernet): High bandwidth, very secure, reliable, but restricted movement.
Wireless (Wi-Fi / Bluetooth): Highly portable, easy to add devices without cables, but lower bandwidth, less secure, and subject to interference.
Encryption:
The process of scrambling data into an unreadable format using a key. Protects data during transmission so intercepted data is meaningless without the decryption key.
IP Addressing and MAC Addressing:
MAC Address: Assigned to devices (hardcoded into the NIC). Used for routing data within a network. Formatted as Hexadecimal.
IP Address: Allocated to a device by the network. Used for routing data across the internet.
Formats: IPv4 is written as four denary numbers separated by dots (e.g., 192.168.1.1). IPv6 was created because IPv4 ran out of addresses and is written in hexadecimal.
Standards:
Provide rules for areas of computing. They allow hardware and software from different manufacturers to interact and be compatible (interoperability).
Common Protocols:
Definition: A set of rules for data transfer. Different protocols have different purposes.
TCP/IP: The foundational protocol for routing packets over the internet.
HTTP: Used for accessing and receiving web pages.
HTTPS: Used for securely accessing web pages (encrypts the data).
FTP: Used for transferring (uploading/downloading) files to/from a server.
SMTP: Used for sending emails.
POP & IMAP: Used for receiving/downloading emails.
The Concept of Layers:
Dividing the complex task of networking into smaller, manageable, distinct sections.
Benefits: Layers are self-contained. Developers can write software for one layer without needing to understand the others; a layer can be updated without affecting the others.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The DNS Trap: A common student mistake is writing that a DNS "searches the internet for the website". It does NOT. It simply acts as a directory to translate a URL into an IP address.
The WAN Trap: If asked to define a WAN, never just write "Wide Area Network". You must explicitly state it covers a "large geographical area" AND "uses third-party/external infrastructure".
The IPv4 Limit Trap: Look out for questions asking you to identify an "invalid" IPv4 address. Any address with a number higher than 255 (e.g., 258.0.0.3) is impossible.
The Cloud Security Trap: Do not say the Cloud is "easier to hack". Cloud servers often have enterprise-grade security. Instead, say "You are relying on a third party to manage the security" or "Data could be intercepted while being transmitted over the internet".
❌ Explicitly Not Required (Do Not Teach/Revise)
Packet Switching: The J277 syllabus explicitly removed the need to explain how packet switching works (e.g., no need to teach packet headers, payload, or reassembly).
Virtual Networks: Completely removed from the specification.
Wi-Fi Mechanics: Students no longer need to learn about frequencies (2.4GHz vs 5GHz) or overlapping channels. They also do not need to know the detailed technical workings of Ethernet or Bluetooth.
IP Address Types: Do NOT teach Static vs Dynamic IP addresses, or Public vs Private IP addresses.
TCP/IP Layers: Students must understand the concept of layers, but they do NOT need to memorise the specific names or functions of the 4 TCP/IP layers (Application, Transport, Internet, Link).
Named Standards: Students do not need to memorise specific numbered standards (e.g., IEEE 802.11).
1.4 Network Security
1.4.1 Threats to Computer Systems and Networks
Students must know how the following attacks are carried out and the specific purpose of the attack:
Malware (Malicious Software): An umbrella term for software designed to cause harm or gain unauthorised access. Students must be able to distinguish between specific types:
Virus: Software that replicates itself and spreads, causing direct damage (e.g., deleting or corrupting files, filling disk space).
Worm: Software that replicates itself across a network specifically to consume all available bandwidth and slow down or crash the network.
Trojan: Malware disguised as legitimate, harmless software that acts maliciously only once the user is tricked into installing it.
Ransomware: Malware that encrypts or locks access to a user's data. The attacker demands a financial fee (ransom) in exchange for the decryption key.
Spyware / Keylogger: Software that secretly records user actions or physical keypresses, transmitting this data to a third party to steal passwords and personal information.
Social Engineering (People as the weak point): Using psychological manipulation or deception to trick users into giving away sensitive data.
Phishing: Sending fake emails or messages containing malicious links that direct the user to a fake website to harvest login details.
Pharming: Malicious code installed on a user's hard drive or a DNS server that automatically redirects the user to a fake website, even if they type the correct web address.
Shoulder Surfing: Directly observing a person entering sensitive information, such as a password or PIN.
Brute-Force Attacks: Using automated software or programmes to systematically try every possible password combination until the correct one is found to gain unauthorised access.
Denial of Service (DoS / DDoS) Attacks: Flooding a server or network with an overwhelming number of simultaneous data requests. This consumes all available bandwidth or processing power, causing the server to crash or deny access to legitimate users.
Data Interception and Theft: Unauthorised third parties passively monitoring and capturing data packets as they travel across a network (often using software called a "packet sniffer").
SQL Injection: Entering malicious SQL code (database queries) into a website's input form (such as a login box). If the website's inputs are not properly validated, the code executes, allowing the attacker to bypass security, view, or delete backend database records.
1.4.2 Identifying and Preventing Vulnerabilities
Students must know what the following methods prevent and exactly how they work:
Penetration Testing: Authorised, simulated cyberattacks carried out by security professionals (ethical hackers) against a computer system to identify and report vulnerabilities before malicious hackers can exploit them.
Anti-Malware / Anti-Virus Software: Utility software that scans files and incoming data, comparing them against a regularly updated database of known malware signatures. It prevents attacks by alerting the user, stopping malicious downloads, and quarantining or deleting infected files.
Firewalls: Hardware or software that monitors incoming and outgoing network traffic. It compares this traffic against a set of predefined security rules or criteria and blocks any unauthorised data packets from entering or leaving the network.
User Access Levels: A network policy that restricts users so they can only access, view, or edit the specific files and systems necessary for their job role. This prevents accidental damage by staff and limits the scope of internal data theft or malware spread.
Passwords and Authentication:
Strong Passwords: Mandating the use of letters, numbers, and symbols makes brute-force attacks mathematically unfeasible within a reasonable timeframe.
Limiting Attempts: Locking an account after a set number of failed login attempts directly stops automated brute-force attacks.
Two-Step/Two-Factor Authentication (2FA): Requiring a secondary verification method (like a code sent to a mobile phone) ensures that an attacker cannot access an account even if they compromise the password.
Encryption: The process of scrambling data using a mathematical algorithm before it is transmitted over a network.
Physical Security: Securing the actual hardware (e.g., server rooms or laptops) to prevent physical theft or direct tampering. Methods include locked doors, keycards, biometric scanners (fingerprint/retina), security guards, and CCTV.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The Encryption Trap: Encryption does not stop data from being intercepted. Data can still be stolen mid-transit. To get the mark, students must state that encryption makes the intercepted data "meaningless", "unintelligible", or "unreadable without the decryption key".
The Firewall Trap: A firewall does not prevent data interception across the wider Internet. A firewall only monitors traffic passing through it at the network boundary.
The "Malware" Generalisation Trap: Do not simply write "Malware" or "Virus" as a blanket answer. If an exam scenario asks for a specific threat, name the precise type (e.g., Ransomware) and describe its specific action (e.g., encrypts data and demands a fee).
The "Hacking" Trap: Avoid using the generic term "Hacking" when a more precise term is required. Instead, specify the method used to gain unauthorised access (e.g., Brute-force attack, SQL injection, or Social engineering).
❌ Explicitly Not Required (Do Not Teach/Revise)
Network Forensics and Policies: The requirement to teach Network Forensics and the creation of formal Network Policies has been removed from the J277 specification.
1.5 Systems Software
1.5.1 Operating Systems
Students must understand that the OS provides a platform for software to run, manages hardware, and provides a user interface.
User Interface: Provides the look and feel of the computer and allows user interaction (e.g. Graphical User Interfaces [GUI] using windows, icons, menus, and pointers, or Command Line Interfaces [CLI]).
Memory Management & Multitasking:
Allocates memory space to different applications.
Manages the transfer of data between RAM and the processor.
Multitasking: Manages memory so effectively that the CPU can swap between processes incredibly quickly, making it appear as though multiple programmes are running at exactly the same time.
Peripheral Management and Drivers: Manages the transfer of data between external devices (peripherals) and the processor (often using buffers). Uses device driver software to translate OS instructions into a format the specific hardware can understand.
User Management: Handles the creation of user accounts, the setting of passwords/security, and allocating specific access rights or permissions to different users.
File Management: Provides the facility to name files, organise them into folders/directories, move them, save them, retrieve them, and delete them.
1.5.2 Utility Software
Students must understand that computers include built-in utility software that supports the OS by performing system maintenance and "housekeeping" tasks.
Defragmentation Software:
The Problem: As files are saved, edited, and deleted, they become split up (fragmented) across non-consecutive memory blocks, leaving gaps of free space.
The Solution: Defragmentation reorganises the hard drive so that all parts of a single file are stored contiguously (consecutively) and all free space is grouped together.
The Result: It takes less time to access files because the physical read/write head does not have to move as far to find the next part of the data.
Encryption Software: Protects sensitive data by using a mathematical algorithm and a key to scramble it. If the data is accessed or intercepted by an unauthorised user, it is entirely meaningless/unreadable without the decryption key.
Data Compression Software: Reduces the file size of data using an algorithm. This saves secondary storage space and allows the file to be transmitted much faster across a network/the Internet.
❌ Explicitly Not Required (Do Not Teach/Revise)
How to do Full or Incremental Backups (Legacy J276 topic).
Paging and Segmentation (Advanced memory management).
1.6 Ethical, Legal, Cultural and Environmental Impacts
1.6.1 The Impacts of Digital Technology on Society
Students must be able to discuss the impacts of technology by weighing up both the benefits and drawbacks for specific stakeholders (e.g. the company vs the customer, the individual vs society). Examiners frequently test these through specific scenarios: Artificial Intelligence replacing human jobs, the rollout of rural internet, Bring Your Own Device (BYOD) in schools, and the use of facial recognition/CCTV.
Ethical Issues (Fairness and Morality):
The Digital Divide: The gap between people who can afford/access the latest technology and those who cannot, leading to unequal opportunities in education and employment.
Planned Obsolescence: Companies intentionally designing fragile devices or stopping software updates for older models to force customers to purchase newer versions.
AI and Employment: The moral implications of replacing human workers with algorithms (e.g. AI diagnosing patients or replacing researchers). While it may be faster and cheaper, it leads to unemployment and a loss of community skills.
Cultural Issues (Changes to Society and Lifestyle):
Social Pressure: The desire to own the newest smartphones or devices simply to fit in with peers, leading to financial strain.
Globalisation: How the internet changes businesses and inhabitants, allowing 24/7 global communication and e-commerce, but potentially eroding local cultures or high street businesses.
Environmental Issues (Impact on the Planet):
E-Waste: Discarding perfectly working older devices creates electronic waste. This is often sent to developing nations where it ends up in landfill, leaking toxic chemicals into the ground and water.
Resource Depletion: Manufacturing new devices requires mining precious metals and natural resources.
Carbon Footprint: Physical distribution of software/games requires packaging (plastic waste) and transport (petrol emissions). Digital downloads drastically reduce this footprint.
Privacy Issues (Data Tracking and Surveillance):
Surveillance: The use of CCTV and facial recognition to track movements in public or private spaces. While it increases security and deters crime, it removes anonymity, and users often do not know they are being tracked or how their data is used.
Centralised Data: Storing highly sensitive data (like medical records) centrally in the cloud increases the risk of a single, catastrophic data breach.
Legal Issues (Liability and Compliance):
Who is legally responsible if an autonomous system (like an AI medical bot or self-driving car) makes a fatal error?
Liability for damage and ensuring child safety filters are applied when students bring their own devices (BYOD) to a school network.
1.6.2 Legislation Relevant to Computer Science
Students must be able to identify which law applies to a given scenario and state the specific, actionable steps a company must take to comply.
The Data Protection Act (DPA) 2018:
Purpose: Protects the personal data of individuals from being mishandled by organisations.
Compliance Steps for the Exam: A company must keep data secure (e.g. using encryption and firewalls), never share or sell data to third parties without explicit consent, only collect data that is strictly necessary, delete data when it is no longer needed, and provide users with a copy of their data (or delete it) if they request it.
The Computer Misuse Act (CMA) 1990:
Purpose: Prevents unauthorised access to computer systems and data.
Exam Scenarios: This act is broken when someone guesses a password to log in without permission, uses a packet sniffer to intercept data, hacks a network, or installs a keylogger on a colleague's machine.
Copyright, Designs and Patents Act (CDPA) 1988:
Purpose: Protects the intellectual property of creators, making it illegal to copy, modify, or distribute their work without permission.
Exam Scenarios: This act is broken when a company replicates the user interface of a rival's software, uses an image/logo downloaded from the internet without the artist's permission, or pirates a film to share with clients.
1.6.3 Software Licences
Open Source Software:
Characteristics: The source code is freely available for anyone to view, edit, and redistribute.
Benefits: Users can adapt the software to their specific needs, a wide community of developers can help fix bugs quickly, and it is usually free of charge.
Drawbacks: The original developer usually cannot charge a fee for the software, and they lose strict control over what people do with their code.
Proprietary Software:
Characteristics: The software is legally restricted (closed source). Users only receive the compiled executable file; they cannot see or edit the source code.
Benefits: The creator/company can charge a fee and earn a profit. They retain total control over the intellectual property, preventing rivals from stealing the code or malicious users from inserting malware into it.
Drawbacks: Users cannot fix bugs themselves (they must wait for official updates) and they cannot tailor the software to their exact needs.
🛑 Examiner's Eye: High-Grade Exam Technique (The 8-Mark Essay)
Do Not Be One-Sided: A "Discussion" command word means the examiner requires both positive and negative impacts. An essay that only lists drawbacks is heavily capped.
Target the Stakeholders: Read the scenario carefully. If the question asks for the impact on "the company and the customers", the student must explicitly write a paragraph detailing the impact on the company (e.g. increased profit, loss of reputation) and a separate paragraph for the customer (e.g. financial strain, getting better features).
Use the Headings: Students should physically write the sub-headings "Ethical", "Environmental", and "Privacy" in their exam answer. This guarantees they cover the bullet points requested in the prompt and prevents them from rambling off-topic.
❌ Explicitly Not Required (Do Not Teach/Revise)
The Data Protection Act 1998 (replaced by the 2018 version).
The Freedom of Information Act 2000 (Removed from the J277 syllabus).
Creative Commons Licensing (Removed from the J277 syllabus).
Specific naming of alternative software licences (e.g. single-user, multi-user, site licences). Only Open Source and Proprietary are required.
2.1 Algorithms
2.1.1 Computational Thinking
Abstraction: The process of removing unnecessary details or characteristics from a problem to focus strictly on the essential features required to solve it (e.g. A sat-nav map showing only roads).
Decomposition: Breaking down a complex problem into smaller, more manageable sub-problems. Examiners often ask students to demonstrate this by creating a Structure Diagram.
Algorithmic Thinking: A logical way of getting from the problem to the solution. Follows a sequence and can be adapted to solve similar problems.
2.1.2 Designing, Creating and Refining Algorithms
Inputs, Processes, and Outputs (IPO): Students must be able to read a scenario and explicitly list the data going in (Inputs), the calculations happening (Processes), and the results returned (Outputs).
Structure Diagrams: A visual representation of decomposition. Must draw a top-down hierarchical tree diagram branching down into distinct sub-modules.
Algorithm Design Methods: Students must be able to write/interpret algorithms using Pseudocode, High-Level Language (Python), or Flowcharts. Flowchart symbols required: Oval (Start/End), Parallelogram (Input/Output), Rectangle (Process), Diamond (Decision), Rectangle with double side lines (Subprogramme).
Refining Algorithms: Improving a working algorithm, typically involving adding robust validation (e.g. an IF statement to ensure a PIN is 4 digits long).
Identifying and Fixing Errors:
Syntax Errors: Break the grammatical rules of the programming language. Code crashes/will not run.
Logic Errors: Code runs perfectly but produces an unexpected or incorrect output.
Exam Requirement: Identify the error, state the line number, and write the corrected line of code.
Trace Tables: A technique to test algorithms and track variable values as a programme runs. Follow a loop step-by-step and write changing values sequentially in a table.
2.1.3 Searching and Sorting Algorithms
Linear Search: Starts at the first item and checks each item one-by-one until the target is found.
Binary Search: Finds the middle item. If target is smaller, discards right half. If target is larger, discards left half. Repeats. Pre-requisite: The list MUST be in alphabetical or numerical order.
Bubble Sort: Compares adjacent pairs. If in wrong order, swaps them. Passes through list until no swaps are made.
Merge Sort: Divides list in half repeatedly until lists contain one item. Merges back together in pairs, sorting them, until one sorted list remains.
Insertion Sort: Splits list into 'sorted' and 'unsorted'. Takes first item from unsorted and inserts it into exact correct position in sorted side.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The Binary Search Trap: If asked to state steps for Binary Search, step 1 MUST be: "Check if the list is sorted".
The Trace Table Trap: Never skip rows. Update values sequentially, exactly as the computer executes them (one row per iteration).
The Error Fixing Trap: In J277, you must physically write out the corrected line of code, not just identify the error.
Flowchart Arrows: Directional arrows are mandatory on flow lines.
❌ Explicitly Not Required (Do Not Teach/Revise)
Memorising sorting/searching code: Students do not need to memorise the exact Python/pseudocode for Bubble, Merge, Insertion, Linear, or Binary. Only understand visual steps, apply them, and recognise the algorithm.
2.2 Programming Fundamentals
2.2.1 Core Programming Concepts
Variables, Constants & Assignment: Variable (can change), Constant (cannot change, e.g. PI = 3.14), Assignment (giving a value).
Programming Constructs: Sequence (in order), Selection (IF/ELSE IF/ELSE), Iteration (Count-controlled FOR loops, Condition-controlled WHILE loops).
Operators:
Comparison: ==, !=, <, <=, >, >=
Arithmetic: +, -, *, /, ^ (Exponentiation)
MOD: Returns strictly the remainder.
DIV (Integer Division): Returns how many times a number fits whole, ignoring remainder.
Boolean: AND, OR, NOT.
2.2.2 Data Types
The Core Types: Integer (whole number), Real/Float (decimal), Boolean (True/False), Character (single symbol), String (sequence of characters).
Casting: Temporarily converting a variable from one data type to another (e.g. converting string input to integer).
2.2.3 Additional Programming Techniques
String Manipulation: Concatenation (joining) and Slicing/Substrings (extracting parts).
Random Number Generation: Using a library/module to generate random values.
Arrays (1D and 2D): 1D (static, fixed-length), 2D (emulating a database table where Rows = Records and Columns = Fields).
Records: Stores multiple items related to a single entity, which can be of different data types.
File Handling: Open, Read, Write, Close.
SQL: Limited strictly to SELECT, FROM, WHERE.
Subprogrammes: Functions (always return a value) vs Procedures (do not return). Local vs Global variables. Passing/returning arrays.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The "Number" Trap: Never write "Number" as a data type. Specify Integer or Real/Float.
The DIV vs / Trap: Do not confuse standard division (/) with DIV (Integer Division). Use DIV if you cannot have fractions (e.g. packing boxes).
The Inequality Trap: Do not confuse < (less than) with > (greater than).
Follow-Through Marks: If you make a mistake on line 1, but lines 2 and 3 are correct based on that mistake, examiners award marks. Finish the algorithm!
❌ Explicitly Not Required (Do Not Teach/Revise)
Complex SQL (LIKE, AND, OR, wildcards, JOIN).
Complex String Methods (regex, replace).
2.3 Producing Robust Programmes
2.3.1 Defensive Design
Anticipating Misuse: Designing programmes so they do not crash due to unpredictable user behaviour.
Authentication: Verifying user identity (e.g. passwords).
Input Validation: Checking data is sensible, reasonable, and within expected limits before processing. Must be able to design validation loops.
Maintainability: Writing code so other developers can easily update it. Four methods: Subprogrammes, Naming Conventions, Indentation, Commenting.
2.3.2 Testing
Purpose of Testing: Ensure programme works correctly, handles invalid input, and identify/fix errors.
Types of Testing: Iterative (during development) vs Final/Terminal (after completion).
Errors: Syntax (breaks grammar) vs Logic (wrong output).
Test Data:
Normal: Valid data that should be accepted by a program without causing errors.
Boundary: Data of the correct type at the extreme edges of valid limits. (Note: Students only need to know about valid boundary data).
Invalid / Erroneous: Data that should be rejected by the system (either because it is outside the accepted limits or because it is the completely wrong data type).
Test Plans: Documenting Test Data, Expected Outcome, and Actual Outcome.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The Maintainability Trap: Don't just say "makes it easier to read". Name the technique (e.g. Comments) and state how it helps (explains purpose to other developers).
The Invalid vs Erroneous Myth: Many textbooks incorrectly teach that "Invalid" means outside the limit and "Erroneous" means wrong data type. The OCR board explicitly treats both terms as identical and synonymous. Do not worry about differentiating them.
The Validation Loop Trap: Do not use an IF statement for validation. You MUST use a WHILE loop to keep asking until the data is valid.
❌ Explicitly Not Required (Do Not Teach/Revise)
Invalid Boundary Data: Students only need to know about testing valid boundary data, not invalid boundaries.
Input Sanitisation: Do not teach how to clean, trim, or modify data (e.g. stripping special characters). Only teach validation.
Planning for Contingencies: Planning for hardware crashes or power cuts has been removed.
2.4 Computational Logic
2.4.1 Boolean Logic
Students must be able to translate seamlessly between four different formats: real-world scenarios, logic circuit diagrams, Boolean expressions, and truth tables.
The Core Logic Gates:
Students must memorise the standard shapes, functions, and alternate terminology of the three core logic gates:
AND Gate (Conjunction): Represented by a 'D' shape (straight back, semi-circle front). It outputs True (1) only if both Input A AND Input B are True (1).
OR Gate (Disjunction): Represented by a curved shield or arrowhead shape (curved back, pointed front). It outputs True (1) if Input A OR Input B (or both) are True (1).
NOT Gate (Negation): Represented by a triangle with a small circle at the tip. It has only one input and simply inverts it (True becomes False, False becomes True).
Truth Tables:
A table that lists all possible binary input combinations and the resulting output.
2-Input Tables: Must contain 4 rows (00, 01, 10, 11).
Exam Technique: Examiners frequently provide partially filled 3-input tables. Students should be taught to add their own "working out" columns for intermediate gates before calculating the final output column.
Combining Operators & Boolean Expressions:
Writing out logic using standard text.
No Complexity Limit: The J277 update explicitly removed the old limit of "two levels" of gates. Students must be prepared to combine multiple gates in long chains.
Order of Operations: Students must understand the use of brackets to dictate which gates are processed first. For example, P = NOT (A AND B) means "evaluate the AND gate first, then pass that result through the NOT gate".
Alternative Notation:
Examiners will accept variations in notation. Students may use 1 and 0, or True and False. They may also use mathematical notation (e.g., V for OR, ^ for AND, or ¬ for NOT), though plain English words are safer.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The Sloppy Drawing Trap: A massive reason for dropped marks is drawing an AND gate that looks slightly curved at the back, or an OR gate with a flat back. Examiners are instructed to mark ambiguous shapes as incorrect. Draw them precisely.
The Order of Operations Trap: In 3-input logic circuits, students often connect the wrong lines because they ignore the brackets in the provided expression. Always follow the brackets first. If the expression is (A AND B) OR C, the output of the AND gate connects into the OR gate.
The Missing 'NOT' Circle: When drawing a NOT gate, the small circle at the tip is the actual component that denotes inversion. Drawing just a triangle without the circle is incorrect and will score zero.
The Mixing Notation Trap: While examiners accept 1s and 0s, or the words True and False in truth tables, students must NEVER mix them in the same table. Pick one format and stick to it.
❌ Explicitly Not Required (Do Not Teach/Revise)
Advanced Logic Gates: Students absolutely do not need to know NAND, NOR, XOR, or XNOR gates. Only AND, OR, and NOT are required.
Boolean Algebra: Students do not need to learn the mathematical rules of Boolean Algebra simplification (e.g., De Morgan's Laws, Karnaugh Maps, or absorption rules). They only need to interpret basic expressions.
2.5 Programming Languages and IDEs
2.5.1 Languages and Translators
Students must be able to compare high-level and low-level languages, and evaluate the specific use cases for compilers versus interpreters.
High-Level Languages (e.g., Python, Java, C#):
Characteristics: Human-oriented, contains English-like words and mathematical structures, closer to natural language. One high-level command translates to many machine code instructions.
Benefits: Easier and faster for humans to read, write, and debug. They are portable (the same code can be compiled to run on different types of processors/hardware).
Drawbacks: Cannot be executed directly by the CPU; must be translated first.
Low-Level Languages (Machine Code):
Characteristics: Machine-oriented, written entirely in binary (1s and 0s). Specific to a particular computer architecture (not portable).
Benefits: Can be executed directly by the CPU without translation. Gives the programmer precise control over exactly how the hardware and memory are used. Executes extremely quickly and uses less memory.
Drawbacks: Extremely difficult, tedious, and slow for humans to read, write, or debug.
The Purpose of Translators:
To convert high-level source code into machine code (binary) so the CPU can process and execute it. It also identifies syntax errors during this process.
Compilers vs Interpreters:
Compiler: Translates the entire source code into machine code all at once, creating a standalone executable file (e.g., .exe).
Advantages: The final executable file runs very quickly. The end-user does not need the compiler installed to run the program. It protects the intellectual property (the source code is hidden/compiled so rivals cannot steal or edit it).
Disadvantages: The initial compilation process takes a long time. If there are syntax errors, it only reports them at the very end of the compilation process, making debugging harder.
Interpreter: Translates and executes the source code strictly line-by-line. Does not create an executable file.
Advantages: Excellent for testing and debugging during development because it stops immediately on the exact line where a syntax error is found.
Disadvantages: Execution is slower because it translates whilst running. The end-user must have the interpreter software installed to run the program. The source code is visible to everyone who runs it.
2.5.2 Integrated Development Environments (IDEs)
Students must know the four core tools provided by an IDE and exactly how they help a developer write maintainable code.
Editor: The text area where the source code is written.
How it helps: Provides syntax highlighting (colour-coding keywords, strings, and variables to make code easier to read), auto-completion of commands, and auto-indentation to visually structure loops and IF statements.
Error Diagnostics: Tools that help locate and fix faults in the code.
How it helps: Underlines syntax errors in red as they are typed. Provides error message hints. Offers a "stepping" tool to execute code line-by-line to track down logic errors, and allows the programmer to watch variables change in real-time.
Run-Time Environment: A safe, simulated environment inside the IDE.
How it helps: Allows the developer to test the software and see the output exactly as it will run on the target machine, without crashing the actual host computer if a catastrophic error occurs.
Translators: A built-in compiler or interpreter.
How it helps: Allows the code to be translated and executed immediately from within the IDE at the click of a button, without needing to open external command-line tools.
🛑 Examiner's Eye: High-Grade Exam Technique (Avoid the Traps!)
The "Machine Code is Hex" Trap: Examiners will award zero marks if a student states that machine code is written in Hexadecimal. Machine code is strictly binary (1s and 0s). Hexadecimal is only used by humans as a shorthand to make binary easier to read on screen.
The Translator Purpose Trap: When asked why a translator is needed, a common weak answer is "so the computer can understand it". To guarantee the mark, students must be highly specific: "To convert high-level source code into machine code/binary so the CPU can execute it."
The Speed Misconception: If an exam asks for the difference between a compiler and an interpreter, do not just write "A compiler is faster". This is ambiguous. You must specify that a compiler creates an executable that executes faster, but the actual initial translation process takes longer than an interpreter.
❌ Explicitly Not Required (Do Not Teach/Revise)
Assemblers: The OCR J277 syllabus explicitly removed the requirement to understand "Assemblers". Students only need to evaluate Compilers and Interpreters.
Translating Assembly Language: Students do not need to know how to write or translate Little Man Computer (LMC) or Assembly mnemonics into machine code.