Python programming, junior
A twelve-week first course in real typed code, built around turtle graphics and small games rather than exercises.
- Grades
- 7–8
- Ages
- 12–14
- Length
- 12weeks
- Sessions a week
- 2
- Each session
- 75min
- Class size
- 12max
What this course is
This is a Junior Tech Cadet's first properly typed language, and the course is paced for that. Every concept arrives with something visible attached to it, because a twelve-year-old who has just spent a term making sprites move does not find printing a number to a console persuasive.
The first half runs on turtle graphics, where a loop draws a shape and an error is obvious. The second half moves to text-based programs and small games, and introduces files, so that a program can remember something after it closes.
It is a slower course than the senior Python course and covers less ground. That is deliberate. The aim is a student who is genuinely comfortable, not one who has been shown everything.
Week by week
Every week ends with something that did not exist at the start of it. That is what is listed under “ends with”.
- Week 01
Installing Python and running code
Getting Python working on the student's own machine, running a first program, and reading the first error message on purpose.
Ends with: A working Python setup and a program that greets the user by name.
- Week 02
Turtle graphics and sequence
Drawing with commands, and the fact that order matters absolutely.
Ends with: A drawing of a house, made only of sequential commands.
- Week 03
Loops
For loops and range. Drawing polygons and spirals with them.
Ends with: A spiral pattern that would be unreasonable to draw by hand.
- Week 04
Variables and arithmetic
Storing values, changing them, and the difference between a number and the text of a number.
Ends with: A program that converts between currencies and units.
- Week 05
Conditions
If, elif and else, and combining conditions with and and or.
Ends with: A quiz program that scores the user and reacts to the score.
- Week 06
Functions
Writing a function, giving it parameters, returning a value, and why repeating yourself is a problem worth solving.
Ends with: The week 2 drawing rewritten so each shape is one function call.
- Week 07
Lists
Making a list, indexing it, looping over it, and adding to it.
Ends with: A program that manages and reports on a list of test scores.
- Week 08
Debugging on purpose
Reading a traceback line by line, using print to narrow down where a value went wrong, and the most common beginner errors.
Ends with: Three supplied broken programs, diagnosed and fixed with a written note of the cause.
- Week 09
Randomness and a first game
The random module, and using it to make a program behave differently each run.
Ends with: A number guessing game with hints and a limited number of tries.
- Week 10
Files
Reading and writing a text file, so a program can remember something between runs.
Ends with: The quiz program upgraded to save a high score table.
- Week 11
Final project build
A text adventure or a small game of the student's choosing, planned first and then built in class with the instructor moving between students.
Ends with: A working first version of the student's own project.
- Week 12
Finish, test and present
Fixing what playtesting exposed, tidying the code, and presenting it to the group.
Ends with: A finished, tested project with a short written explanation.
What they will be able to do
- Write, run and debug a Python program independently
- Use loops, conditions, functions and lists correctly
- Read a traceback and act on it instead of guessing
- Save and load data from a file
What they build
- A turtle graphics drawing built from functions
- A scored quiz with a saved high score table
- A number guessing game
- A text adventure or small game of the student's own design