Choose courses and a game for your year level
Pick your students' year level and how much teaching time you have, from 2 to 50 hours, to see a recommended game and the short courses to teach before it, in order. The plan fits your time; anything left over is listed with what else fits it. Each course lists how long it takes, what students should already know, what they will be able to do and the Australian Curriculum v9 codes it supports.
Recommended setup by year level and teaching time
| Year level | Teaching time | Courses, in order | Then the game | Total |
|---|---|---|---|---|
| Years 5–6 extension | 2–7 hours | Starter agent only | Greedy Pig (about 2 hours; class tournaments) | about 2 hours |
| 8–17 hours | Python Foundations for Greedy Pig (about 6 hours) | Greedy Pig (about 2 hours; class tournaments) | about 8 hours | |
| 18–23 hours | Python Fundamentals (about 16 hours) | Greedy Pig (about 2 hours; class tournaments) | about 18 hours | |
| 24–50 hours | Python Foundations for Greedy Pig (about 6 hours) → Python Fundamentals (about 16 hours) | Greedy Pig (about 2 hours; class tournaments) | about 24 hours | |
| Years 7–8 | 2–7 hours | Starter agent only | Greedy Pig (about 2 hours; class tournaments) | about 2 hours |
| 8–17 hours | Python Foundations for Greedy Pig (about 6 hours) | Greedy Pig (about 2 hours; class tournaments) | about 8 hours | |
| 18–23 hours | Python Fundamentals (about 16 hours) | Greedy Pig (about 2 hours; class tournaments) | about 18 hours | |
| 24–50 hours | Python Foundations for Greedy Pig (about 6 hours) → Python Fundamentals (about 16 hours) | Greedy Pig (about 2 hours; class tournaments) | about 24 hours | |
| Years 9–10 | 2–9 hours | Starter agent only | Prisoner's Dilemma (about 2 hours; practice vs bots only) | about 2 hours |
| 10–17 hours | Python Skills for Arena Champions (about 7 hours) | Arena Champions (about 3 hours; practice vs bots only) | about 10 hours | |
| 18–20 hours | Python Fundamentals (about 16 hours) | Prisoner's Dilemma (about 2 hours; practice vs bots only) | about 18 hours | |
| 21–25 hours | Python Fundamentals (about 16 hours) → Find an Available Game (about 1½ hours) → Leaderboard from a File (about 1½ hours) | Prisoner's Dilemma (about 2 hours; practice vs bots only) | about 21 hours | |
| 26–28 hours | Python Fundamentals (about 16 hours) → Python Skills for Arena Champions (about 7 hours) | Arena Champions (about 3 hours; practice vs bots only) | about 26 hours | |
| 29–50 hours | Python Fundamentals (about 16 hours) → Find an Available Game (about 1½ hours) → Leaderboard from a File (about 1½ hours) → Python Skills for Arena Champions (about 7 hours) | Arena Champions (about 3 hours; practice vs bots only) | about 29 hours | |
| Years 9–10 extension | 2 hours | Starter agent only | Prisoner's Dilemma (about 2 hours; practice vs bots only) | about 2 hours |
| 3–10 hours | Starter agent only | Lineup4 (about 3 hours; practice vs bots only) | about 3 hours | |
| 11–17 hours | Python Skills for Lineup 4 (about 8 hours) | Lineup4 (about 3 hours; practice vs bots only) | about 11 hours | |
| 18–50 hours | Python Skills for Lineup 4 (about 8 hours) → Python Skills for Arena Champions (about 7 hours) | Lineup4 (about 3 hours; practice vs bots only) | about 18 hours | |
| Advanced | 2–3 hours | Starter agent only | Prisoner's Dilemma (about 2 hours; practice vs bots only) | about 2 hours |
| 4–10 hours | Starter agent only | Hearts (about 4 hours; practice vs bots only) | about 4 hours | |
| 11–50 hours | Python Skills for Arena Champions (about 7 hours) | Hearts (about 4 hours; practice vs bots only) | about 11 hours |
Courses
| Course | Year levels | Length | Start after | Students will be able to | Curriculum (AC v9) |
|---|---|---|---|---|---|
| Python Foundations for Greedy Pig | Years 7–8 (also Years 5–6 extension) | 9 exercises, about 6 hours | No prior Python | Store values in variables and print a formatted report Loop through a list of players and check who is still in the round Read a game state stored in a dictionary and decide whether to bank Write a small function that returns a decision Work out the winner and each player's rank from the scores | AC9TDI8P07, AC9TDI10P07, AC9TDI6P05, AC9TDI8P01, AC9TDI8P03, AC9TDI8P05, AC9TDI8P06, AC9TDI8P09, AC9TDI10P01, AC9TDI10P05, AC9TDI10P06, AC9TDI10P09 |
| Python Fundamentals | Years 7–8 (also Years 9–10, Years 5–6 extension) | 30 exercises, about 16 hours (needs 18+ hours of teaching time) | No prior Python | Write programs that print output, read input and store values in variables Make decisions with comparisons and if/elif/else Repeat work with for and while loops, including nested loops Organise programs into functions with parameters and return values Use lists and dictionaries, read a text file, and trace and debug code | AC9TDI8P07, AC9TDI10P07, AC9TDI6P05, AC9TDI8P01, AC9TDI8P03, AC9TDI8P04, AC9TDI8P05, AC9TDI8P06, AC9TDI8P09, AC9TDI10P01, AC9TDI10P04, AC9TDI10P05, AC9TDI10P06, AC9TDI10P09, Years 7–8 achievement standard |
| Find an Available Game | Years 9–10 (also Years 9–10 extension) | 1 exercise, about 1½ hours | Python Fundamentals; Dictionaries, Nested Data, For Loops | Search a list of nested game records Skip records that don't qualify and stop at the first suitable match Explain why a search can return early | AC9TDI8P03, AC9TDI8P05, AC9TDI8P09, AC9TDI10P05, AC9TDI10P09 |
| Leaderboard from a File | Years 9–10 (also Years 9–10 extension) | 1 exercise, about 1½ hours | Python Fundamentals; For Loops, String Methods, if/elif/else | Read score records line by line from a text file Unpack each record and convert numeric text to numbers Track the highest scorer, keeping the first one on a tie | AC9TDI8P07, AC9TDI10P07, AC9TDI8P01, AC9TDI8P05, AC9TDI8P09, AC9TDI10P01, AC9TDI10P05, AC9TDI10P09 |
| Python Skills for Lineup 4 | Years 9–10 extension (also Years 9–10) | 8 exercises, about 8 hours | Python Fundamentals or Python Foundations for Greedy Pig; Parameters & return, if/elif/else, For Loops, Dictionaries | Read positions and a board stored in a dictionary Find every legal move and prefer the central columns Build every winning line with nested loops Search those lines for a move that wins immediately | AC9TDI8P07, AC9TDI10P07, AC9TDI6P05, AC9TDI8P01, AC9TDI8P03, AC9TDI8P04, AC9TDI8P05, AC9TDI8P09, AC9TDI10P01, AC9TDI10P04, AC9TDI10P05, AC9TDI10P09 |
| Python Skills for Arena Champions | Years 9–10 (also Years 9–10 extension) | 11 exercises, about 7 hours | Python Fundamentals; Defining functions, Dictionaries, if/elif/else, Lists | Turn stat proportions into a legal champion build with arithmetic and boolean checks Use dictionaries as lookup tables for counters and opponent stats Stay unpredictable with random.choice and adapt with a memory dictionary Write a class with init, self and methods — the shape of a real agent | AC9TDI8P03, AC9TDI8P04, AC9TDI8P05, AC9TDI8P09, AC9TDI10P04, AC9TDI10P05, AC9TDI10P09 |
Games
| Game | Year levels | Type | Time | Tournaments | Python needed | Companion course |
|---|---|---|---|---|---|---|
| Greedy Pig | Years 7–8 (also Years 5–6 extension) | Dice & chance, simple rules | about 2 hours | Class tournaments | Variables, Dictionaries, if/elif/else, Comparisons & logic | Python Foundations for Greedy Pig |
| Prisoner's Dilemma | Years 9–10 (also Years 7–8) | Social dilemma, simple rules | about 2 hours | Practice vs bots only | Lists, Dictionaries, if/elif/else, Comparisons & logic | None yet |
| Tic Tac Toe | Years 9–10 (also Years 7–8) | Board game, simple rules | about 2 hours | Practice vs bots only | Dictionaries, Lists, if/elif/else, For Loops | None yet |
| Lineup4 | Years 9–10 extension (also Years 9–10) | Board game, moderate rules | about 3 hours | Practice vs bots only | Dictionaries, Lists, For Loops, Nested control, Defining functions, Indexing | Python Skills for Lineup 4 |
| Arena Champions | Years 9–10 (also Years 9–10 extension) | Strategy & combat, moderate rules | about 3 hours | Practice vs bots only | Classes, Dictionaries, if/elif/else, Randomness, Data Types | Python Skills for Arena Champions |
| Hearts | Advanced | Card game (trick-taking), complex rules | about 4 hours | Practice vs bots only | Lists, Dictionaries, Nested Data, Indexing, For Loops, Defining functions | None yet |
| Oh Hell! | Advanced | Card game (trick-taking with bids), complex rules | about 5 hours | Practice vs bots only | Lists, Dictionaries, Nested Data, Indexing, For Loops, Defining functions | None yet |
| Thirteen | Advanced | Card game (shedding), complex rules | about 4 hours | Practice vs bots only | Lists, Nested Data, Sorting, Indexing, For Loops, Defining functions | None yet |
| Breakthrough | Years 9–10 (also Years 9–10 extension) | Grid pursuit, moderate rules | about 4 hours | Practice vs bots only | Unpacking, Sets & Tuples, Dictionaries, if/elif/else, Comparisons & logic, Defining functions | None yet |
Things to know before you choose
- Class tournaments run on Greedy Pig for now. In every other game, students test their agents against built-in bots; the Simulation tab runs tournaments only in Greedy Pig classrooms.
- Hours are estimates of class time for a typical class at the course's main year level: the exercises, the short lessons they link to, and time for introductions and catching up. A game's hours cover the rules, a first agent from the starter, improving it and a tournament or matches against bots. Fast classes go quicker; younger classes need longer.
- Python Fundamentals needs at least 18 hours. It is the full first course, so it is recommended once you have 18 hours or more; with less time, the shorter game courses come first.
- One game per classroom. When your plan leaves spare time, a second game needs its own classroom.
- Year levels are a guide, not a rule. Any classroom can use any course: a capable Year 8 class can take on Lineup 4, and an older class new to Python should still start with Python Fundamentals.
- Concept links open the short lesson students see, so you can check the Python involved before you teach it.
Use it when you create a classroom
When you choose + New Classroom, pick the year level and your teaching time first: they preselect the recommended game and short courses. You can change the game and tick or untick courses before you create the classroom, and change the courses later in Settings.
Want to try a course first? Open the Short Course Library on your Teacher home page to work through it as a student would. See Courses for what students see.