Library · 0478
IGCSE Computer Science
Got a question wrong? Open the notes for that topic.
Teaching this subject? Everything for the classroom in one place →
- Syllabus
- Revision Sheet
- Syllabus Checklist
- Scheme of Work
- Exam Technique
- Command Words — A3 poster
- Lesson Plans — one page per topic
- Class Mark Book
0. Topic 0 1 files
1. Data representation 15 files
2. Data transmission 14 files
3. Hardware 17 files
4. Software 12 files
5. The internet and its uses 15 files
6. Automated and emerging technologies 14 files
7. Algorithm design and problem-solving 5 files
8. Programming 15 files
9. Databases 5 files
10. Boolean logic 5 files
2025 36 files
October / November session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
June session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
March session
2024 35 files
October / November session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers Answers
- Paper 23 Questions Answers
June session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
March session
2023 34 files
October / November session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
June session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
March session
2022 41 files
October / November session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
- Grade thresholds
- Examiner report
- Pre-release material 21
- Pre-release material 22
- Pre-release material 23
June session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
- Grade thresholds
- Examiner report
- Pre-release material 21
- Pre-release material 22
- Pre-release material 23
March session
2021 41 files
October / November session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
- Grade thresholds
- Examiner report
- Pre-release material 21
- Pre-release material 22
- Pre-release material 23
June session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
- Grade thresholds
- Examiner report
- Pre-release material 21
- Pre-release material 22
- Pre-release material 23
March session
2020 35 files
October / November session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
- Grade thresholds
- Examiner report
- Pre-release material 21
- Pre-release material 22
- Pre-release material 23
June session
- Paper 11 Questions Answers
- Paper 12 Questions Answers
- Paper 13 Questions Answers
- Paper 21 Questions Answers
- Paper 22 Questions Answers
- Paper 23 Questions Answers
March session
- IGCSE Computer Science — Question index
- 1.1 Number systems
- 1.2 Text, sound and images
- 1.3 Data storage and compression
- 2.1 Types and methods of data transmission
- 2.2 Methods of error detection
- 2.3 Encryption
- 3.1 Computer architecture
- 3.2 Input and output devices
- 3.3 Data storage
- 3.4 Network hardware
- 4.1 Types of software and interrupts
- 4.2 Types of programming language, translators and integrated development environments
- 5.1 The internet and the world wide web
- 5.2 Digital currency
- 5.3 Cyber security
- 6.1 Automated systems
- 6.2 Robotics
- 6.3 Artificial intelligence
- 8.1 Programming concepts
- 8.2 Arrays
- 8.3 File handling
Topic quizzes
- 1. Data representation
- 2. Data transmission
- 3. Hardware
- 4. Software
- 5. The internet and its uses
- 6. Automated and emerging technologies
- 7. Algorithm design and problem-solving
- 8. Programming
- 9. Databases
- 10. Boolean logic
Starter quizzes
Unit tests
- 1. Data representation
- 2. Data transmission
- 3. Hardware
- 4. Software
- 5. The internet and its uses
- 6. Automated and emerging technologies
- 7. Algorithm design and problem-solving
- 8. Programming
- 9. Databases
- 10. Boolean logic
Mock papers
Course companion
Glossary
Topic handouts
Programming references
- Python Handout (EN)
- Python 讲义 (中文)
- Java Handout (EN)
- Java 讲义 (中文)
- C Handout (EN)
- C 讲义 (中文)
- SQL Handout (EN)
- SQL 讲义 (中文)
- HTML & CSS Handout (EN)
- HTML 与 CSS 讲义 (中文)
Chapters
- Python Handout · 1. Getting started
- Python Handout · 2. Variables, types & operators
- Python Handout · 3. Strings
- Python Handout · 4. Selection
- Python Handout · 5. Iteration
- Python Handout · 6. Lists & 2-D lists
- Python Handout · 7. Dictionaries
- Python Handout · 8. Functions & abstraction
- Python Handout · 9. Errors, exceptions & testing
- Python Handout · 10. Files
- Python Handout · 11. Algorithm design
- Python Handout · 12. Data structures
- Python Handout · 13. Searching, sorting & efficiency
- Python Handout · 14. OOP & paradigms
- Python Handout · 15. Data representation
- Python Handout · 16. Computing concepts
- Python Handout · 17. Putting it together
- Java Handout · 1. Java basics
- Java Handout · 2. Operators & expressions
- Java Handout · 3. Booleans & selection
- Java Handout · 4. Loops
- Java Handout · 5. Strings
- Java Handout · 6. Arrays
- Java Handout · 7. ArrayList
- Java Handout · 8. Writing classes
- Java Handout · 9. Inheritance & polymorphism
- Java Handout · 10. Recursion
- Java Handout · 11. Searching & sorting
- Java Handout · 12. Files & the FRQ
- C Handout · 1. C basics
- C Handout · 2. Selection
- C Handout · 3. Loops
- C Handout · 4. Functions
- C Handout · 5. Arrays
- C Handout · 6. Pointers
- C Handout · 7. Strings
- C Handout · 8. Structs
- C Handout · 9. Dynamic memory
- C Handout · 10. Data structures
- C Handout · 11. Searching, sorting & recursion
- C Handout · 12. Files & errors
- C Handout · 13. Bits & data
- C Handout · 14. Preprocessor & qualifiers
- SQL Handout · 1. Querying basics
- SQL Handout · 2. Filtering & logic
- SQL Handout · 3. Sorting & limiting
- SQL Handout · 4. Aggregates & grouping
- SQL Handout · 5. Joins
- SQL Handout · 6. Modifying data
- SQL Handout · 7. Defining tables
- SQL Handout · 8. Database design
- HTML & CSS Handout · 1. HTML basics
- HTML & CSS Handout · 2. Lists, links & images
- HTML & CSS Handout · 3. Page structure
- HTML & CSS Handout · 4. Tables & forms
- HTML & CSS Handout · 5. Boxes & sections
- HTML & CSS Handout · 6. CSS basics
- HTML & CSS Handout · 7. Colours & text
- HTML & CSS Handout · 8. The box model
- HTML & CSS Handout · 9. Layout
- HTML & CSS Handout · 10. Going further
- 1.1 Number systems
- 1.2 Text, sound and images
- 1.3 Data storage and compression
- 2.1 Types and methods of data transmission
- 2.2 Methods of error detection
- 2.3 Encryption
- 3.1 Computer architecture
- 3.2 Input and output devices
- 3.3 Data storage
- 3.4 Network hardware
- 4.1 Types of software and interrupts
- 4.2 Types of programming language, translators and integrated development environments
- 5.1 The internet and the world wide web
- 5.2 Digital currency
- 5.3 Cyber security
- 6.1 Automated systems
- 6.2 Robotics
- 6.3 Artificial intelligence
- 8.1 Programming concepts
- 8.2 Arrays
- 8.3 File handling
Lesson slides
- Course Overview
- 1. Data representation
- 2. Data transmission
- 3. Hardware
- 4. Software
- 5. The internet and its uses
- 6. Automated and emerging technologies
- 7. Algorithm design and problem-solving
- 8. Programming
- 9. Databases
- 10. Boolean logic
Lesson slides
- 1.1 Number systems
- 1.2 Text, sound and images
- 1.3 Data storage and compression
- 2.1 Types and methods of data transmission
- 2.2 Methods of error detection
- 2.3 Encryption
- 3.1 Computer architecture
- 3.2 Input and output devices
- 3.3 Data storage
- 3.4 Network hardware
- 4.1 Types of software and interrupts
- 4.2 Types of programming language, translators and integrated development environments
- 5.1 The internet and the world wide web
- 5.2 Digital currency
- 5.3 Cyber security
- 6.1 Automated systems
- 6.2 Robotics
- 6.3 Artificial intelligence
- 8.1 Programming concepts
- 8.2 Arrays
- 8.3 File handling
Vocabulary lists
- 1. Data representation
- 2. Data transmission
- 3. Hardware
- 4. Software
- 5. The internet and its uses
- 6. Automated and emerging technologies
- 7. Algorithm design and problem-solving
- 8. Programming
- 9. Databases
- 10. Boolean logic
Flashcards
- Flashcards — print and cut
- Python Handout — Flashcards
- Java Handout — Flashcards
- C Handout — Flashcards
- SQL Handout — Flashcards
- HTML & CSS Handout — Flashcards
Weekly vocab tests
- Week 1 · Topic 1 · Data representation
- Week 2 · Topics 1–2 · Data representation, Data transmission
- Week 3 · Topic 2 · Data transmission
- Week 4 · Topics 2–3 · Data transmission, Hardware
- Week 5 · Topic 3 · Hardware
- Week 6 · Topic 3 · Hardware
- Week 7 · Topic 4 · Software
- Week 8 · Topics 4–5 · Software, The internet and its uses
- Week 9 · Topic 5 · The internet and its uses
- Week 10 · Topic 5 · The internet and its uses
- Week 11 · Topics 5–6 · The internet and its uses, Automated and emerging technologies
- Week 12 · Topics 6–7 · Automated and emerging technologies
- Week 13 · Topic 7
- Week 14 · Topics 7–8 · Programming
- Week 15 · Topic 8 · Programming
- Week 16 · Topics 8–9 · Programming, Databases
- Week 17 · Topics 2–10 · Data transmission, Databases, Boolean logic
- Week 18 · Topics 3–6 · Hardware, Software, Automated and emerging technologies
Weekly homework
Exercise sheets
- Complete pack — exercise sheets + past papers
- 1 Data representation — Part 1
- 1 Data representation — Part 2
- 2 Data transmission — Part 1
- 2 Data transmission — Part 2
- 3 Hardware — Part 1
- 3 Hardware — Part 2
- 4 Software — Part 1
- 4 Software — Part 2
- 5 The internet and its uses — Part 1
- 5 The internet and its uses — Part 2
- 6 Automated and emerging technologies — Part 1
- 6 Automated and emerging technologies — Part 2
- 7 Algorithm design and problem-solving — Part 1
- 7 Algorithm design and problem-solving — Part 2
- 8 Programming — Part 1
- 8 Programming — Part 2
- 9 Databases — Part 1
- 9 Databases — Part 2
- 10 Boolean logic — Part 1
- 10 Boolean logic — Part 2
Past papers
- 1.1 Number systems
- 1.2 Text, sound and images
- 1.3 Data storage and compression
- 2.1 Types and methods of data transmission
- 2.2 Methods of error detection
- 2.3 Encryption
- 3.1 Computer architecture
- 3.2 Input and output devices
- 3.3 Data storage
- 3.4 Network hardware
- 4.1 Types of software and interrupts
- 4.2 Types of programming language, translators and integrated development environments
- 5.1 The internet and the world wide web
- 5.2 Digital currency
- 5.3 Cyber security
- 6.1 Automated systems
- 6.2 Robotics
- 6.3 Artificial intelligence
- 8.1 Programming concepts
- 8.2 Arrays
- 8.3 File handling
Tips
Paper 1 and Paper 2 want different revision, so do not alternate between them in one session. Paper 1 rewards short, frequent recall practice on precise definitions. Paper 2 needs long sittings where you write a whole program or trace a whole algorithm without breaking concentration.
For Paper 2, write pseudocode and code by hand, then type it in and run it. The gap between "this looks right" and "this runs" is what past papers are uniquely good at exposing.
Practise trace tables until they are mechanical. They appear reliably, they are marked step by step so partial credit is generous, and the errors are almost always the same one: not updating a variable on the row where it changed.