Create a computer
program in Python.
Everything the standard actually asks for, shown in working code — plus the exact difference between an Achieved, Merit and Excellence program.
Your program must do five things
Explanatory Note 2 is a shopping list. Miss one item and the program can't be marked, no matter how good it is. Tap a requirement to see exactly where a real program satisfies it.
Nothing selected — showing the whole program.
The same program, three grades
Achieved, Merit and Excellence are not "more features" — they're the same job done with more care. Here is one athletics-day program written three ways. Watch what changes.
The Python you need — and no more
This standard sits at Curriculum Level 6. You don't need classes, files or libraries. You need these six ideas used well.
Variables & two data types
Store a value under a name. You need at least two types, not just two variables.
Input & output
input() always hands back a string. Convert it before you do maths with it.
Sequence
Lines run top to bottom. Order matters — you can't use a variable before you make it.
Selection
Choose a path. Chain with elif so each time is tested once, not three times.
Iteration
for when you know how many times. while when you're waiting for something to happen.
Collections
A list holds many values under one name. This is the requirement students forget most often.
Predict the output
The standard expects you to predict and test outputs. Read each snippet, decide what prints, then check. Getting one wrong is more useful than getting it right.
Bug hunt
Every one of these runs without crashing — or crashes for a reason worth knowing. Find the fault, then read the fix.
Testing evidence
Half the marks live here and it's the half most people skimp on. A marker needs to see the value you tested, what you expected, what actually happened, and what you changed as a result.
Three kinds of test case
- Expected — normal input a real user would type. Needed for Achieved.
- Boundary — the exact edge of a range, and one step either side of it. Boundaries are almost always numbers. Needed for Merit.
- Invalid — wrong type, empty string, out of range, negative. Needed for Excellence.
Worked example for the athletics program. Every cell is editable — swap in your own program and copy it out.
| Case type | Input | Expected result | Actual result | Change made |
|---|
Edits here are not saved when you close the page — copy the table out when you're done.
Before you submit
Work down the list. Everything above your target grade needs to be ticked too — Excellence includes Merit, which includes Achieved.
Comments and naming
Merit asks for succinct, descriptive names and comments that explain the purpose of a section — not a translation of each line into English. Compare these.
Doesn't earn Merit
The names say nothing, and the comments repeat what the code already says out loud.
Earns Merit
A stranger picking up this code knows what the block is for and why it exists.