Practice Questions
OxfordAQA IGCSE Computer Science: Programming Fundamentals — Practice Questions (9210)
Original exam-style practice questions with full worked answers on data types, sequence/iteration/selection, and arithmetic, relational and Boolean operators, for OxfordAQA International GCSE Computer Science (9210).
- Subject
- Computer Science
- Level
- IGCSE
- Topic
- Programming
- Author
- Marlbridge Academic Team
- Updated
- Reviewed by
- Harris Khan (what this means)
Aligned to OxfordAQA IGCSE Computer Science (9210), Teaching from September 2017, exams from May/June 2019. Official specification .
Syllabus page (what it covers and how it is assessed): OxfordAQA IGCSE Computer Science.
Syllabus points this page covers
9210
- 2 Programming (whole topic)
Found an error? Report a correction.
Need help with this topic? Request a free trial class for IGCSE Computer Science (9210).
These are original questions written for Marlbridge, for revision and practice on this content. They are not reproduced past-paper questions, and they do not replicate the exam’s exact structure, question count or mark tariffs — examination boards hold copyright in their own papers. Use these alongside the official past papers available free from your board.
Related: Programming fundamentals study guide
Section A
1. State the data type most appropriate for storing: (a) a person’s age (b) whether a light is on or off (c) a single letter grade. [3]
2. Evaluate: (a) 17 DIV 5 (b) 17 MOD 5. [2]
Section B
3. Identify the three basic constructs of imperative programming, and give one example construct for each. [6]
4. Trace through the following pseudocode and state the final value of Total.
Total <- 0
FOR i <- 1 TO 4
IF i MOD 2 = 0 THEN
Total <- Total + i
ENDIF
ENDFOR
[4]
5. Write a compound condition using a relational and a Boolean operator that is true only when a
variable Score is greater than 50 AND a variable LivesLeft is greater than 0. [3]
6. Explain why using meaningful identifier names (e.g. studentScore rather than x) is good
programming practice. [3]
Answers
1. (a) Integer [1]. (b) Boolean [1]. (c) Character (or string) [1].
2. (a) 17 DIV 5 = 3 [1]. (b) 17 MOD 5 = 2 [1].
3. Sequence — statements executed one after another in order, e.g. a series of assignment
statements [1] [1]. Iteration — repeating a block of statements, e.g. a FOR or WHILE loop [1]
[1]. Selection — choosing between different paths of execution, e.g. an IF...THEN...ELSE statement
[1] [1].
4.
i = 1: 1 MOD 2 = 1 (not 0) -- Total stays 0
i = 2: 2 MOD 2 = 0 -- Total = 0 + 2 = 2
i = 3: 3 MOD 2 = 1 (not 0) -- Total stays 2
i = 4: 4 MOD 2 = 0 -- Total = 2 + 4 = 6
Final value of Total = 6
[1] [1] for correctly tracing the four iterations, [1] for correctly identifying which iterations satisfy the condition, [1] for the correct final value with working shown.
5. Score > 50 AND LivesLeft > 0 [1] [1] [1] (1 mark for each correct relational operator used, 1
mark for correctly combining them with AND rather than OR).
6. Meaningful identifier names make the purpose of a variable clear from its name alone, without needing to trace through the code to work out what it stores [1] [1]. This makes code easier to read, debug and maintain, both for the original programmer returning to it later and for anyone else working with the code [1].
Exam technique for this topic
Trace-table questions like Q4 are marked on showing working, not just the final value — set out each
iteration of a loop on its own line, stating the condition being tested and whether it is true or false,
since a correct final answer with no working shown may not earn full marks even though it demonstrates
the right understanding. When identifying whether a loop should be definite (FOR) or indefinite
(WHILE/REPEAT...UNTIL), ask whether the number of repetitions is known in advance — if it depends on
a condition that could change unpredictably, an indefinite loop is required, not a FOR loop forced to
approximate it. For compound conditions like Q5, always double-check whether the scenario needs AND
(every part must be true) or OR (only one part needs to be true), since a condition using the wrong
Boolean operator can silently produce working but incorrect code.
Worked example: writing an algorithm from a description
A question describes a simple program: read five numbers input by the user, and output whether each one is even or odd. A strong pseudocode answer combines all three constructs correctly:
FOR i <- 1 TO 5
INPUT Number
IF Number MOD 2 = 0 THEN
OUTPUT "Even"
ELSE
OUTPUT "Odd"
ENDIF
ENDFOR
This uses a definite loop (FOR, since exactly five numbers are known in advance), a MOD operation to
test evenness (a number is even if it leaves no remainder when divided by 2), and a selection statement
to output the correct result — practising this kind of translate-a-description-into-pseudocode exercise
regularly, rather than only tracing pre-written code, builds the construction skill that longer
algorithm-writing exam questions specifically assess.
Why pseudocode independence matters
Because 9210’s written exams always use OxfordAQA’s own pseudocode regardless of which language a
candidate learned in the classroom, practising reading and writing in this specific pseudocode style —
not just understanding the underlying logic in a familiar language like Python — is essential exam
preparation. A candidate fluent in Python but unfamiliar with the exact pseudocode conventions the board uses (for
example, <- for assignment, or ENDIF/ENDFOR closing keywords — published in the board’s separate
pseudocode guidance, not the specification itself, which only states that exam questions use the
board’s own pseudocode) risks losing time or making translation errors under exam pressure, even when
their underlying programming understanding is otherwise strong.
Where marks are usually lost
- Confusing DIV and MOD, or giving only one when a question asks for both the quotient and the remainder.
- Writing a definite loop (FOR) where the number of repetitions is not actually known in advance.
- Tracing a loop without showing each iteration’s working, losing method marks even with a correct final answer.
- Treating AND and OR as interchangeable, when they produce different results whenever the two conditions being combined disagree.
Get free revision emails (optional)
Occasional emails with practice questions, worked explanations and links to free resources for the qualification and subjects you choose. No spam, and you can unsubscribe from any email. The free tools on this site never need an email.
Related resources
-
Revision notes
OxfordAQA IGCSE Computer Science: Programming Fundamentals — Revision Notes
Condensed recall notes on data types, sequence/iteration/selection, and arithmetic, relational and Boolean operators for OxfordAQA International GCSE Computer Science (9210), sections 3.2.1-3.2.5.
Computer Science · OxfordAQA · IGCSE
Revise topic -
Study guides
OxfordAQA IGCSE Computer Science: Programming Fundamentals (9210)
Data types, sequence/iteration/selection, and arithmetic, relational and Boolean operators – the core imperative-programming constructs within Topic 2 Programming of OxfordAQA International GCSE Computer Science (9210).
Computer Science · OxfordAQA · IGCSE
Read guide -
Study guides
OxfordAQA IGCSE Computer Science: Algorithms (9210)
Representing and analysing algorithms – the opening topic of OxfordAQA International GCSE Computer Science (9210), version 3.5.
Computer Science · OxfordAQA · IGCSE
Read guide
Related articles
-
teaching
A Level tuition in Dubai: Cambridge or Pearson Edexcel International A Level?
Schools in Dubai and Abu Dhabi teach either Cambridge International AS & A Level or Pearson Edexcel International A Level. How the two are structured, why it matters for tuition, and how online classes from Lahore work.
9 October 2026
-
curriculum guides
Choosing subjects at IGCSE and A Level
How subject choices at 14 and 16 affect university options later, and how to keep pathways open without overloading a timetable.
28 July 2026
Studying this with a teacher
Working through Computer Science IGCSE?
This page is free and stays free. If you would rather be taught it, Marlbridge runs Computer Science classes one-to-one and in small groups of up to 15, online in your own time zone. The first trial class is free. WhatsApp replies within an hour (8am–11pm Pakistan time, every day); email the same day.
OxfordAQA Computer Science teachers at Marlbridge