Unit 3 — Core Track

Pick an app, keep its data in a dictionary, save it to a file, and make sure it's still there the next time you run it.

This Track Is for You If…

  • You're comfortable with variables, conditionals, loops, functions and lists from Units 1 and 2.
  • You want to build a working app with real data, and you're not ready for classes or multiple files yet.

What You'll Build

One app from the Unit 3 menu: inventory system, gradebook, game leaderboard or budget tracker. It's a console program: a menu, input, and a save file. You decide the details, and they go in your pitch.

Requirements Checklist

Your finished project must include all of these. (Ticking the boxes is just for you, it doesn't save.)

Need a head start on the save file?

Each starter file is a sample save file in the format this track uses. Copy it into your project folder and your program can load it as its starting data. There's no code included: you write the reading and writing functions yourself.

starter_inventory.json starter_gradebook.json starter_leaderboard.json starter_budget.json

Checkpoints at Core

CheckpointWhat it looks like at Core
CP1README pitch naming the user and what done looks like; a data sketch (what one record looks like and the file format); pseudocode for the menu and each function
CP2Menu runs with at least two features working; data saves and loads; test table written with expected results filled in
CP3All tests run with actual results recorded; feature request triaged and done (or declined, with a reason); shown to a peer

Start each checkpoint commit with CP1:, CP2: or CP3:, and push before your teacher calls you up.

When You're Stuck

  • Go back to the matching Unit 3 lesson (3.1 to 3.4). Every skill you need is in there.
  • Print your data. print(inventory) shows exactly what's in it, and that answers most questions about saving.
  • Three before me: check your notes, then ask a neighbour, then ask your teacher.

Done Looks Like…

Someone can run your app, add something, close it, reopen it, and find it still there. Your tests show that, and your README explains your data format well enough for someone else to read the save file.