CIE IGCSE | TOPIC 8 ASSESSMENT

PROGRAMMING: END OF TOPIC REVIEW

Assess programming concepts, operators, routines, arrays and file handling through recall, applied traces and written explanations. Work independently before revealing feedback.

BEFORE YOU BEGIN

Suggested time: 70–90 minutes, or split into two sessions. Complete sections A and B without notes. Write section C answers in your exercise book before revealing the marking guidance.

Sections A and B provide an automatic score out of 24, one point for each fully correct item. Section C has 34 suggested written marks, assessed separately. These are original practice questions, not an official Cambridge paper or grade boundary.

Use pseudocode and trace tables in your book for the applied tasks. The review samples this large topic; use the revision page and lesson links for full coverage. State assumptions and show working where a question requires it. Your answers remain only while this page is open.

A | QUICK CHECKS

1. Which statements about variables and constants are correct?

Select all correct answers.

2. Which type suits the student identifier "0072" when leading zeros matter?
3. Which distinctions between assignment, input and output are correct?

Select all correct answers.

4. Which statements about selection are correct?

Select all correct answers.

5. Which loop naturally requests an input at least once and repeats until valid?
6. Which loop statements are correct?

Select all correct answers.

7. Which comparisons accept an INTEGER score from zero to one hundred inclusive?

Select all correct answers.

8. Which statements about strings are correct?

Select all correct answers.

9. Which statements about routines are correct?

Select all correct answers.

10. Which statements support maintainability?

Select all correct answers.

11. Which describe array declarations and accesses?

Select all correct answers.

12. Which file statements are correct?

Select all correct answers.

B | APPLY YOUR KNOWLEDGE

B1 | ASSIGNMENT AND ACCUMULATION

Assume suitable INTEGER declarations. Trace these instructions before answering the two items.

Score ← 10
Saved ← Score
Score ← Score + 5
Total ← 0
FOR Position ← 1 TO 3
  INPUT Value
  Total ← Total + Value
NEXT Position

The three valid input values are four, seven and two. All additions happen after the input in their iteration.

13. What is Saved after Score changes to fifteen?
14. What is the final Total for inputs four, seven and two?
15. For Score 80, an outer IF Score >= 80 outputs Distinction; only its ELSE contains IF Score >= 50. Which inner-test result is recorded?
16. FOR Number ← 1 TO 5 STEP 2 outputs Number. How many OUTPUT executions occur?
17. Calculate DIV(19, 5) + MOD(19, 5).
18. For Text "Happy Days", what is SUBSTRING(Text, 5, 3)?
19. Double returns twice its INTEGER argument. What happens in Total ← Double(6) + 3?

B2 | ARRAY STATES

Scores : ARRAY[1:5] OF INTEGER has assigned values eight, five, twelve, seven and nine. For each question below, start again with that original array.

20. Position is two. What does Scores[Position + 1] read?
21. Copy Scores[2] into Scores[4], then change Scores[2] to ten. What is Scores[4]?
22. ScoresGrid is ARRAY[1:3, 1:4]. A row-outer, column-inner loop visits every element once. How many visits?
23. Names.txt contains Maya, Leo, Aisha. After two reads into Name during one open READ session, what is Name?

B3 | FILE REPLACEMENT

A writing loop opens Names.txt FOR WRITE, writes one name and closes on every iteration. It handles Maya, then Leo, then Aisha.

24. What does the file contain after the final writing iteration?

SUBMIT YOUR AUTOMATIC ANSWERS

You can submit with unanswered items; they receive zero. Each item earns one point only when the complete answer is correct. The total is out of 24, separately from written marks.

C | EXAM-STYLE WRITING

Write in your exercise book before revealing the guidance. Section C assesses subject knowledge and gives you practice expressing it clearly. The first table reproduces the command-word meanings supplied from the Cambridge syllabus. The second gives practical writing guidance for this review.

Command words supplied from the Cambridge IGCSE Computer Science specification
CIE command wordMeaning from the specification
Calculatework out from given facts, figures or information
Compareidentify/comment on similarities and/or differences
Definegive precise meaning
Demonstrateshow how or give an example
Describestate the points of a topic / give characteristics and main features
Evaluatejudge or calculate the quality, importance, amount, or value of something
Explainset out purposes or reasons / make the relationships between things clear / say why and/or how and support with relevant evidence
Giveproduce an answer from a given source or recall/memory
Identifyname/select/recognise
Outlineset out the main points
Show (that)provide structured evidence that leads to a given result
Stateexpress in clear terms
Suggestapply knowledge and understanding to situations where there are a range of valid responses in order to make proposals / put forward considerations

