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 levelTeaching timeCourses, in orderThen the gameTotal
Years 5–6 extension2–7 hoursStarter agent onlyGreedy Pig (about 2 hours; class tournaments)about 2 hours
8–17 hoursPython Foundations for Greedy Pig (about 6 hours)Greedy Pig (about 2 hours; class tournaments)about 8 hours
18–23 hoursPython Fundamentals (about 16 hours)Greedy Pig (about 2 hours; class tournaments)about 18 hours
24–50 hoursPython Foundations for Greedy Pig (about 6 hours) → Python Fundamentals (about 16 hours)Greedy Pig (about 2 hours; class tournaments)about 24 hours
Years 7–82–7 hoursStarter agent onlyGreedy Pig (about 2 hours; class tournaments)about 2 hours
8–17 hoursPython Foundations for Greedy Pig (about 6 hours)Greedy Pig (about 2 hours; class tournaments)about 8 hours
18–23 hoursPython Fundamentals (about 16 hours)Greedy Pig (about 2 hours; class tournaments)about 18 hours
24–50 hoursPython Foundations for Greedy Pig (about 6 hours) → Python Fundamentals (about 16 hours)Greedy Pig (about 2 hours; class tournaments)about 24 hours
Years 9–102–9 hoursStarter agent onlyPrisoner's Dilemma (about 2 hours; practice vs bots only)about 2 hours
10–17 hoursPython Skills for Arena Champions (about 7 hours)Arena Champions (about 3 hours; practice vs bots only)about 10 hours
18–20 hoursPython Fundamentals (about 16 hours)Prisoner's Dilemma (about 2 hours; practice vs bots only)about 18 hours
21–25 hoursPython 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 hoursPython 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 hoursPython 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 extension2 hoursStarter agent onlyPrisoner's Dilemma (about 2 hours; practice vs bots only)about 2 hours
3–10 hoursStarter agent onlyLineup4 (about 3 hours; practice vs bots only)about 3 hours
11–17 hoursPython Skills for Lineup 4 (about 8 hours)Lineup4 (about 3 hours; practice vs bots only)about 11 hours
18–50 hoursPython 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
Advanced2–3 hoursStarter agent onlyPrisoner's Dilemma (about 2 hours; practice vs bots only)about 2 hours
4–10 hoursStarter agent onlyHearts (about 4 hours; practice vs bots only)about 4 hours
11–50 hoursPython Skills for Arena Champions (about 7 hours)Hearts (about 4 hours; practice vs bots only)about 11 hours

Courses

CourseYear levelsLengthStart afterStudents will be able toCurriculum (AC v9)
Python Foundations for Greedy PigYears 7–8 (also Years 5–6 extension)9 exercises, about 6 hoursNo prior PythonStore 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 FundamentalsYears 7–8 (also Years 9–10, Years 5–6 extension)30 exercises, about 16 hours (needs 18+ hours of teaching time)No prior PythonWrite 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 GameYears 9–10 (also Years 9–10 extension)1 exercise, about 1½ hoursPython Fundamentals; Dictionaries, Nested Data, For LoopsSearch 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 FileYears 9–10 (also Years 9–10 extension)1 exercise, about 1½ hoursPython Fundamentals; For Loops, String Methods, if/elif/elseRead 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 4Years 9–10 extension (also Years 9–10)8 exercises, about 8 hoursPython Fundamentals or Python Foundations for Greedy Pig; Parameters & return, if/elif/else, For Loops, DictionariesRead 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 ChampionsYears 9–10 (also Years 9–10 extension)11 exercises, about 7 hoursPython Fundamentals; Defining functions, Dictionaries, if/elif/else, ListsTurn 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

GameYear levelsTypeTimeTournamentsPython neededCompanion course
Greedy PigYears 7–8 (also Years 5–6 extension)Dice & chance, simple rulesabout 2 hoursClass tournamentsVariables, Dictionaries, if/elif/else, Comparisons & logicPython Foundations for Greedy Pig
Prisoner's DilemmaYears 9–10 (also Years 7–8)Social dilemma, simple rulesabout 2 hoursPractice vs bots onlyLists, Dictionaries, if/elif/else, Comparisons & logicNone yet
Tic Tac ToeYears 9–10 (also Years 7–8)Board game, simple rulesabout 2 hoursPractice vs bots onlyDictionaries, Lists, if/elif/else, For LoopsNone yet
Lineup4Years 9–10 extension (also Years 9–10)Board game, moderate rulesabout 3 hoursPractice vs bots onlyDictionaries, Lists, For Loops, Nested control, Defining functions, IndexingPython Skills for Lineup 4
Arena ChampionsYears 9–10 (also Years 9–10 extension)Strategy & combat, moderate rulesabout 3 hoursPractice vs bots onlyClasses, Dictionaries, if/elif/else, Randomness, Data TypesPython Skills for Arena Champions
HeartsAdvancedCard game (trick-taking), complex rulesabout 4 hoursPractice vs bots onlyLists, Dictionaries, Nested Data, Indexing, For Loops, Defining functionsNone yet
Oh Hell!AdvancedCard game (trick-taking with bids), complex rulesabout 5 hoursPractice vs bots onlyLists, Dictionaries, Nested Data, Indexing, For Loops, Defining functionsNone yet
ThirteenAdvancedCard game (shedding), complex rulesabout 4 hoursPractice vs bots onlyLists, Nested Data, Sorting, Indexing, For Loops, Defining functionsNone yet
BreakthroughYears 9–10 (also Years 9–10 extension)Grid pursuit, moderate rulesabout 4 hoursPractice vs bots onlyUnpacking, Sets & Tuples, Dictionaries, if/elif/else, Comparisons & logic, Defining functionsNone 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.


← Get your students started in 5 minutes · Classes →