Programming foundations checkpoint
Additional challenges
Finished the core programming techniques before the rest of the class? Choose something that interests you and keep programming while other students finish, revisit or strengthen the techniques they still need. These are optional practice choices, not a rehearsal copy of the checkpoint exam.
Pick by interest
The choices deliberately feel different: logic puzzle, creative project, technical stretch or open brief. You do not need to choose the hardest-looking one.
Still catching up?
Do not start an additional challenge yet. Return to unfinished or weaker technique work and use this time to get secure.
Checkpoint exam
Your teacher runs the final controlled checkpoint separately in class when the group is ready.
Challenges Choose one
Choose a challenge that feels appropriate for you. Code heat is only a rough estimate, not a fixed level.
Change Calculator
SelectedWrite a program that outputs change using the lowest possible number of standard UK coins: 200p, 100p, 50p, 20p, 10p, 5p, 2p and 1p. Work entirely in pence to avoid decimal rounding errors. Organise the calculation so the logic is easy to test, then try values such as 0p, 1p, 367p and a much larger amount.
Good if you want a compact algorithmic problem rather than a larger creative project.
Choose Your Own Adventure
SelectedCreate a short original interactive story or text adventure. Give the player several meaningful choices, keep at least one piece of state that can change during the story, and use functions or methods to keep different scenes or responsibilities manageable. Validate choices rather than assuming perfect input. You may base the setting on a genre, game style or fictional world you enjoy, but write your own scenario and dialogue.
Keep the scope small enough to finish. A polished five-minute experience is better than an unfinished epic.
Advanced Expression Parser
SelectedExtend the expression parser so it accepts spaces, signed numbers and decimal operands while still supporting +, -, * and /. Separate token extraction, validation and calculation into methods. Report the location or cause of malformed input without crashing.
This is deliberately awkward. Choose it if you enjoy debugging edge cases and precise string processing.
Make Something Useful
SelectedCreate a small console program that solves a problem you actually care about. It could calculate, convert, track, quiz, simulate or organise something. Start by writing one sentence explaining what the program is for, then choose only the programming techniques that genuinely help. Include a sensible decomposition into functions or methods and at least one input-validation or error-handling path. Test it with normal and awkward inputs.
You are not rewarded for forcing every technique into the program. A clear, purposeful design is the goal.
Selected challenge
This choice is shared with the portfolio setup page.
Plan your solution in handwritten pseudocode
Before opening your IDE or writing any program code, handwrite pseudocode for this challenge on paper.
Not marked complete. If you submit now, the GitHub README will record “No”.
Create your challenge folder
Run this command after planning. It creates the correct empty folder inside your portfolio.
Complete the challenge
Use your handwritten pseudocode as the starting plan, then write and test your solution in the folder created above.
Optional two-level scaffold
Try from your handwritten pseudocode first. Scaffold gives some structure; Scaffold + comments gives stronger guidance. Use only the level you need, and update your pseudocode first if the support changes your plan.
Submit for review
Run this when your program is complete. It creates the README, commits the folder and pushes it. The README records whether you marked the handwritten pseudocode as complete; the paper itself is handed to your teacher separately.