Python Sequence¶
The Python sequence uses games to teach programming concepts. Each lesson begins with a human-playable or unplugged version, then moves into code.
Modules¶
| Module | Concepts | Continuity |
|---|---|---|
| Introduction to Python | Variables, types, expressions, interpreter use | Gives students the vocabulary used throughout the course. |
| Guess My Number | Randomness, input, conditionals, while loops, binary search, recursion | Introduces state, feedback, and algorithmic improvement. |
| Pig | Nested loops, scorekeeping, strategy | Makes students track multiple pieces of state over turns. |
| Rock Paper Scissors | Choices, comparisons, repeated rounds | Prepares students for rule-based game logic. |
| Tic-Tac-Toe | Lists, helper functions, board state, simple AI | Becomes the bridge to the robot-arm final project. |
| Hangman | Strings, files, probability, strategy comparison | Introduces data-driven guessing and belief updates. |
| Hangman Topic Frequency | Dictionaries, scraping, files, probability | Lets students personalize Hangman with topic-specific data. |
| Quiz Games | File I/O, dictionaries, random sampling | Turns outside data into interactive programs. |
| Mastermind | Hidden state, feedback, lists, and strategy design | Gives students an open-ended text-game extension before graphics. |
Teaching Pattern¶
Each module should preserve the same structure:
- Play the game without code.
- Ask students to name the state, actions, and stopping condition.
- Build the smallest playable text version.
- Add a computer strategy or extension.
- Reflect on what made the program smarter or more reliable.
Repository Code¶
Starter and example code lives mainly in: