VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

How IGCSE Computer Science Works | Student’s Guide

Three secondary students review textbooks and notes together at a classroom table.

Cambridge IGCSE Computer Science (0478) teaches how computer systems represent information and how algorithms solve problems step by step. The 2026–2028 course combines hardware, software, networks, data, security, programming, databases and Boolean logic. This guide explains the exact papers, the ten syllabus topics and an effective way to learn the subject.

The biggest mistake students make in IGCSE Computer Science is studying it as a collection of definitions or expecting that being good at using a computer is the same as understanding one. Examination questions ask students to trace what a system does, explain why a design works, identify a risk and construct a logical solution. Those tasks require reasoning, not only vocabulary.

Quick answer: this article refers to Cambridge Computer Science 0478 for examinations in 2026–2028. Every candidate takes Paper 1 Computer Systems and Paper 2 Algorithms, Programming and Logic, each 1 hour 45 minutes, 75 marks and 50%. Calculators are not permitted in either paper in this period. Paper 2 includes an unseen 15-mark scenario-based question. The 2029–2031 syllabus changes programming assessment significantly, so do not mix that later syllabus with the rules described here.

Confirm the Exact Computer Science Qualification First

The Cambridge IGCSE label appears beside several different computing-related qualifications. Computer Science 0478 is not the same as Information and Communication Technology 0417. Computer Science studies systems, logic, algorithms and programming; ICT places different emphasis on using technologies and practical digital applications.

There is also a Cambridge IGCSE 9–1 Computer Science code. Different awarding bodies offer their own International GCSE computer science specifications. Always check the official code printed on the school’s entry documentation.

Cambridge publishes a 2026–2028 specification for 0478 and a revised 2029–2031 specification. The later syllabus removes pseudocode from the assessed language requirements and uses Python 3 for teaching and programming questions. That future rule is not the rule for students sitting 0478 in 2026, 2027 or 2028.

This distinction matters because a student who prepares with the wrong paper format can spend months rehearsing the wrong kind of assessment. Confirm the exam year before choosing past papers, textbooks or programming courses.

The Ten Subject Topics Are Two Connected Halves

Paper 1 covers Topics 1–6, and Paper 2 covers Topics 7–10. These topics are separate for assessment purposes but deeply related in practice.

Computer systems:

  • 1. Data representation: binary, hexadecimal and ways computers store information such as numbers, text, images and sound.
  • 2. Data transmission: moving data reliably, understanding transmission methods and detecting errors.
  • 3. Hardware: processing, storage, input, output and the physical components of a computer.
  • 4. Software: system software, applications and their purposes.
  • 5. The internet and its uses: networking, communication, security and associated risks.
  • 6. Automated and emerging technologies: computer-controlled systems and wider consequences of technological use.

Algorithms, programming and logic:

  • 7. Algorithm design and problem-solving: decomposition, inputs, processes, outputs, flowcharts, pseudocode and tracing solutions.
  • 8. Programming: structures, variables, data types, validation, testing, debugging and the relevant language-independent principles.
  • 9. Databases: organising records and fields, querying information and using structures appropriately.
  • 10. Boolean logic: logical operators, truth tables and logic gates.

A useful learning question runs through all ten topics: ‘What information enters, how is it represented or transformed, and what result or decision comes out?’ This makes computing easier to understand as a connected system.

Paper 1 Computer Systems: Exactly What to Expect

Paper 1 is a written paper lasting 1 hour 45 minutes, worth 75 marks and 50% of the qualification under the 2026–2028 syllabus.

It includes short-answer and structured questions from Topics 1–6. All questions are compulsory. No calculator is permitted. The paper tests the ability to recall concepts, apply them to contexts and make justified decisions about systems.

A question may present a device with limited storage and ask how data could be represented or compressed. Another may describe a network risk and ask about a suitable protection. A student has to relate the technical principle to the actual context.

Being able to define RAM or malware is useful, but a strong answer explains why the particular component or risk matters to the described system.

Paper 2 Algorithms, Programming and Logic: Exactly What to Expect

Paper 2 is also 1 hour 45 minutes, worth 75 marks and 50%, with compulsory short-answer and structured questions from Topics 7–10.

Under the 2026–2028 syllabus, the final question is an unseen 15-mark scenario. Candidates are required to devise an algorithm in pseudocode or program code to address the described problem. Cambridge advises allocating approximately 30 minutes to this question.

Paper 2 is written; it does not mean the candidate has access to a running programming environment during the exam. The student must express program logic clearly enough to be understood and assessed on paper.

The 2026–2028 syllabus states that programming-language syntax knowledge is not the focus; the quality of the logic is more important. That does not remove the need to produce unambiguous, coherent algorithms.

No calculator is permitted in Paper 2 for 2026–2028. Advice saying calculators are allowed is likely referring to the changed 2029–2031 specification rather than the current examination route.

What Computational Thinking Really Means

Computational thinking is the ability to express a problem so that a systematic procedure can solve it. It involves seeing structure before rushing into code.

A student may be asked to find the highest score among a list of results. Before choosing a programming language, identify the input, the meaning of ‘highest’, the initial value, the comparison step and what happens for an empty list if that case is part of the task.

The basic approach is to keep a record of the highest value seen so far. Each new value is compared against it. If the new value is greater, the stored highest value changes. At the end, the value retained is the maximum for the processed list.

This reasoning is an algorithm even before it is written in a formal syntax. It is valuable because it makes each decision traceable.

The same thought process applies to searching for a name, checking a password, assigning seats, processing orders or counting valid responses. Different contexts reuse familiar computational structures.

Data Representation: Why Binary Matters

Computers use physical systems capable of representing distinct states. Binary is a convenient way to describe information using zeros and ones. Understanding binary also helps explain file size, storage limits, pixel data and communication.

For example, the binary number 1011 represents 11 in decimal, because it contains 8 + 0 + 2 + 1. A student who only memorises conversion examples may become confused when the number changes.

Instead, learn place values: from right to left, binary positions represent powers of two. Write down 1, 2, 4, 8, 16 and so on. Match the digit to its place value and add the selected values.

Hexadecimal provides a compact way to represent groups of binary digits. It is not a different physical storage medium: it is another representation of values.

For images, sound and text, students should connect the digital representation with properties such as resolution, sampling, colour depth, character encoding and file size where required by the syllabus.

A Worked Binary Example Without a Calculator

Convert decimal 26 into binary. The largest power of two not exceeding 26 is 16. Subtracting gives 10. Use 8, leaving 2. The remaining 2 is one binary place. So the selected places are 16, 8 and 2.

Write the values for 16, 8, 4, 2 and 1: 1 1 0 1 0. Therefore 26 decimal = 11010 binary.

Check in reverse: 16 + 8 + 0 + 2 + 0 = 26. The reverse check turns a memorised answer into a testable result.

Students should also understand what happens when a value exceeds the available bit width. A finite representation has limits. An answer can be mathematically correct but impossible to store in the number of bits specified by the question.

Short, accurate daily number-system practice is more useful than occasionally completing fifty identical conversions without feedback.

Data Transmission: Reliability and Risk

Moving data between devices introduces practical challenges. Information may be sent through different media and arrangements. It may be corrupted, intercepted, delayed or lost, depending on the system and conditions.

A good answer distinguishes transmission from storage and identifies whether the problem concerns speed, reliability, privacy or security.

Error-detection methods can help identify when transmitted information has changed unexpectedly. However, detecting an error is not the same as correcting it, and protection against accidental corruption is not necessarily protection against deliberate interception.

In some contexts, encryption protects confidentiality by transforming data so that parties without the appropriate key cannot readily interpret it. It does not, by itself, guarantee that every message is true, harmless or delivered on time.

Students should evaluate the technology in relation to the actual question instead of writing ‘encryption makes everything safe’.

Hardware: Explain the Job of Each Component

A computer system uses components with different roles. The processor performs operations, primary memory supports current work, secondary storage retains data, and input/output devices connect the system with external information or actions.

A student should know the distinctions among CPU functions, RAM, ROM and storage, including the relevant permanence and use cases prescribed by the syllabus.

