Skip to content

Course Guide

The curriculum is designed to be modular with continuity. Each module has a concrete student artifact, but the artifacts also build toward the final robotic Tic-Tac-Toe system.

The source curriculum in Facing.md is organized around the same progression: students first play an unplugged version, then write a small program, then add an extension that makes the program more expressive or strategic. The course is intentionally project-based rather than a sequence of disconnected syntax exercises.

Continuity Thread

The course works best when students repeatedly see the same pattern:

  1. Play or inspect a small system.
  2. Identify the state, actions, and rules.
  3. Write a Python version.
  4. Improve the algorithm.
  5. Connect the algorithm to graphics, vision, or robot motion.

That thread starts with number guessing and ends with a camera-informed robot action.

Six-Week Arc

Phase Focus Representative activities
Week 1 Lab orientation, setup, Python basics Introduction to Python, Guess My Number, Pig
Week 2 Game logic and algorithmic thinking Rock Paper Scissors, Tic-Tac-Toe, Hangman
Week 3 Graphics and interaction Pygame drawing, Pop the Balloon, Race for the Treasure, Tic-Tac-Toe GUI
Week 4 Hardware build and calibration 3D-printed arm parts, wiring, Dynamixel Wizard, position recording
Week 5 Vision and decision making Camera setup, board detection, Teachable Machine object sorting, minimax, robot game player
Week 6 Integration and presentations Robotic Tic-Tac-Toe, student extensions, final demos

Full Activity Coverage

The following table maps the complete activity list from the source curriculum to the public module pages.

Source-curriculum strand Activities Public documentation
Python foundations Introduction to Python; Guess My Number; binary-search and recursion extensions Python Sequence, Introduction to Python, Guess My Number
Text games Pig and strategy extension; Rock Paper Scissors and Rock Paper Scissors Lizard Spock; Tic-Tac-Toe and computer-player extension Pig, Rock Paper Scissors, Tic-Tac-Toe
Data-driven games Hangman and frequency/autocomplete extensions; Element Symbols; State Capitals; Mastermind design extension Hangman, Hangman Topic Frequency, Quiz Games, Mastermind
Graphics Pygame basics; Pop the Balloon and class extension; Race for the Treasure; Attack of the Clones; Tic-Tac-Toe GUI; Connect Four and minimax Graphics and Pygame, Pop the Balloon, Race for the Treasure, Attack of the Clones, Tic-Tac-Toe GUI, Connect Four
Robot arm 3D printing, building, wiring, Dynamixel setup, leader arm, position recording, camera, and robotic Tic-Tac-Toe Robot Arm Sequence, Motor Setup and Control, Vision and Game Integration

Mastermind is included as a student-designed text-game extension: its role in the sequence is to reuse the same state, feedback, and strategy ideas from the other games without pretending that the source notes contain a finished starter implementation.

Modular Use

Teachers can shorten the course by choosing one coherent path:

Path Modules to use Good for
Intro Python Guess My Number, Pig, Rock Paper Scissors A few class periods of beginner programming.
Algorithms through games Tic-Tac-Toe, Hangman, extensions Students who know loops and conditionals.
Graphics Pygame basics, Pop the Balloon, Race for the Treasure, Tic-Tac-Toe GUI, Connect Four Moving from text programs to visual programs and visual strategy games.
Robotics lab Setup, motor control, vision, robot game integration Students with prior Python experience.
Full course All modules in order A multi-week internship or summer program.

Student Outputs

By the end of the full course, students should have:

  • Several playable Python games.
  • A graphics-based program using Pygame.
  • A working local Python environment and GitHub repository.
  • A calibrated robotic arm with recorded board positions.
  • A robot-controlled Tic-Tac-Toe demonstration.
  • A short explanation of how their system senses, decides, and acts.

Instructor Notes

The programming modules intentionally begin with unplugged versions of the games. This gives students a shared mental model before they write code.

The robotics modules should be run with explicit hardware safety norms. Students should use small motion increments at first, keep hands clear of the arm during powered motion, and know how to disconnect power quickly.

The arm build is also a learning sequence: print and assemble the follower and leader arms, wire one arm at a time, identify the motors in Dynamixel Wizard, record named positions, identify the camera, and only then connect board vision to game strategy and motion.