England Β· OCRSyllabus
Computer Science syllabus, dot point by dot point
Every dot point in the England Computer Sciencesyllabus, with a focused answer for each one. Click any dot point for a worked explainer, past exam questions, and links to related dot points. Written by Claude Opus 4.8, Anthropic's latest AI.
2.3 Algorithms
Module overview β- How do we measure and compare the efficiency of algorithms using Big-O notation?Big-O notation for time and space complexity: the constant, logarithmic, linear, linearithmic, polynomial and exponential complexity classes, how to determine the Big-O of an algorithm, and using it to compare and judge the suitability of algorithms.14 min answer β
- How do we traverse a graph or tree, and how do Dijkstra's algorithm and A* find a shortest path?Graph and tree traversal: breadth-first and depth-first traversal of a graph, the pre-order, in-order and post-order traversal of a binary tree, and the shortest-path algorithms Dijkstra's algorithm and A* search.14 min answer β
- How do linear and binary search work, and why is binary search so much faster on a sorted list?Searching algorithms: linear search, binary search and binary tree search, how each works with a trace, the precondition for binary search, and their time complexity in Big-O notation.14 min answer β
- How do bubble, insertion, merge and quick sort order a list, and why are the divide-and-conquer sorts faster?Sorting algorithms: bubble sort, insertion sort, merge sort and quick sort, how each works with a trace, and their time complexity in Big-O notation including best, average and worst cases.14 min answer β
1.4 Data types, data structures and algorithms
Module overview β- How do logic gates implement Boolean expressions, and how do we simplify those expressions using the laws of Boolean algebra?Logic gates (AND, OR, NOT, XOR, NAND, NOR) and their truth tables, constructing and interpreting truth tables, and simplifying Boolean expressions using the laws of Boolean algebra including De Morgan's laws, distribution, association and commutation, and Karnaugh maps.14 min answer β
- How are very large and very small real numbers stored in a fixed number of bits, and what does normalisation achieve?Floating-point representation of real numbers using a mantissa and an exponent (both in two's complement), normalisation of a floating-point number, and the trade-off between range and precision.14 min answer β
- How are arithmetic and memory built from logic gates using adders and flip-flops?Logic circuits built from gates: the half adder and full adder for binary addition, and the D-type flip-flop as a single-bit memory element, including their truth tables and Boolean expressions.13 min answer β
- How are positive and negative whole numbers represented in binary, and how do we convert between binary, denary and hexadecimal?Number systems: binary, denary and hexadecimal conversion, representing negative numbers with sign and magnitude and two's complement, binary addition and subtraction, fixed-point binary fractions, and the use of hexadecimal and bitwise masks.14 min answer β
1.1 Components of a computer and their uses
Module overview β- How does assembly language map onto the processor, and what do the different addressing modes mean?Assembly language and the relationship between assembly instructions and machine code, the instruction set with opcode and operand, the Little Man Computer model, and the addressing modes (immediate, direct, indirect and indexed).13 min answer β
- How do magnetic, optical and solid-state storage work, and how do RAM, ROM and virtual memory fit together?Input, output and storage devices: how different input and output devices are used, the characteristics, uses and operation of magnetic, optical and solid-state (flash) storage, the difference between RAM and ROM, and virtual storage.13 min answer β
- How does the von Neumann architecture move an instruction from memory into the processor and carry it out?The structure and function of the processor: the arithmetic logic unit, control unit, registers (PC, ACC, MAR, MDR, CIR), buses (data, address, control), and the fetch-decode-execute cycle in the von Neumann architecture.13 min answer β
- What makes one processor faster than another, and when is a GPU or a multi-core design the right choice?Factors affecting processor performance (clock speed, number of cores, cache size and type), pipelining, and the characteristics and uses of CISC and RISC processors, multicore and parallel systems, and GPUs.13 min answer β
- What does an operating system actually do, and how does it manage memory, interrupts and the processor's time?The functions of an operating system: memory management (paging, segmentation, virtual memory), interrupts and the interrupt service routine, scheduling algorithms, and the distinction between systems software (operating systems, utilities) and application software.14 min answer β
1.3 Exchanging data
Module overview β- How do we shrink data, keep it secret, and verify it without storing the original?Compression (lossy and lossless, run length encoding and dictionary coding), encryption (symmetric and asymmetric) and hashing, including their characteristics, differences and appropriate uses.13 min answer β
- How does a relational database organise data into tables, and what does normalising to third normal form achieve?The relational database model: entities, attributes, primary and foreign keys, entity relationships, the difference between a flat file and a relational database, and normalisation to first, second and third normal form.14 min answer β
- How do we create, query and modify the data in a relational database using SQL?Structured Query Language (SQL): defining tables, and using SELECT, FROM, WHERE, ORDER BY, INSERT INTO, UPDATE, DELETE and joining tables to query and maintain a relational database, with referential integrity.13 min answer β
- How does a database stay correct when many users change it at once?Transaction processing and the ACID properties (atomicity, consistency, isolation, durability), record locking and serialisation to manage concurrent access, and redundancy through commitment ordering and backups.13 min answer β
1.5 Legal, moral, cultural and ethical issues
Module overview β- What laws govern the use of computers and data, and how do copyright and software licensing work?The legislation relevant to computing: the Data Protection Act, the Computer Misuse Act, the Copyright, Designs and Patents Act and the Regulation of Investigatory Powers Act, and the principles of copyright and software licensing including open source and proprietary models.13 min answer β
- What data structures store collections of data, and how do stacks, queues, linked lists, trees and hash tables differ?Data structures: arrays, records, tuples and lists, the stack and queue abstract data types and their operations, linked lists, trees and graphs, and hash tables, including how each is used and its advantages.14 min answer β
- What are the primitive data types, and how are characters represented in binary?Primitive data types (integer, real/float, Boolean, character, string) and how text is represented using character sets such as ASCII and Unicode, including the size and range implications of each type.13 min answer β
- What mathematical tools (sets, logic and quantitative comparison) underpin computer science?Mathematical skills for computer science: set theory and set operations, the comparison of binary, denary and hexadecimal magnitudes, simple logic propositions, and the use of these tools to reason about data and algorithms.13 min answer β
- What are the moral, ethical, cultural, privacy and environmental impacts of computing?The moral, social, ethical and cultural impact of computer science, including privacy, the environmental impact of computing, automation and employment, the digital divide, and how to evaluate the ethical issues raised by new technologies.13 min answer β
1.3 Exchanging data
Module overview β- How are web pages built from HTML, CSS and JavaScript, and how do search engines rank them?Web technologies: HTML for structure, CSS for presentation and JavaScript for client-side behaviour, the difference between client-side and server-side processing, and how search engines index and rank pages using web crawlers and the PageRank algorithm.13 min answer β
- What hardware and protocols move a packet of data across a network, and what does each layer of the TCP/IP stack do?Networks (LAN and WAN, network topologies, client-server and peer-to-peer), network hardware (NIC, switch, router, WAP), the need for protocols and protocol layering, the TCP/IP four-layer stack, and packet switching.14 min answer β
- What threats face a network, and how do firewalls, proxies and encryption defend against them?Network security: the threats from malware (viruses, worms, trojans), social engineering and network attacks, and the protective measures of firewalls, proxy servers, encryption and access control.13 min answer β
- How does the internet turn a web address you type into a connection to the right server?The structure of the internet, the Domain Name System (DNS), URLs and IP and MAC addressing, the difference between the internet and the world wide web, and the protocols HTTP, HTTPS, FTP and the client-server model of the web.13 min answer β
2.2 Problem solving and programming
Module overview β- How do you define classes, create objects and apply inheritance and polymorphism in code, and when is OOP the right choice?Object-oriented programming techniques in practice: defining classes with attributes and methods, constructors and instantiation, getters and setters for encapsulation, inheritance and method overriding for polymorphism, and the benefits of an object-oriented design.14 min answer β
- What are the core programming constructs, and how do subroutines, scope, parameters and recursion structure a program?Programming techniques: sequence, selection and iteration, recursion, the use of subroutines (procedures and functions) with parameters passed by value and by reference, local and global variable scope, and the features of an integrated development environment (IDE).14 min answer β
- How does removing detail (abstraction) and breaking a problem into parts (decomposition) make a hard problem solvable?Thinking abstractly: the nature and need for abstraction, representational and procedural abstraction, and the use of models; thinking ahead and decomposition: breaking a problem into smaller sub-problems.13 min answer β
- How do we anticipate the inputs, outputs and reusable parts of a solution, and order its steps procedurally?Thinking ahead: identifying inputs and outputs, preconditions, caching and reusable program components; thinking procedurally: identifying the steps and the order of a solution and the components that can be reused.13 min answer β
- When can parts of a problem be done at the same time, and what are the benefits and limits of doing so?Thinking concurrently: determining which parts of a problem can be tackled at the same time, the benefits and limitations of concurrent and parallel processing, and the difference between true parallel processing and concurrent processing on a single processor.13 min answer β
- How do we identify the decision points in a problem, and which computational methods make hard problems tractable?Thinking logically: identifying the decision points and conditions that affect the flow of a solution; computational methods including problem recognition, divide and conquer, backtracking, heuristics, performance modelling and visualisation.14 min answer β
1.2 Software and software development
Module overview β- What different types of software exist, and how is an application built from source code into a running program?The nature of applications generation, the role of utilities and the difference between systems and application software, and the types and uses of software including open source versus closed source and custom-written versus off-the-shelf.13 min answer β
- Which type of operating system suits a given device, and which development methodology suits a given project?Types of operating system (distributed, embedded, multitasking, multiuser, real-time) and software development methodologies (waterfall, agile, extreme programming, spiral, rapid application development), with their merits and appropriate uses.13 min answer β
- What distinguishes the main programming paradigms, and what are the core principles of object-oriented programming?Programming paradigms (procedural, low-level / assembly and object-oriented), the need for and characteristics of different levels of programming language, and the core principles of object-oriented programming: classes, objects, methods, attributes, encapsulation, inheritance and polymorphism.14 min answer β
- How is source code turned into something the processor can run, and what does each stage of compilation do?The need for, and the characteristics of, translators (assemblers, compilers, interpreters), the stages of compilation (lexical analysis, syntax analysis, code generation, optimisation), and the role of linkers, loaders and libraries.13 min answer β