OCR splits this into decomposition, abstraction and algorithmic thinking.
An algorithm is a precise, finite sequence of steps that solves a problem or completes a task. It must be unambiguous, have a clear start and end, and terminate.
OCR expects you to read and write algorithms in three forms:
All three must show the same three constructs: sequence (steps in order), selection (decisions/branches) and iteration (loops).
Used to test/dry-run an algorithm by hand. Draw a column for each variable and a row for each iteration or step, updating values in order and noting any output.
This is the core toolkit every programmer needs: variables, constants, sequence, selection, iteration, operators and data types. OCR J277 expects you to read, trace and write pseudocode or code (Python-style) using these building blocks.
A variable stores a value that can change while the program runs; a constant stores a value that stays fixed. Use meaningful identifier names. Assignment uses = (e.g. score = 0), while == tests equality in a condition. Mixing these up is one of the most common exam and coding errors.
Know string operations: length (LEN), concatenation (+), substring/slicing, converting case, and finding a character's position. Arrays (or lists) store multiple values under one identifier, indexed from 0 in most exam pseudocode and in Python — a classic off-by-one mistake is thinking the first item is index 1.
Expect exam questions that nest loops inside selections, or selections inside loops, then ask you to trace the output by hand — write out variable values step by step in a trace table rather than guessing.
Computers are built from transistors that are either on or off, so they only understand two states: 1 and 0. Every piece of data, numbers, text, images, sound, must be converted into binary (base 2) to be stored or processed.
To convert denary to binary, use the place values 128 64 32 16 8 4 2 1 (for 8 bits) and subtract the biggest value that fits, marking a 1, then 0 for values you skip. To convert binary to denary, add up the place values where there is a 1. Common mistake: writing place values left to right without remembering they halve each time, or miscounting the number of bits.
Add binary like denary but carry when a column reaches 2 (10 in binary). If the result needs more bits than the register holds, this is overflow, and the extra bit is lost, giving a wrong answer.
Hex (base 16) uses digits 0-9 then A-F (A=10 up to F=15). Each hex digit represents exactly 4 bits (one nibble), so a byte is written as two hex digits, e.g. 11110000 = F0. Hex is used to shorten binary for things like MAC addresses and colour codes because it is far easier for humans to read.
A logical left shift multiplies the value by 2 for each place shifted; a right shift divides by 2 (rounding down), for example 00000011 shifted left once becomes 00000110 (3 becomes 6).
1 kilobyte (KB) = 1000 bytes, 1 megabyte (MB) = 1000 KB, 1 gigabyte (GB) = 1000 MB, 1 terabyte (TB) = 1000 GB (OCR uses the decimal, 1000-based, convention, not 1024).
The CPU (Central Processing Unit) carries out instructions from programs. It runs the fetch-decode-execute cycle constantly: fetch an instruction from memory, decode what it means, execute it, then move on.
Three things affect how fast a CPU runs:
Common mistake: saying 'more cores always means faster' — it only helps if the software is written to use multiple cores.
Most computers use the Von Neumann model: one memory store holds both data AND instructions, and they share the same bus system. Key idea: since data and instructions look the same in memory, the CPU must know which is which from context.
An embedded system is a computer built into a larger device to perform a specific, dedicated task (e.g. a washing machine controller, a car engine management system, a microwave). Common mistake: forgetting that embedded systems usually run ONE fixed program, unlike a general-purpose computer.
Common mistake: confusing 'volatile' (loses data when off) with 'non-volatile' (keeps data when off) — RAM is volatile, ROM and storage like SSDs are non-volatile.
Data travels around the computer along buses:
A LAN (Local Area Network) covers one site, like a school or office.
A WAN (Wide Area Network) covers a large geographical area and links multiple LANs, often using third-party infrastructure like phone lines or satellites - the internet is the largest WAN.
Key hardware: a switch connects devices within a LAN and directs data only to the correct device using MAC addresses.
A router connects different networks together (e.g. a LAN to the internet) and directs data using IP addresses.
A network interface card (NIC) allows a device to connect to a network, and has a unique MAC address burned in at manufacture.
Wi-Fi uses radio waves and needs a wireless access point; Ethernet uses cables and is generally faster and more reliable.
In a star topology, every device connects to a central switch or hub - if one cable fails only that device drops off, but if the switch fails the whole network goes down.
In a mesh topology, devices connect directly to many other devices, giving high reliability with no single point of failure, but it is expensive and complex to set up.
DNS (Domain Name System) translates human-readable domain names into IP addresses.
An IP address identifies a device on a network; IPv4 uses 32 bits (e.g. 192.168.1.1) giving about 4.3 billion addresses, while IPv6 uses 128 bits to solve address exhaustion.
TCP/IP is the protocol stack that governs how data is split into packets, addressed, sent and reassembled.
HTTP transfers web pages in plain text; HTTPS does the same but encrypts the data using TLS/SSL, shown by the padlock icon.
Common mistake: students confuse HTTP and HTTPS - only HTTPS is encrypted, HTTP is not secure for sensitive data.
Other key protocols: FTP transfers files, SMTP sends email, IMAP/POP3 receive email.
Malware includes viruses (attach to files and self-replicate), worms (self-replicate without a host file, spreading across networks), trojans (disguised as legitimate software), spyware and ransomware (encrypts files and demands payment).
Social engineering exploits people rather than technology - phishing sends fake emails/messages to trick users into giving up data.
Other threats: brute-force attacks (trying many passwords), denial-of-service (DoS) attacks flood a server with traffic to take it offline, SQL injection inserts malicious code into a database via an input box, and man-in-the-middle attacks intercept communication between two parties.
Penetration testing simulates an attack to find weaknesses before criminals do.
Anti-malware software detects and removes malicious programs.
Firewalls monitor and control incoming/outgoing traffic based on security rules, blocking unauthorised access.
User access levels restrict what different users can see or do on a system.
Passwords should be strong (mixing cases, numbers, symbols) and systems should use encryption to protect data in transit and at rest.
Common mistake: encryption prevents data being read if intercepted, but does NOT prevent an attack happening in the first place - it is not the same as a firewall.
Physical security (locks, biometrics) also matters alongside software defences.
OCR GCSE Computer Science expects you to discuss the wider impact of computing on individuals and society. Questions are usually extended-response (6-mark) 'discuss' or 'evaluate' style, so you need balanced points, not just a list.
When asked to 'discuss', structure as: point, explanation, example, counterpoint, example, conclusion. Naming the correct Act by name (not just describing it vaguely) earns extra marks.