Consider a school laptop that becomes slow when many applications are running. Increasing storage capacity is not automatically the same as increasing working memory. The question requires identifying the actual bottleneck rather than assuming that a bigger number always means better performance.

The most useful study method is to compare components in a simple table: purpose, type of data held or processed, persistence, relevant limitations and one real application.

This prevents the common mistake of describing all memory and storage as interchangeable.

Software: The Difference Between Instructions and Tasks

A computer’s hardware does not decide what useful work to perform by itself. Software provides instructions and manages processes. System software supports the functioning of the machine; application software is designed to help users carry out particular tasks.

Students should distinguish an operating system from a word processor, a device driver from a general app and a utility program from the problem it helps solve.

In examination questions, context matters. A program useful for editing photographs is not the best answer to every task involving files. Explain why a feature is relevant to the stated user need.

Where automatic software updates, backups or permissions appear, connect them to a real purpose and possible limitation. There is rarely a single tool that eliminates every operational risk.

Internet Use and Cybersecurity: Threat, Weakness and Control

Security becomes understandable when the student identifies the asset to protect, the threat to it, the vulnerability that might allow the threat and the control intended to reduce risk.

For example, a phishing message might encourage a user to enter credentials into a false website. The attack relies on deception, not necessarily a flaw in the victim’s computer hardware.

A response could involve recognising suspicious links, checking trusted channels, using appropriate account security and following organisational procedures. The student should explain what each action reduces, rather than promising perfect security.

Passwords, access controls, encryption, backups, firewalls and malware protection address different problems. Avoid using them as synonyms.

Ethical questions about computing should distinguish what technology can do, what harm or benefit is possible and what responsibilities follow from a particular use.

Automated and Emerging Technologies: Reason About the System

Automation involves computer-controlled processes using inputs, decision rules and outputs. For a simple greenhouse controller, a temperature sensor may provide readings and a controller may activate ventilation when a specified condition is met.

The student’s job is to identify the components and the logic. A sensor alone does not decide how a system responds. A threshold alone does not guarantee the reading is accurate. An actuator carries out an action; feedback helps determine what to do next.

Emerging technologies should be discussed in proportion to the syllabus and the described case. Avoid adding impressive but unsupported claims. A claim about artificial intelligence or robotics should identify the problem it helps solve and a realistic limitation.

Real-world computing is full of trade-offs among cost, reliability, privacy, energy use and performance. Explaining one trade-off clearly is usually more useful than listing five technologies.

Algorithms: Make the Steps Unambiguous

An algorithm is a precise sequence of steps for solving a problem. An ordinary instruction like ‘sort out the scores’ is ambiguous. A usable solution defines what counts as a valid score, which comparisons are performed and what output is required.

A helpful beginner exercise is counting how many test scores are at least 50. The algorithm starts a count at zero, examines each score, adds one for every score meeting the condition and finally outputs the count.

This contains three basic control structures: sequence, selection and iteration. Students should learn to recognise these structures in both flowcharts and pseudocode.

A strong candidate can explain why a loop starts, when it finishes, whether it visits every intended item and whether the output is correct for boundary values.

Learning the vocabulary of algorithms without tracing them is like memorising road signs without practising the journey.

Variables, Data Types and Validation

A variable stores a value that can change while an algorithm runs. Data types determine what kinds of values and operations are appropriate. A user’s age, a person’s name and a true/false permission flag should not be treated as identical kinds of data.

Input validation checks whether data satisfy defined rules. A score required to lie between 0 and 100 should be checked against both boundaries. A number outside that range is invalid for the stated application even if the computer can store it perfectly.

A common student error is confusing validation with verification. Validation asks whether entered data follow specified rules. Verification checks that data have been copied or entered accurately against a source. Neither necessarily establishes that the information is factually true.

Students should design test cases for valid, invalid and boundary inputs. Testing a score of 50 alone does not establish that the program correctly handles −1, 0, 100 and 101.

This attention to boundaries is especially important when writing the scenario-based algorithm in Paper 2.

Trace Tables: Follow the State, Not the Story

A trace table records how variable values change as an algorithm executes. It helps reveal errors that are difficult to see by merely reading the whole program.

