A. Theme A: Concepts of computer science
The core concepts: how computers work (A1), how they connect (A2 Networks), how they store and query data (A3 Databases), and how they learn (A4 Machine learning).
A1.1 — Computer hardware and operation
CS_A1.1.1 · Main CPU components — The ALU, control unit, registers and buses, and how they interact.
CS_A1.1.2 · The role of a GPU — Why the GPU's architecture suits parallel, graphics and ML workloads.
CS_A1.1.3 · CPU versus GPU — How their design philosophies differ and how they work together.
CS_A1.1.4 · Types of primary memory — RAM, ROM, cache and registers, and cache hits and misses.
CS_A1.1.5 · The fetch, decode, execute cycle — How the CPU runs one machine instruction using memory, registers and buses.
CS_A1.1.6 · Pipelining in multi-core architectures — Overlapping instruction stages across parallel cores to raise throughput.
CS_A1.1.7 · Secondary storage — Internal and external drives and where each is used.
CS_A1.1.8 · Compression — Lossy versus lossless, run-length encoding and transform coding.
A1.2 — Data representation and computer logic
CS_A1.2.1 · Representing data: binary and hex — Binary and hexadecimal integers, and converting between them and decimal.
CS_A1.2.2 · Storing data in binary — How integers, text, images, audio and video are all encoded as bits.
CS_A1.2.3 · Purpose and use of logic gates — The seven Boolean operators and the gates that implement them.
CS_A1.2.4 · Constructing and analysing truth tables — Truth tables, Boolean expressions, Karnaugh maps and simplification.
CS_A1.2.5 · Constructing logic diagrams — Wiring standard gate symbols into circuits and simplifying them.
A1.3 — Operating systems and control systems
CS_A1.3.1 · The role of operating systems — Abstracting hardware complexity to manage system resources.
CS_A1.3.2 · Functions of an operating system — Memory, files, devices, scheduling, security, GUI, virtualization and more.
CS_A1.3.3 · Approaches to scheduling — FCFS, round robin, multilevel queue and priority scheduling.
CS_A1.3.4 · Polling versus interrupt handling — Weighing the two ways a CPU learns that a device needs attention.
CS_A1.3.5 · Multitasking and resource allocation — How the OS juggles many tasks: scheduling, contention and deadlock.
CS_A1.3.6 · Control system components — Input, process, output and feedback: open-loop and closed-loop.
CS_A1.3.7 · Control systems in the real world — Applying control-system ideas to everyday automated systems.
A1.4 — Translation
CS_A1.4.1 · Interpreters and compilers — Weighing the two translation approaches, plus JIT and bytecode.
A2.1 — Network fundamentals
CS_A2.1.1 · Purpose and characteristics of networks — LAN, WAN, PAN and VPN, and what each is for.
CS_A2.1.2 · Modern digital infrastructures — Purpose, benefits and limits of the internet, cloud, distributed and edge computing, and mobile networks.
CS_A2.1.3 · Network devices — Gateways, firewalls, modems, NICs, routers, switches and access points, and their TCP/IP layers.
CS_A2.1.4 · Transport and application protocols — TCP, UDP, HTTP, HTTPS and DHCP and what each does.
CS_A2.1.5 · The TCP/IP model — The four layers and how they interact for reliable data transmission.
A2.2 — Network architecture
CS_A2.2.1 · Network topologies — Star, mesh and hybrid, judged on reliability, speed, scalability, collisions and cost.
CS_A2.2.2 · The function of servers — DNS, DHCP, file, mail, proxy and web servers, by function, scalability, reliability and security.
CS_A2.2.3 · Client-server vs peer-to-peer — The benefits and drawbacks of the two networking models.
CS_A2.2.4 · Network segmentation — Segmenting, subnetting and VLANs for performance and security.
A2.3 — Data transmissions
CS_A2.3.1 · Types of IP addressing — IPv4 vs IPv6, public vs private, static vs dynamic, and the role of NAT.
CS_A2.3.2 · Data transmission media — Fibre optic, twisted pair and wireless across eight factors.
CS_A2.3.3 · Packet switching — Segmenting data into packets, independent routing and reassembly.
CS_A2.3.4 · Static and dynamic routing — How each moves data across LANs, with advantages and disadvantages.
A2.4 — Network security
CS_A2.4.1 · The effectiveness of firewalls — Filtering by whitelist, blacklist and rules, plus strengths, limits and NAT.
CS_A2.4.2 · Common network vulnerabilities — DDoS, MitM, phishing, SQL injection, XSS, malware and other weaknesses.
CS_A2.4.3 · Common network countermeasures — IDS/IPS, MFA, encryption, filtering, testing and training, and more.
CS_A2.4.4 · Encryption and digital certificates — Symmetric vs asymmetric crypto, certificates, key pairs and key management.
A3.1 — Database fundamentals
CS_A3.1.1 · Relational databases: features, benefits, limitations — The named features of a relational database and reasoned benefits and limitations.
A3.2 — Database design
CS_A3.2.1 · Database schemas — Conceptual, logical and physical schemas as abstractions at different levels.
CS_A3.2.2 · Constructing ERDs — Entities, relationships, and the roles of cardinality and modality.
CS_A3.2.3 · Data types in relational databases — Common data types, why consistency matters, and effects of a wrong type.
CS_A3.2.4 · Constructing tables — Primary, foreign, composite and concatenated keys for well-defined tables.
CS_A3.2.5 · Difference between normal forms — 1NF, 2NF, 3NF and the dependency terms behind normalization.
CS_A3.2.6 · Normalizing to 3NF — Building a 3NF design for a real-world scenario, step by step.
CS_A3.2.7 · The need for denormalization — Weighing read performance against redundancy risk.
A3.3 — Database programming
CS_A3.3.1 · SQL data language types (DDL and DML) — How DDL defines structures and DML manipulates data.
CS_A3.3.2 · Queries across two tables — Joins, filtering, pattern matching and ordering with named SQL commands.
CS_A3.3.3 · Updating data with SQL — INSERT, UPDATE, DELETE and the cost of updating indexed columns.
CS_A3.3.4 · Aggregate calculations — AVERAGE, COUNT, MAX, MIN, SUM on grouped data.
CS_A3.3.5 · Database views — Virtual and materialized views and what they are used for.
CS_A3.3.6 · Transactions and data integrity — ACID properties and TCL commands.
A3.4 — Alternative databases and data warehouses
CS_A3.4.1 · Types of databases — NoSQL, cloud, spatial and in-memory models and their real-world uses.
CS_A3.4.2 · Objectives of data warehouses — The data characteristics that make a warehouse suit analysis and BI.
CS_A3.4.3 · OLAP and data mining — Their role in business intelligence and the named mining techniques.
CS_A3.4.4 · Distributed databases — Consistency needs, the role of ACID, and named features.
A4.1 — Machine learning fundamentals
CS_A4.1.1 · Types of machine learning and their applications — The five approaches (DL, RL, supervised, TL, UL) and real-world uses.
CS_A4.1.2 · Hardware requirements for ML deployment — From standard laptops to advanced infrastructure, by processing, storage and scalability.
A4.2 — Data preprocessing
CS_A4.2.1 · The significance of data cleaning — How data quality drives model performance, plus cleaning, normalization and standardization.
CS_A4.2.2 · The role of feature selection — Retaining the most informative attributes via filter, wrapper and embedded methods.
CS_A4.2.3 · The importance of dimensionality reduction — Reducing variables and the curse of dimensionality (PCA and LDA are out of scope).
A4.3 — Machine learning approaches
CS_A4.3.1 · Linear regression for continuous outcomes — Predictor and response variables, slope and intercept, and fit measured by r squared.
CS_A4.3.2 · Classification: K-NN and decision trees — Predicting discrete categories from labelled data with K-NN and decision trees.
CS_A4.3.3 · Evaluating models and hyperparameter tuning — Accuracy, precision, recall, F1, tuning, and overfitting versus underfitting.
CS_A4.3.4 · Clustering in unsupervised learning — Grouping data by similarities in its features.
CS_A4.3.5 · Association-rule learning — Uncovering relations between attributes in large data sets.
CS_A4.3.6 · Reinforcement learning — An agent learning from its environment via cumulative reward.
CS_A4.3.7 · Genetic algorithms — Population, fitness, selection, crossover and mutation applied to optimization.
CS_A4.3.8 · ANNs: perceptron and multi-layer networks — The structure and function of artificial neural networks, with perceptron and MLP sketches.
CS_A4.3.9 · Convolutional neural networks (CNNs) — Learning spatial hierarchies of features in images through its layers.
CS_A4.3.10 · Model selection and comparison — Why different algorithms suit different data and problems.
A4.4 — Ethical considerations
CS_A4.4.1 · Ethical implications of machine learning — Accountability, fairness, bias, privacy and more, including bias in training data and online communication.
CS_A4.4.2 · Ethics of technology integration into daily life — Reassessing guidelines as quantum, AR, VR and pervasive AI reshape rights, privacy and equity.
B. Theme B: Computational thinking and problem-solving
Turning problems into working solutions: computational thinking (B1), programming (B2), object-oriented programming (B3) and, for HL, abstract data types (B4).
B1.1 — Approaches to computational thinking
CS_B1.1.1 · Constructing a problem specification — The elements a specification may include, from problem statement to evaluation criteria.
CS_B1.1.2 · Fundamental concepts of computational thinking — Abstraction, algorithmic design, decomposition and pattern recognition.
CS_B1.1.3 · Applying computational thinking to solve problems — A toolkit of techniques, not necessarily programming, with real-world examples.
CS_B1.1.4 · Tracing flowcharts — The six standard flowchart symbols, and following execution flow, variables and output.
B2.1 — Programming fundamentals
CS_B2.1.1 · Variables, data types and scope — Constructing and tracing programs with global and local variables of the five data types.
CS_B2.1.2 · Extracting and manipulating substrings — Identifying and extracting substrings, then altering, concatenating or replacing them.
CS_B2.1.3 · Exception handling techniques — Points of failure and the try/catch, try/except and finally constructs.
CS_B2.1.4 · Common debugging techniques — Trace tables, breakpoints, print statements and step-by-step execution.
B2.2 — Data structures
CS_B2.2.1 · Static versus dynamic data structures — Memory allocation and resizing, and trade-offs in speed, memory and flexibility.
CS_B2.2.2 · Arrays and Lists — 1D and 2D arrays, ArrayLists / Lists, and adding, removing and traversing elements.
CS_B2.2.3 · Stacks (LIFO) — The push, pop, peek and isEmpty operations and their performance and memory impact.
CS_B2.2.4 · Queues (FIFO) — The enqueue, dequeue, front and isEmpty operations and their performance and memory impact.
B2.3 — Programming constructs
CS_B2.3.1 · Correct sequence of instructions — How instruction order affects output, and avoiding infinite loops, deadlock and wrong output.
CS_B2.3.2 · Selection structures — if, else, else if / elif with Boolean (AND, OR, NOT) and relational operators.
CS_B2.3.3 · Looping structures — Counted and conditional loops, and choosing the right one.
CS_B2.3.4 · Functions and modularization — Reusable functions, modular design, scope and the benefits of both.
B2.4 — Programming algorithms
CS_B2.4.1 · Big O notation and efficiency — Time and space complexity, calculating Big O, and choosing by scalability.
CS_B2.4.2 · Linear search and binary search — Constructing, tracing and comparing the two search algorithms.
CS_B2.4.3 · Bubble sort and selection sort — Constructing, tracing and evaluating the time and space complexities of each sort.
CS_B2.4.4 · The concept of recursion (HL) — Fundamentals, advantages and limitations, with applications including quicksort.
CS_B2.4.5 · Constructing recursive algorithms (HL) — Constructing and tracing simple, non-branching recursive algorithms.
B2.5 — File processing
CS_B2.5.1 · File-processing operations — Opening text files in read, write and append modes, then reading, writing and closing.
B3.1 — Fundamentals of OOP for a single class
CS_B3.1.1 · Evaluating the fundamentals of OOP — The five core concepts, and the advantages and disadvantages of OOP across scenarios.
CS_B3.1.2 · Designing classes with UML — Turning requirements into classes, methods and behaviour shown as a UML class diagram.
CS_B3.1.3 · Static versus non-static members — Class variables and methods shared by all objects versus per-object instance members.
CS_B3.1.4 · Defining classes and instantiating objects — Writing a class, the constructor's role in initializing state, and creating objects.
CS_B3.1.5 · Encapsulation and information hiding — Bundling data with methods and using private and public to control access.
B3.2 — Fundamentals of OOP for multiple classes
CS_B3.2.1 · Inheritance for code reusability — Parent and child class hierarchies, and access to parent members under four modifiers.
CS_B3.2.2 · Modelling polymorphism — Dynamic polymorphism via method overriding, and static polymorphism for efficiency.
CS_B3.2.3 · Abstraction and abstract classes — Exposing essentials for modular code, and abstract classes as common interfaces.
CS_B3.2.4 · Composition and aggregation — Building objects from components, and how the two has-a relationships differ.
CS_B3.2.5 · Common design patterns — Singleton, factory and observer, and the recurring problems they solve.
B4.1 — Fundamentals of ADTs
CS_B4.1.1 · Properties and purpose of ADTs — What an ADT is, and how it separates a data structure's behaviour from its implementation.
CS_B4.1.2 · Linked lists evaluated — Singly, doubly and circular lists, their operations, and their trade-offs against arrays.
CS_B4.1.3 · Constructing linked lists — Node classes and coded insertion, deletion, traversal and search for each list type.
CS_B4.1.4 · Binary search trees — The BST ordering property, its node operations, and the three traversals.
CS_B4.1.5 · Sets as an ADT — Unordered, unique elements with union, intersection, difference and membership code.
CS_B4.1.6 · Hash tables and set mechanics — Hashing functions, collision resolution, load factor, and the language built-ins.