1.1 What Is Paper 4?
Paper 4 is the practical programming paper in Cambridge International A Level Computer Science (9618). Unlike Papers 1, 2 and 3 — which are written exams — Paper 4 requires you to write and run actual programs on a computer.
- It tests your ability to write working programs, not just talk about them.
- Every syllabus topic — OOP, ADTs, file handling, algorithms — is tested through code you write, run and screenshot.
- OOP and ADTs are core skills, not optional extras.
- The Evidence Document is where you paste all your code and screenshots.
- Cambridge examiners mark from this document — they do not run your programs themselves.
- If your code is not in the Evidence Document, it cannot be marked.
- If screenshots are missing, you lose marks even if the code is correct.
What Paper 4 Is
1.2 Paper 3 vs Paper 4
Paper 4 differs from Paper 3 in one important way: Paper 3 tests whether you understand concepts; Paper 4 tests whether you can actually implement them.
| Aspect | Paper 3 | Paper 4 |
|---|---|---|
| Format | Written exam | Practical on a computer |
| Answer type | Pseudocode, written answers | Working program code |
| Evidence | Exam booklet | Evidence Document (code + screenshots) |
| Marks awarded for | Correct explanation, correct pseudocode | Correct output, structure and logic |
| OOP tested as | Describe / trace / write pseudocode | Write full working class definitions in Python |
- Paper 4 rewards working code that produces correct output.
- A perfectly explained theory answer (Paper 3 style) scores nothing in Paper 4 if the program does not run.
Exam Format at a Glance
1.3 Guaranteed Question Types
- Paper 4 follows a very consistent structure year after year.
- Knowing what always appears lets you prepare with focus — not waste time on topics that rarely show up.
From many years of past papers, you should always expect these three question types:
Question 1 — OOP
- Define one or more classes
- Attributes, methods, constructor
- Create and use objects
- Often inheritance or containment
Question 2 — ADT
- Stack (LIFO), Queue (FIFO)
- Linked list, Binary tree
- Manual implementation only
- Handle full and empty conditions
Question 3 — Mixed
- Algorithms: searching or sorting
- File handling (read/write/append)
- Recursion, structured data
- Most open-ended question
- OOP appears in every single Paper 4.
- It is always the first or a major question and typically carries the most marks.
- If you are not comfortable writing classes in Python, this is where to start.
Guaranteed Question Types
1.4 What Examiners Want
Cambridge Paper 4 examiners are not looking for the cleverest solution. They are looking for code that is readable, correct, and traceable. A simple 20-line solution that works scores more than a clever 5-line solution that is hard to follow.
✓ Examiners reward
✗ Examiners do NOT reward
- Starting to code before reading the question fully — missing a sub-part loses all its marks.
- Not including screenshots — code without a running screenshot loses method marks.
- Using unsuitable features (e.g.
sorted()instead of writing the sort). - Not following the given pseudocode — your Python should mirror its logic and names.
- Building GUI or web applications — Paper 4 is console-only.
What Examiners Want
1.5 Python for Paper 4
Python is one of the approved languages for Cambridge 9618 Paper 4 (alongside Java and Visual Basic .NET). Python is used throughout this site because it is clear, readable, and its structure maps closely to Cambridge pseudocode.
- All user interaction is through
input()andprint(). - All storage is through variables, lists or text files.
- If a solution needs anything beyond this, it is not suitable for Paper 4.
Safe features vs features to avoid
| Feature | Use in P4? | Reason |
|---|---|---|
if / elif / else | ✓ Safe | Core construct, maps to pseudocode |
for and while loops | ✓ Safe | Core construct |
| Lists (used as arrays) | ✓ Safe | Required for ADTs |
| Functions and procedures | ✓ Safe | Required for structured programming |
| Classes and objects (OOP) | ✓ Safe | Required — OOP always tested |
| Basic file handling | ✓ Safe | Core P4 skill |
try / except | ✓ Safe | Used for exception handling |
| List comprehensions | ✗ Avoid | Hides logic; hard to trace |
lambda, map, filter | ✗ Avoid | Advanced; not rewarded |
sorted() / .sort() | ✗ Avoid | Sorting needs a manual algorithm |
| GUI libraries (tkinter) | ✗ Avoid | Console only — not accepted |
| Unnecessary imports | ✗ Avoid | Only import what is needed (e.g. random) |
Python for Paper 4
1.6 Pseudocode → Python Mapping
Cambridge Paper 4 questions often provide pseudocode describing the algorithm. Your Python must follow the same logic order, use similar variable names, and implement each step clearly. Do not restructure the algorithm unless asked.
Cambridge Pseudocode
DECLARE total : INTEGER
total <- 0
FOR i <- 1 TO 5
OUTPUT "Enter score: "
INPUT score
total <- total + score
NEXT i
OUTPUT "Total: ", totalPython (Paper 4 style)
total = 0
for i in range(1, 6):
score = int(input("Enter score: "))
total = total + score
print("Total:", total)Cambridge Pseudocode — OOP
CLASS Animal
PRIVATE name : STRING
PRIVATE sound : STRING
PUBLIC PROCEDURE NEW(n, s)
name <- n
sound <- s
ENDPROCEDURE
PUBLIC FUNCTION makeSound() RETURNS STRING
RETURN name & " says " & sound
ENDFUNCTION
ENDCLASSPython (Paper 4 style)
class Animal:
def __init__(self, n, s):
self.__name = n
self.__sound = s
def makeSound(self):
return self.__name + " says " + self.__sound
a = Animal("Cat", "meow")
print(a.makeSound())Quick pseudocode → Python reference
| Pseudocode construct | Python equivalent |
|---|---|
FOR i ← 1 TO n | for i in range(1, n+1): |
WHILE cond DO ... ENDWHILE | while cond: |
REPEAT ... UNTIL cond | while True: ... if cond: break |
IF ... THEN ... ELSE ... ENDIF | if ... : else: |
INPUT x | x = input("...") (+ cast) |
OUTPUT x | print(x) |
x DIV y | x // y |
x MOD y | x % y |
DECLARE x : INTEGER | x = 0 (initial value) |
CLASS ... ENDCLASS | class ...: |
PRIVATE attribute | self.__attribute |
PUBLIC PROCEDURE NEW(...) | def __init__(self, ...): |
Pseudocode → Python Mapping
✓ Key Points Summary
1.7 Practice Tasks
Fifteen exam-style tasks. Click Hint for bullet-point guidance, then Help to reveal a worked Python solution.
Question Bank
Answer all questions, then press Submit Quiz to see your score.
Question 1Multiple Choice
Paper 4 of Cambridge 9618 is best described as:
Question 2True / False
Paper 4 has 75 marks and lasts 2 hours 30 minutes.
Question 3Multiple Choice
What is the purpose of the Evidence Document in Paper 4?
Question 4Multiple Choice
Which question type is guaranteed to appear in every Paper 4?
Question 5True / False
Using sorted() to sort a list is rewarded in Paper 4 sorting tasks.
Question 6Multiple Choice
Which of these should you AVOID in Paper 4 Python?
Question 7Multiple Choice
The pseudocode `FOR i ← 1 TO 5` translates to which Python line?
Question 8True / False
Python input() returns a string, so numeric input must be cast with int() or float().
Question 9Multiple Choice
Which Python expression gives the remainder (pseudocode MOD)?
Question 10Multiple Choice
How is a pseudocode PRIVATE attribute represented in Python OOP?
Question 11True / False
If a question provides pseudocode, you should restructure the algorithm to be more "Pythonic".
Question 12Multiple Choice
Which is a common reason students lose marks in Paper 4?
Answer all 12 questions to enable submission.