Suppose a loop begins with total = 0, then processes three numbers: 4, 7 and 2. The total changes to 4, then 11, then 13. A trace table would show each step and the corresponding stored value.

If the program is meant to count how many values were processed, an additional variable might change from 0 to 1, 2 and 3. The final total and final count are different outputs, even though both are updated in the same loop.

Common errors include updating a counter at the wrong point, failing to reset an accumulator, using a condition that skips the last item or reading a variable before it has been assigned.

When practising, work through one statement at a time. Write what happens, not what you think the algorithm was supposed to do.

Searching and Sorting: Learn the Requirements

A search algorithm looks for a target. A sorting algorithm rearranges data according to a rule. Students should identify the required input assumptions and the steps of the method covered by their syllabus.

For example, a binary search depends on an appropriately ordered collection. Applying it to an unsorted list can produce an incorrect conclusion even if the individual comparison steps are executed correctly.

Linear search can inspect items sequentially without requiring the collection to be sorted. That does not mean it is the best choice in every situation. The nature and size of the data affect the decision.

When comparing algorithms, describe the case in which each technique is valid, what work it performs and what limitation matters. Avoid claiming that one technique is always fastest without specifying the conditions.

A student should be able to trace a small algorithm by hand before trying to memorise an idealised efficiency explanation.

Programming Practice That Supports the Written Exam

The 2026–2028 0478 Paper 2 is written, yet practical programming experience is essential. Students need to create actual programs so that selection, repetition and data handling become familiar rather than abstract.

A useful learning cycle is: define a small problem, sketch the logic, write a program in an appropriate language, test it with normal and boundary inputs, identify errors, correct them and explain the final solution.

The specific programming language used in lessons is a teaching choice made within the applicable syllabus rules. Do not apply the 2029–2031 Python-only assessment change to 2026–2028 examinations.

At the same time, do not treat this as permission to ignore formal notation. The syllabus provides pseudocode and flowchart conventions that candidates should understand. Logic must remain clear enough to communicate when no compiler is available.

A short program fully understood and independently modified can teach more than a large application copied from a tutorial.

The Unseen 15-Mark Scenario: A Reliable Strategy

The final Paper 2 scenario requires more sustained work than a definition question. Cambridge indicates that candidates should plan for about 30 minutes on it.

Start by reading the requirements and identifying inputs, outputs, rules and exceptional conditions. Draw a short data-flow sketch if useful. Decide what variables and collections are required. Only then begin the pseudocode or program-code response.

Build the central control structure first. Add input validation, iteration and selection where the scenario requires them. Check whether each path leads to an appropriate result and whether the loop can stop.

Use a small example to trace the algorithm. Test a normal case and at least one boundary or unexpected case relevant to the requirements. Ask whether the final output matches the task.

A common mistake is writing a long program immediately and discovering in the final minute that it never meets one central requirement. Planning is not wasted time; it is how the solution remains coherent.

Databases: From Stored Records to Useful Answers

A database structures information so it can be stored, updated and retrieved. A table contains records and fields. A field describes a particular kind of information; a record holds values associated with one item or entity.

Imagine a school library with fields for BookID, Title, Author and LoanStatus. Each row represents a book record. A question might ask for titles of books currently on loan.

The database task is not simply remembering the word ‘table’. It is identifying how data are organised, which condition selects the required records and how to present the result.

Students should understand the database concepts and query operations specified by Cambridge 0478, including SQL requirements where applicable, while avoiding assumptions that every database system works identically.

When practising, write the intended result in ordinary language before attempting a formal query. That improves the link between question and retrieval logic.

Boolean Logic: Truth Depends on Conditions

Boolean logic uses true and false values to express decisions. Its core operators combine or change conditions. For example, AND is true only when both relevant conditions are true; OR is true when at least one is true; NOT reverses a truth value.

Consider a digital access rule: the door opens if a valid card is present AND the system is enabled. A valid card alone is not enough if the system is disabled.

A truth table lists the possible input combinations and their outcomes. It is especially useful because an intuitive description can hide a logical error.

Do not confuse the ordinary conversational word ‘or’ with an assumed exclusive choice when the question specifies the Boolean OR operation. Check the intended operator and its truth table.

