Learn in your language
Skip to content
Cambridge (CIE) · IGCSE

Computer Science 0478

Understand how computers represent and process information, then develop algorithms, programming skills and logical reasoning.

168 lessons and reviews1 practice setSyllabus 2026–2028
Sign in to sync your courses and lesson reviews.
At a glance

What you'll cover

  • Computer systems
  • Algorithms, programming and logic
Explore the sections

Published syllabus exam years: 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031. Confirm exam-series and centre availability with your school and Cambridge.

Syllabus 2026–2028

Cambridge IGCSE Computer Science 0478 syllabus map

2026–2028 syllabus · Version 6

10 of 10 sections have teaching and practice

Start the learning pathway
Study options and assessment

165 original lessons map the listed objectives across all 10 main topics in the 2026–2028 Version 6 syllabus, with worked explanations and guided, independent and transfer practice. This is mapped teaching coverage, not proof of full exam readiness. Three earlier starter lessons remain available but are not counted as syllabus-mapped teaching. Practical programming experience in an executable browser workspace, full timed-paper practice, human subject-teacher review and the separate 2029–2031 syllabus remain outstanding. Practice is self-checked and does not award an official Cambridge grade.

This is the paper-based 0478 route for examinations in 2026, 2027 and 2028. Cambridge offers June and November series, plus March in India. All candidates take Paper 1 and Paper 2; each is 1 hour 45 minutes, 75 marks and 50% of the grade, with no calculator. The separate 2029–2031 syllabus is not mapped here.

View syllabus coverage

Topics 1–6 are mapped through their syllabus sections; Topics 7–8 cover algorithm design, testing, programming concepts, arrays and file handling; Topic 9 covers single-table design, data types, keys, validation and the specified SQL; Topic 10 covers standard gate symbols and the transformations among statements, expressions, circuits and truth tables. Three retained introductory lessons are not counted toward syllabus coverage. Linked lessons show available teaching and practice, not a completed programme, teacher approval, exam readiness or a Cambridge grade. Practical programming in an executable workspace, full timed-paper practice and human subject-teacher review remain outstanding.

Computer systems

Algorithms, programming and logic

Read the syllabus update

Learn

Lessons and worked examples

Your topic map

Choose where to begin

All subject practice

