A1 Computer fundamentals
For the new IB Diploma Computer Science syllabus to start teaching in August 2025, and for first examinations in May 2027.
Unit and lesson overviews will be gradually published as developed.
- Lesson 1: CPU components
- Lesson 2: Primary memory, secondary memory
- Lesson 3: Fetch/decode/execute
- Lesson 4: GPU (HL)
- Lesson 5: Pipelining (HL)
- Lesson 6: Compression
- Lesson 7: Cloud computing
- Lesson 8,9: Binary data
- Lesson 10,11,12,13: Logic gates, truth tables, logic diagrams
- Lesson 14,15,16: Operating systems
- Lesson 17,18: Control systems
- Lesson 19: Translation
- Lesson 20: Exam practice questions
- Lesson 21: Assessment
Lesson 1: CPU components
A1.1.1 Describe the functions and interactions of the main CPU components.
- Units: arithmetic logic unit (ALU), control unit (CU)
- Registers: instruction register (IR), program counter (PC), memory address register (MAR), memory data register (MDR), accumulator (AC)
- Buses: address, data, control
- Processors: single core processor, multi-core processor, co-processors
- A diagrammatic representation of the relationship between the specified CPU components
Lesson 2: Primary memory, secondary memory
A1.1.4 Explain the purposes of different types of primary memory.
- Random-access memory (RAM), read only memory (ROM), cache (L1, L2, L3), registers
- The interaction of the CPU with different types of memory to optimize performance
- The relevance of the terms “cache miss” and “cache hit”
A1.1.7 Describe internal and external types of secondary memory storage.
- Internal hard drives: solid state drive (SSD), hard disk drive (HDD), embedded multimedia cards (eMMCs)
- External hard drives: SSD, HDD, optical drives, flash drives, memory cards, network attached storage (NAS)
- The scenarios in which the various types of drive are used
Lesson 3: Fetch/decode/execute
A1.1.5 Describe the fetch, decode and execute cycle.
- The basic operations a CPU performs to execute a single instruction in machine language
- The interaction between memory and registers via the three buses: address, data, control
Lesson 4: GPU (HL)
A1.1.2 Describe the role of a GPU.
- The architecture that allows graphics processing units (GPUs) to handle specific tasks and makes them suitable for complex computations
- Real-world scenarios may include video games, artificial intelligence (AI), large simulations and other applications that require graphics rendering and machine learning.
A1.1.3 Explain the differences between the CPU and the GPU. (HL only)
- Differences in their design philosophies, usage scenarios
- Differences in their core architecture, processing power, memory access, power efficiency
-
CPUs and GPUs working together: task division, data sharing, coordinating execution
- Video: How do Graphics Cards Work? Exploring GPU Architecture (28m)
Lesson 5: Pipelining (HL)
A1.1.6 Describe the process of pipelining in multi-core architectures. (HL only)
- The instructions fetch, decode, execute
- Write-back stages to improve the overall system performance in multi-core architectures
- Overview of how cores in multi-core processors work independently and in parallel
Lesson 6: Compression
A1.1.8 Describe the concept of compression.
- The differences between lossy compression methods and lossless compression methods
- Run-length encoding and transform coding
Lesson 7: Cloud computing
A1.1.9 Describe the different types of services in cloud computing.
- Services: software as a service (SaaS), platform as a service (PaaS), infrastructure as a service (IaaS)
- The differences between the approaches of SaaS, PaaS, and IaaS in various real-world scenarios, recognizing that different degrees of control and flexibility influence resource management and resource availability
Lesson 8,9: Binary data
A1.2.1 Describe the principal methods of representing data.
- The representation of integers in binary and hexadecimal
- Conversion of binary and hexadecimal integers to decimal, and vice versa
- Conversion of integers from binary to hexadecimal, and vice versa
A1.2.2 Explain how binary is used to store data.
- The fundamentals of binary encoding and the impact on data storage and retrieval
- The mechanisms by which data such as integers, strings, characters, images, audio and video are stored in binary form
Lesson 10,11,12,13: Logic gates, truth tables, logic diagrams
A1.2.3 Describe the purpose and use of logic gates.
- The purpose and use of logic gates
- The functions and applications of logic gates in computer systems
- The role of logic gates in binary computing
- Boolean operators: AND, OR, NOT, NAND, NOR, XOR, XNOR
A1.2.4 Construct and analyse truth tables.
- Truth tables to predict the output of simple logic circuits
- Truth tables to determine outputs from inputs for a problem description
- Truth tables and their relationship to a Boolean expression, with inputs and outputs
- Truth tables derived from logic diagrams to aid the simplification of logical expressions
- Karnaugh maps and algebraic simplification to simplify output expressions
A.1.2.5 Construct logic diagrams.
- Logic diagrams to demonstrate how logic gates are connected and interact in a circuit.
- Use of standard gate symbols for AND, OR, NOT, NAND, NOR, XOR and XNOR gates
- Inputs processed diagrammatically to produce outputs
- Combinations of these gates to perform more complex logical operations
- Boolean algebra rules to simplify complex logic diagrams and expressions
Lesson 14,15,16: Operating systems
A1.3.1 Describe the role of operating systems.
- Operating systems abstract hardware complexities to manage system resources
A1.3.2 Describe the functions of an operating system.
- Maintaining system integrity while running operating systems’ background operations
- Memory management, file system, device management, scheduling, security, accounting, graphical user interface (GUI), virtualization, networking
A1.3.3 Compare different approaches to scheduling.
- Managing the execution of processes by allocating CPU time to optimize system performance
- First-come first-served, round robin, multilevel queue scheduling, priority scheduling
A1.3.4 Evaluate the use of polling and interrupt handling.
- Event frequency, CPU processing overheads, power source (battery or mains), event predictability, controlled latency, security concerns
- Real-world scenarios may include keyboard and mouse inputs, network communications, disk input/ output operations, embedded systems, real-time systems.
A1.3.5 Explain the role of the operating system in managing multitasking and resource allocation. (HL only)
- The challenges of multitasking and resource allocation, including task scheduling, resource contention and deadlock
Lesson 17,18: Control systems
A1.3.6 Describe the use of the control system components. (HL only)
- The input, process, output, and feedback mechanism (open-loop, closed-loop)
- Controller, sensors, actuators, transducers and control algorithm
A1.3.7 Explain the use of control systems in a range of real-world applications. (HL only)
- Examples may include autonomous vehicles, home thermostats, automatic elevator controllers, automatic washing machines, traffic signal control systems, irrigation control systems, home security systems, automatic doors.
Lesson 19: Translation
A1.4 Translation (HL only)
A1.4.1 Evaluate the translation processes of interpreters and compilers.
- The mechanics and use-cases of each translation approach
- The difference in error detection, translation time, portability and applicability for different translation processes, including just-in-time compilation (JIT) and bytecode interpreters
- Example scenarios where the translation method should be considered must include rapid development and testing, performance-critical applications and cross-platform development.