Programming foundations checkpoint
Checkpoint challenges
This is a pacing and progress-check stage before object-oriented programming. The larger challenges are optional: students who are secure can extend themselves while others revisit unfinished techniques and strengthen weaker areas.
Secure and ready
Choose one larger challenge that combines several techniques and complete it independently.
Still consolidating
Return to incomplete or weaker foundation challenges instead of starting a larger task too early.
Checkpoint exam
Completed separately in class.
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. For example, 367p can be dispensed as 200p, 100p, 50p, 10p, 5p and 2p.
Blackjack
SelectedCreate a game of Blackjack between the player and computer. Store each hand in an array or ArrayList. Deal two cards to each side, allow the player to twist or stick, make the dealer draw below 16, treat picture cards as 10 and handle an ace as 1 or 11. The closest valid total to 21 wins. Separate card generation, hand value and turn logic into methods.
National Lottery Simulation
SelectedAllow a player to choose six unique numbers from 1 to 59. Generate six unique winning numbers and a bonus ball, then report the matches. Extend the program to simulate many draws and count how often each match category occurs. Do not claim that a small simulation proves the exact theoretical odds.
London Underground Letter Filter
SelectedStore a supplied list of London Underground station names. Ask the user for a word and find every station that can be written without using any letter contained in that word. Ignore spaces, punctuation and letter case, and explain the matching rule clearly.
Mayan Calendar
SelectedUse the Mayan long-count units: 20 kin in a uinal, 18 uinal in a tun, 20 tun in a katun and 20 katun in a baktun. Build methods that convert a long-count date into a total number of days and convert a total back into baktun, katun, tun, uinal and kin. Use a teacher-supplied reference date for conversion to a modern calendar date.
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.
Selected challenge
This choice is shared with the portfolio setup page.
Create your challenge folder
Run this command before starting. It creates the correct empty folder inside your portfolio.
Complete the challenge
Write and test your own solution in the folder created above.
Optional scaffolded support
Use only as much support as you need. The templates organise the program but leave the important algorithm unfinished.
Submit for review
Run this when your program is complete. It creates the README, commits the folder and pushes it.