The command applies to the subject context. A brief identification does not need an essay; an explanation needs accurate links. Use the guidance below for the commands in this written review.

Command words used in the written questions
Command wordWhat your answer should doUseful writing pattern
DescribeState the main features or relevant points; for a process, make the sequence clear.First… Next… Finally…
ExplainGive reasons, purposes or clear relationships, supported by relevant subject knowledge.…because…; therefore…; resulting in…; leading to…
CompareIdentify similarities and/or differences, addressing both things on the same basis.Both…; whereas…; unlike…
EvaluateMake a reasoned judgement about suitability or value in the given context.A benefit is…; however…; therefore, for this purpose…
CalculateWork out a result using the supplied data.Show the relevant values and arithmetic.
Show (that)Provide structured evidence leading to the stated result.Trace intermediate states, then link them to the result.
SuggestApply knowledge to propose a valid solution or test.State a proposal and relate it to the requirement.

BUILD A CLEAR EXPLANATION

Point → reason or mechanism → consequence. Connectives help show the relationship, but the technical link must be accurate. Adding “because” to an unsupported claim does not make it a good explanation.

Thin answer: “The count changes.”

Developed answer: “The count increases by one only after an input is accepted because rejected attempts must not represent extra accepted scores, therefore invalid retries do not inflate the final count.”

Use because or because of to introduce a cause; therefore, resulting in or leading to to show a consequence. For comparison, use both and whereas. For evaluation, use however and finish with a justified judgement.

Write enough relevant detail for the marks available. Clear, concise sentences are better than padding. These are writing supports, not compulsory phrases or separate official language marks.

25 | TYPES, VALUES AND ASSIGNMENT

[4 suggested marks]

Compare a variable with a constant. Then explain why a student code such as “0072” should use STRING when its leading zeros must be retained.

26 | LOOP CHOICE AND TOTALS

[4 suggested marks]

A program receives four accepted INTEGER scores from zero to twenty. It must retry invalid inputs and calculate their total. Describe suitable outer and inner loops, and explain why Total ← Total + Score belongs after validation while Total ← 0 belongs before the outer loop.

27 | ROUTINES AND SCOPE

[4 suggested marks]

Compare a procedure with a function. Then explain why returning the value of a local variable does not make that variable’s name available to the caller.

28 | LIBRARY ROUTINES AND RANDOMNESS

[4 suggested marks]

Calculate DIV(17, 5) and MOD(17, 5). Then evaluate the claim that ROUND(RANDOM() * 6, 0) is a fair six-sided die.

29 | TWO-DIMENSIONAL TRAVERSAL

[4 suggested marks]

ScoresGrid : ARRAY[1:2, 1:3] OF INTEGER contains row one (2, 4, 6) and row two (1, 3, 5). Describe a row-first nested traversal. Calculate both row totals and the grand total, and explain where the two total resets belong.

30 | FILE SEQUENCE AND RETENTION

[4 suggested marks]

Explain why a program opens a text file before reading and closes it afterwards. Compare READFILE with OUTPUT, and describe what happens to already-read variables and saved content when a READ file is closed.

31 | MAINTENANCE AND SAVE ERRORS

[4 suggested marks]

A save routine uses names A and B, repeats an unexplained price literal, and opens its destination FOR WRITE inside a loop for each saved item. Suggest two maintainability improvements and explain the file-writing error and its correction.

32 | BUILD A COMPLETE SOLUTION

[6 suggested marks]

A program receives four accepted INTEGER scores from zero to twenty inclusive, stores them in an array, outputs their total and mean, and saves all four to Scores.txt in array order. Demonstrate a complete solution using pseudocode. Then calculate the total and mean for attempts 25, 4, 7, 2, 3. Assume INTEGER input and successful file access.

CHECK YOUR WRITTEN COMMUNICATION

  • Did I answer the command word, rather than just name facts?
  • For explain, did I show an accurate reason or cause-and-effect link?
  • For compare, did I address both things on the same point?
  • For evaluate, did I weigh relevant factors and justify my judgement?
  • Did I use precise terms and connectives naturally, without repeating or padding?

Self-assess using the suggested content marks, keeping the written total separate from your automatic score. Use the writing checklist to improve an answer rather than adding unofficial language marks.

YOUR NEXT REVISION STEP

Submit sections A and B for targeted lesson links.

Keep your automatic and written marks separate. Pick two weak areas, revisit their lessons and attempt a fresh trace or explanation. Use the Topic 8 revision page for complete coverage, worked examples and a selectable flashcard list. These original practice scores are not official grade predictions.