When a logic-gate diagram contains multiple stages, label intermediate outputs. Trace the circuit in order. This is the same habit used in trace tables for algorithms: follow the state through each operation.

How to Debug a Program Systematically

Debugging means finding and repairing why a program does not behave as intended. A bug can arise from incorrect logic, unsuitable data, a boundary condition, a syntax mistake or a misunderstanding of the problem itself.

Start by making the failure reproducible. Record the input, expected result and actual result. Identify the earliest step where the program state differs from expectation.

For a counting loop that returns 6 when only 5 valid values exist, examine when the counter increments and whether the termination condition includes an extra iteration. Do not immediately rewrite the whole program.

After fixing the cause, rerun the failing case and a small set of previously passing cases. A correction can introduce a new mistake elsewhere, so regression checking is important even in a school exercise.

The examination values sound logic. A student who can explain the source of an error and why the correction works is building a transferable skill.

Responsible Computing, Ethics and Practical Choices

The syllabus includes understanding of risks, benefits and appropriate use of technology. Students should distinguish technical capability from ethical justification.

For example, collecting large quantities of personal data might make some services convenient, but it creates privacy and security concerns. A good answer discusses the relevant purposes, controls and consequences without claiming that every new technology is automatically good or bad.

Automation may reduce repetitive work but can introduce dependence on sensors, software and maintenance. A system can be efficient and still fail if it cannot handle unusual inputs.

When a question asks for advantages and disadvantages, link each argument to a named stakeholder and a realistic condition. Avoid vague sentences such as ‘computers are faster’ unless the context explains faster than what and why that matters.

Balanced evaluation is a form of problem-solving: identify benefits, risks, safeguards and the limits of the decision.

Common Computer Science Errors and Precise Repairs

  • Representation confusion: mixing up bits, bytes, hexadecimal values or file-size units. Repair with small conversion drills and reverse checking.
  • Hardware confusion: treating RAM and permanent storage as the same. Repair by describing what happens when power is removed.
  • Security confusion: using ‘encryption’ as an answer to every cyber risk. Repair by identifying threat, vulnerability and control separately.
  • Algorithm confusion: failing to define inputs, outputs or loop termination. Repair by writing a simple plan and tracing it.
  • Boundary errors: testing only normal values. Repair with minimum, maximum and invalid cases.
  • Pseudocode uncertainty: using ambiguous operations that cannot be traced. Repair with Cambridge’s prescribed conventions and clear variable updates.
  • Logic-gate errors: guessing outputs instead of calculating intermediate truth values. Repair by tracing one gate at a time.
  • Paper-format confusion: preparing for the 2029 Python-only change during a 2026–2028 examination. Repair by checking the official exam-year specification.

A short error log is useful only if it produces different practice next time. Recording ‘I don’t understand programming’ is less actionable than ‘My loop includes the terminal index twice’.

Repair, Stabilise and Extend

A student needing repair should focus on binary place value, elementary flow of control, variable updates and the actual meaning of common computer system components. Use small examples that can be explained without jargon.

A student needing stabilisation should mix topics and solve unfamiliar scenarios. Practise translating real problems into algorithms, tracing code and explaining design choices after a delay.

A student ready for extension can compare alternative algorithms, inspect edge cases, evaluate trade-offs and build programs that are independently tested. Extension is not about using fashionable technology; it is about developing deeper reasoning.

Computer Science proficiency is often uneven. A student can write working programs yet struggle with networks, or know hardware well but struggle with Boolean logic. Diagnose specific gaps rather than applying a single global label.

A Weekly Learning Routine

Session one: system concept. Explain one topic from Paper 1 in terms of input, operation, output and limitations. Use a diagram or example rather than memorising a paragraph alone.

Session two: coding and tracing. Write a short algorithm, execute a practical version and trace it manually. Test a normal case and a boundary case.

Session three: mixed examination questions. Combine a few Paper 1 and Paper 2 items so that the learner must identify what each actually asks.

Session four: error repair. Reattempt wrong problems without looking at old answers. Update one concept map and one algorithmic habit.

