Why Paper 1B Feels Impossible
Paper 1B carries 35 marks on a single extended programming task. Students often freeze because the question looks overwhelming. The secret: never try to code the whole thing at once.
The 5-Step Breakdown Method
Step 1: Read the Question Twice (2 minutes)
First read: understand the overall scenario. Second read: identify inputs, outputs, and the core logic.
Step 2: Identify the Sub-Problems (3 minutes)
Paper 1B questions are always split into parts (a), (b), (c), (d). Each part is a smaller, solvable problem. Attack them one at a time.
Step 3: Write Pseudocode Before Python (5 minutes)
On the exam paper margin, jot down what each part needs to do in plain English:
(a) Read data from file (b) Create Student class (c) Find student with highest score (d) Output formatted report
Step 4: Code Part by Part (25 minutes)
Start with the easiest part. If part (a) looks hard, do part (b) first โ they often don't depend on each other.
Step 5: Test Each Part Before Moving On (5 minutes)
Trace through with the sample input. Verify your output matches the example output shown in the question.
Common Paper 1B Patterns
Pattern A: File โ Process โ Output
with open('data.txt') as f:
records = [line.strip().split(',') for line in f]
# Process each record
results = []
for r in records:
# transformation logic
results.append(...)
# Output
for r in results:
print(f"{r[0]}: {r[1]}")
Pattern B: Class with Methods
class Entity:
def __init__(self, ...):
...
def method1(self):
...
def method2(self):
...
# Create instances and use them
entities = [Entity(...) for _ in range(n)]
What to Do If You're Stuck
- Attempt a simpler version. If asked to handle 100 records, write code that handles 1 first.
- Skip that part and move on. Follow-through marking means later parts still score.
- Write pseudocode if you can't write Python. Partial marks for logic.
Train on Paper 1B-Style Questions
PyForm's Special Task "Extreme" mode generates Paper 1B-style multi-part questions with full marking feedback.
Practise Now โ