Choose a lesson, try the practice and explain the idea without your notes. Your study checks help you decide what to review.

  1. 01

    Why computers represent data in binary

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  2. 02

    Convert between denary and binary

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  3. 03

    Use bit width and binary range

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  4. 04

    Convert denary and hexadecimal

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  5. 05

    Convert between binary and hexadecimal

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  6. 06

    Add 8-bit binary integers and detect overflow

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  7. 07

    Perform logical left binary shifts

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  8. 08

    Perform logical right and repeated shifts

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  9. 09

    Encode positive and negative integers in two’s complement

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  10. 10

    Decode two’s complement and check its range

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  11. 11

    Represent text with ASCII and Unicode

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  12. 12

    Sample sound into binary

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  13. 13

    Represent digital images with pixels

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  14. 14

    Measure data in bits, bytes and binary prefixes

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  15. 15

    Calculate image and sound file sizes

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  16. 16

    Explain why data is compressed

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  17. 17

    Compare lossy and lossless compression

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  18. 18

    Encode repeated data with run-length encoding

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  19. 19

    Read the structure of a data packet

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  20. 20

    Explain packet switching and packet order

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  21. 21

    Compare serial and parallel transmission

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  22. 22

    Compare simplex, half-duplex and full-duplex

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  23. 23

    Choose a transmission method for a scenario

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  24. 24

    Explain how USB transmits data

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  25. 25

    Understand errors after data transmission

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  26. 26

    Use even and odd parity checks

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  27. 27

    Extend parity across a byte or block

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  28. 28

    Check transmitted data with a checksum and echo

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  29. 29

    Use check digits to catch data-entry errors

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  30. 30

    Recover transmitted data with ARQ

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  31. 31

    Explain why transmitted data is encrypted

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  32. 32

    Use symmetric encryption

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  33. 33

    Use public and private keys

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  34. 34

    Explain the role of the CPU and microprocessor

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  35. 35

    Identify the main CPU units and registers

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  36. 36

    Follow the address, data and control buses

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  37. 37

    Trace the fetch–decode–execute cycle

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  38. 38

    Compare CPU cores, cache and clock speed

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  39. 39

    Understand a CPU instruction set

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  40. 40

    Recognise embedded systems

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  41. 41

    Choose an input device

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  42. 42

    Choose an output device

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  43. 43

    Use sensors to capture physical data

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  44. 44

    Compare RAM and ROM as primary storage

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  45. 45

    Distinguish primary and secondary storage

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  46. 46

    Explain magnetic and optical storage

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  47. 47

    Explain solid-state flash storage

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  48. 48

    Explain virtual memory

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  49. 49

    Explain cloud storage

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  50. 50

    Compare cloud storage with local storage

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  51. 51

    Distinguish system and application software

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  52. 52

    Explain operating system functions

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  53. 53

    Trace the hardware–firmware–operating system stack

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  54. 54

    Recognise hardware and software interrupts

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  55. 55

    Handle interrupts with an interrupt service routine

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  56. 56

    Compare high-level and low-level languages

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  57. 57

    Use assembly language and an assembler

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  58. 58

    Explain how a compiler translates a program

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  59. 59

    Explain how an interpreter runs a program

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  60. 60

    Compare compilers and interpreters

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  61. 61

    Use an IDE to write and test programs

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  62. 62

    Distinguish the internet from the World Wide Web

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  63. 63

    Read the parts of a web address

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  64. 64

    Explain HTTP and HTTPS

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  65. 65

    Explain what a web browser does

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  66. 66

    Trace how a browser retrieves a web page

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  67. 67

    Explain session and persistent cookies

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  68. 68

    Describe digital currency and its uses

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  69. 69

    Trace how a blockchain tracks transactions

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  70. 70

    Recognise brute-force attacks and hacking

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  71. 71

    Explain data interception and DDoS attacks

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  72. 72

    Distinguish viruses, worms and Trojan horses

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  73. 73

    Distinguish spyware, adware and ransomware

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  74. 74

    Recognise phishing, pharming and social engineering

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  75. 75

    Use access levels, authentication and privacy settings

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  76. 76

    Apply anti-malware, updates and firewalls

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  77. 77

    Protect links and connections with safe habits

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  78. 78

    Trace an automated system's control loop

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  79. 79

    Apply automated control to a real scenario

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  80. 80

    Evaluate an automated system's trade-offs

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  81. 81

    Define robotics and identify a robot

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  82. 82

    Compare roles for robots in different sectors

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  83. 83

    Define artificial intelligence

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  84. 84

    Explain AI data, rules, reasoning and learning

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  85. 85

    Trace an expert system

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  86. 86

    Explain machine learning

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  87. 87

    Choose between an expert system and machine learning

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  88. 88

    Use the program development life cycle

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  89. 89

    Analyse a problem and its requirements

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  90. 90

    Decompose systems and problems

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  91. 91

    Describe algorithms with inputs, processes, outputs and storage

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  92. 92

    Design with structure diagrams

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  93. 93

    Represent algorithms with flowcharts

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  94. 94

    Write precise pseudocode

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  95. 95

    Total and count values

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  96. 96

    Find maximum, minimum and average values

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  97. 97

    Search a list with linear search

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  98. 98

    Sort a list with bubble sort

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  99. 99

    Validate data with range and type checks

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  100. 100

    Validate length, presence and format

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  101. 101

    Use check digits to validate identification numbers

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  102. 102

    Verify entered data with visual and double-entry checks

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  103. 103

    Choose normal and abnormal test data

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  104. 104

    Test extreme and boundary values

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  105. 105

    Complete a trace table for an algorithm

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  106. 106

    Identify and correct algorithm errors

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  107. 107

    Write and amend an algorithm from a scenario

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  108. 108

    Declare variables and constants

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  109. 109

    Choose a basic data type

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  110. 110

    Read input and display output

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  111. 111

    Write a sequence with assignments

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  112. 112

    Use arithmetic, relational and logical operators

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  113. 113

    Select a branch with IF and CASE

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  114. 114

    Repeat a fixed number of times

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  115. 115

    Repeat while a condition is true

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  116. 116

    Run a loop at least once

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  117. 117

    Use totals and counts together

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  118. 118

    Handle strings with built-in operations

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  119. 119

    Use nested selection and iteration

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  120. 120

    Break a program into procedures

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  121. 121

    Return values from functions

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  122. 122

    Use local and global variables

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  123. 123

    Use DIV, MOD, ROUND and RANDOM

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  124. 124

    Make a program maintainable

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  125. 125

    Declare and use one-dimensional arrays

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  126. 126

    Process a one-dimensional array with a loop

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  127. 127

    Work with two-dimensional arrays

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  128. 128

    Store program data in files

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  129. 129

    Open, read, write and close files

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  130. 130

    Read fields and records in a database table

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  131. 131

    Turn storage requirements into fields

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  132. 132

    Choose text and character data types

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  133. 133

    Choose Boolean, numeric and date/time types

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  134. 134

    Validate database field values

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  135. 135

    Understand the purpose of a primary key

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  136. 136

    Choose a suitable primary key from a table

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  137. 137

    Read SELECT and FROM queries

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  138. 138

    Select only the fields a user needs

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  139. 139

    Filter records with WHERE

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  140. 140

    Combine filters with AND

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  141. 141

    Combine alternatives with OR

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  142. 142

    Sort query results in ascending order

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  143. 143

    Sort query results in descending order

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  144. 144

    Count matching records with COUNT

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  145. 145

    Add matching values with SUM

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  146. 146

    Trace the output of a SQL query

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  147. 147

    Complete a single-table SQL statement

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  148. 148

    Design and query a single-table database

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  149. 149

    Recognise standard logic gate symbols

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  150. 150

    Apply the NOT gate

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  151. 151

    Use AND and OR gates

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  152. 152

    Use NAND and NOR gates

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  153. 153

    Apply the XOR gate

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  154. 154

    List input combinations for truth tables

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  155. 155

    Evaluate Boolean expressions row by row

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  156. 156

    Translate a problem statement into a Boolean expression

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  157. 157

    Build a logic circuit from an expression

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  158. 158

    Build a circuit from a problem statement

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  159. 159

    Complete a truth table from a circuit

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  160. 160

    Write an expression from a circuit

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  161. 161

    Write an expression from a truth table

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  162. 162

    Complete a truth table from an expression

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  163. 163

    Derive a circuit from a truth table

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  164. 164

    Respect Boolean circuit limits

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  165. 165

    Connect statements, expressions, circuits and tables

    Learn the method · Practise with help · Try it yourself · Apply the idea

    Not started
  166. 166

    Unsigned binary representation

    Understand the idea · See an example · Check yourself

    Not started
  167. 167

    Phishing and authentication

    Understand the idea · See an example · Check yourself

    Not started
  168. 168

    Tracing loops and assignments

    Understand the idea · See an example · Check yourself

    Not started

These checks record your study activity and self-assessment, not a mastery score. Check the course coverage map for available lessons and remaining topics.

Apply

Practise this subject

Topic tests: Easy, Normal and Difficult

Choose a topic, save your answers and compare your reasoning with worked models. See available tests and any coverage gaps.

Browse 10 topics →

IGCSE Computer Science 0478 · Starter Paper

3 questions · 35 min · Timed practice

StudyForA · Learn with understanding

Original teaching content and links to official sources. Check your exam year and qualification before using a resource.