A full timed practice paper is useful after the foundations are steady. It is a measurement tool, not the entire learning process.

A Twelve-Week Roadmap to the Exam

Weeks 1–2: confirm exam year and syllabus code. Diagnose knowledge across all ten topics and test algorithm tracing, binary representation and programming fundamentals.

Weeks 3–5: repair data, hardware, software and networking concepts alongside simple algorithms, variables, selection and repetition.

Weeks 6–8: integrate database queries, logic gates, testing and scenario design. Build small programs and practise writing equivalent solutions on paper.

Weeks 9–10: complete timed syllabus-aligned Paper 1 and Paper 2 sets, including the unseen 15-mark scenario. Review mistakes at the level of concepts, assumptions and variable state.

Weeks 11–12: consolidate frequent errors, practise written explanations and check final-paper rules. Avoid learning a new language from scratch as a substitute for understanding existing algorithm patterns.

The timeline is an example. Students with more preparation time should use repeated retrieval and independent projects to build lasting fluency.

Use Current Official Papers, Not Generic Programming Advice

The Cambridge IGCSE Computer Science (0478) official page provides the exam-year specification. The 2026–2028 syllabus PDF describes the ten topics, compulsory paper arrangements, algorithms and pseudocode requirements.

Pay special attention to the transition to 2029–2031. Cambridge’s revised syllabus removes pseudocode and specifies Python 3, changes the scenario-based assessment and permits calculators under the new rules. Those changes should not be copied into a preparation guide for the older specification.

Students should practise with the applicable syllabus and specimen materials. Older questions can teach useful logic but do not necessarily match every current assessment rule.

For related foundations, read How IGCSE Mathematics Works. Mathematical confidence supports binary values, logic and the clarity needed to reason about algorithms.

Frequently Asked Questions

Does IGCSE Computer Science 0478 have a practical exam?

For 2026–2028, assessment uses two written papers. Practical programming experience is still necessary to prepare effectively for Paper 2.

Is Paper 2 the same as a programming project?

No. Paper 2 is a compulsory written paper with algorithms, programming and logic questions, including a 15-mark unseen scenario. It is not a coursework project.

Are calculators allowed?

Not in Paper 1 or Paper 2 for the 2026–2028 0478 syllabus. Do not confuse this with the later 2029–2031 syllabus.

Must I use Python?

Not as a blanket Python-only requirement for 2026–2028. Cambridge’s Python 3 exclusive programming-language assessment change applies to the 2029–2031 specification. Learn the language and algorithm conventions appropriate to your actual exam year.

Can I learn programming only by watching videos?

Videos can introduce ideas, but proficiency requires actively writing, testing and debugging solutions. Trace algorithms yourself before relying on someone else’s walkthrough.

Why do I fail pseudocode questions when I can write working programs?

The written format requires unambiguous expression of logic without immediate compiler feedback. Practise formal algorithm plans, state tracing and the syllabus conventions.

How should I prepare for the 15-mark scenario?

Identify inputs and outputs, plan the data and control structures, implement the central logic and test realistic cases. Reserve adequate time; Cambridge’s guidance is approximately 30 minutes.

Final Student Checklist

  • I know the exact 0478 syllabus and exam year.
  • I know Paper 1 and Paper 2 each last 1 hour 45 minutes and count 50%.
  • I do not use a calculator in either 2026–2028 paper.
  • I can convert and verify basic binary and hexadecimal representations.
  • I distinguish computer hardware, software and storage functions.
  • I can explain relevant security risks and suitable controls.
  • I can design and trace algorithms with valid termination conditions.
  • I can test normal, boundary and invalid cases.
  • I can interpret database questions and Boolean logic accurately.
  • I can plan a complete answer to an unseen programming scenario.

IGCSE Computer Science works when the learner can reason about information moving through a system and express that reasoning as an algorithm another person could follow. The best preparation produces both conceptual understanding and independent problem-solving ability.

Official source: Cambridge IGCSE Computer Science (0478). This eduKateSG guide is independent educational commentary.


More IGCSE Student Guides

Explore the next guides in the eduKateSG IGCSE series. Check each guide’s examination year and Cambridge syllabus code before using paper details.