Skip to content

Latest commit

 

History

History
394 lines (306 loc) · 17.7 KB

File metadata and controls

394 lines (306 loc) · 17.7 KB

PythonQuest – Complete 24-Week Curriculum

A comprehensive beginner-to-intermediate Python curriculum for Class 5 learners (ages 10-11) transitioning from Scratch to Python.

🎯 What This Curriculum Includes

Complete 24-week progression:

  • Weeks 1-6: Python Foundations (text-based games)
  • Weeks 7-12: Turtle Graphics (visual games & animations)
  • Weeks 13-18: Pygame Zero (2D game development)
  • Weeks 19-24: micro:bit (physical computing & robotics)

For each week:

  • Detailed teacher notes with lesson flows (60-75 min sessions)
  • Student task sheets with guided and challenge activities
  • Ready-to-run, well-commented Python code
  • Common errors to demonstrate and debug

Comprehensive documentation:

  • Setup guides (Thonny, Pygame Zero, micro:bit)
  • Python cheatsheet (all concepts: lists, loops, functions, error handling, file I/O)
  • Troubleshooting guide for all platforms
  • Teacher FAQ
  • 4 milestone rubrics (weeks 6, 12, 18, 24)
  • Assessment templates
  • Parent communication templates
  • Portfolio guidelines
  • Accessibility guide

🚀 Quick Start (5 Minutes)

  1. Install Thonny: Download from https://thonny.org/
  2. Open a program: Navigate to week01_hello_python/week01_story_printer.py
  3. Run it: Press F5 (or click Run button)
  4. Success! You're ready to teach!

👉 See docs/QUICKSTART.md for detailed setup.

📑 Complete Week Navigation

One-click access to every lesson:

Phase 1: Python Foundations (Weeks 1-6)

Week Topic Teacher Notes Student Tasks Code Status
01 Hello Python 📖 📝 💻 ✅ Complete
02 Variables 📖 📝 💻 ✅ Complete
03 Input & Guess 📖 📝 💻 ✅ Complete
04 Decisions 📖 📝 💻 ✅ Complete
05 Loops 📖 📝 💻 ✅ Complete
06 Functions 📖 📝 💻 ✅ Complete

📊 Milestone: Week 6 Rubric

Phase 2: Turtle Graphics (Weeks 7-12)

Week Topic Teacher Notes Student Tasks Code Status
07 Turtle Basics 📖 📝 💻 ✅ Complete
08 Loops & Patterns 📖 📝 💻 ✅ Complete
09 Keyboard Events 📖 📝 💻 ✅ Complete
10 Collision 📖 📝 💻 ✅ Complete
11 Timers 📖 📝 💻 ✅ Complete
12 Capstone 📖 📝 💻 ✅ Complete

📊 Milestone: Week 12 Rubric

Phase 3: Pygame Zero (Weeks 13-18)

Week Topic Teacher Notes Student Tasks Code Status
13 Pygame Setup 📖 📝 💻 ✅ Complete
14 Movement 📖 📝 💻 ✅ Complete
15 Collisions 📖 📝 💻 ✅ Complete
16 Levels 📖 📝 💻 ✅ Complete
17 Difficulty 📖 📝 💻 ✅ Complete
18 Game Jam 📖 📝 💻 ✅ Complete

📊 Milestone: Week 18 Rubric

Phase 4: micro:bit (Weeks 19-24)

Week Topic Teacher Notes Student Tasks Code Status
19 Setup & Buttons 📖 📝 💻 ✅ Complete
20 Sensors 📖 📝 💻 ✅ Complete
21 Music & LED 📖 📝 💻 ✅ Complete
22 Pins 📖 📝 💻 ✅ Complete
23 Radio 📖 📝 💻 ✅ Complete
24 Final Capstone 📖 📝 💻 ✅ Complete

📊 Milestone: Week 24 Rubric

Legend: 📖 Lesson Plan | 📝 Student Activities | 💻 Code | ✅ Ready to Teach

📚 Curriculum Structure

Phase 1: Python Foundations (Weeks 1-6)

Goal: Master core Python concepts through text-based games

Week Topic Project Key Concepts
1 Hello Python Story Printer print(), comments, running code
2 Variables Scoreboard variables, assignment, math
3 Input & Validation Guess the Number input(), int(), if/else
4 Decisions Choose Your Path if/elif/else, conditions
5 Loops Training Drills for loops, range(), rounds
6 Functions Game Pack Menu def, parameters, return, refactoring

Milestone: Week 6 rubric assesses understanding of all foundations.

Phase 2: Turtle Graphics (Weeks 7-12)

Goal: Create visual games with graphics and events

Week Topic Project Key Concepts
7 Turtle Basics Art Gallery forward(), goto(), penup/pendown
8 Loops & Patterns Pattern Maker nested loops, while loops, angles
9 Keyboard Events Move the Hero event handlers, keyboard input
10 Collision Detection Coin Collector distance(), lists, random
11 Timers Timed Collector time module, countdown, game over
12 Capstone Turtle Catcher mouse events, ontimer(), complete game

Milestone: Week 12 rubric assesses Turtle graphics mastery.

Phase 3: Pygame Zero (Weeks 13-18)

Goal: Build 2D games with professional game framework

Week Topic Project Key Concepts
13 Pygame Zero Setup Moving Dot update(), draw(), game loop
14 Keyboard Control Explorer keyboard state, smooth movement
15 Collisions & Score Catch the Stars collision detection, error handling
16 Levels Two-Level Game state management, progression
17 Multiple Objects Dodger lists for enemies, difficulty scaling
18 Game Jam Complete Game start screen, game over, polish

Milestone: Week 18 rubric assesses game development skills.

Phase 4: micro:bit Physical Computing (Weeks 19-24)

Goal: Program physical devices with sensors and outputs

Week Topic Project Key Concepts
19 micro:bit Setup Mood Badge buttons, LED display, MicroPython
20 Sensors Shake Dice accelerometer, gestures, random
21 Sound & Animation Alarm System music, LED patterns, loops
22 Pins & Components Traffic Light pin control, external hardware, file I/O
23 Radio Communication Walkie-Talkie radio, string operations, messaging
24 Final Capstone Student Choice integrate all concepts, showcase

Milestone: Week 24 rubric assesses complete curriculum mastery.

🎓 Teaching Approach

Session Structure (60-75 minutes)

  1. Warm-up (5-10 min): Review or debug small challenge
  2. New Concept (10-15 min): Teach one concept with examples
  3. Guided Build (20-25 min): Code together step-by-step
  4. Independent Challenge (15-20 min): Students complete tasks
  5. Wrap-up (5 min): Students explain what they learned

Pedagogical Principles

  • Small edits + run often: Immediate feedback loop
  • Celebrate debugging: Errors are learning opportunities
  • Game language: Score, lives, levels keep it engaging
  • Scratch connections: Bridge from visual to text coding
  • Progressive complexity: Each week builds on previous

📁 Folder Structure

PythonQuest/
├── README.md (this file)
├── LICENSE (MIT)
├── CONTRIBUTING.md
├── CHANGELOG.md
├── docs/
│   ├── QUICKSTART.md (5-minute setup)
│   ├── SETUP.md (detailed installation)
│   ├── pygame_zero_setup.md
│   ├── microbit_setup.md
│   ├── python_basics_cheatsheet.md (complete reference)
│   ├── debugging_cheatsheet.md
│   ├── TROUBLESHOOTING.md
│   ├── FAQ.md (teacher questions)
│   ├── teacher_guide.md
│   ├── 24_week_plan.md
│   ├── week6_milestone_rubric.md
│   ├── week12_milestone_rubric.md
│   ├── week18_milestone_rubric.md
│   ├── week24_milestone_rubric.md
│   ├── assessment_templates.md
│   ├── parent_communication_template.md
│   ├── portfolio_guidelines.md
│   ├── ACCESSIBILITY.md
│   └── scratch_to_python_map.md
├── week01_hello_python/
│   ├── teacher_notes.md (detailed lesson plan)
│   ├── student_tasks.md (guided activities)
│   └── week01_story_printer.py (working code)
├── week02_variables/
│   └── ... (same structure)
... (weeks 3-24, same structure)

🛠️ Technical Requirements

Supported Python Versions

  • Python 3.10, 3.11, or 3.12 (recommended: 3.11)
  • Tested on: Windows 10/11, macOS 12+, Ubuntu 20.04+

Software (All Free)

Hardware (Optional)

  • Weeks 1-18: Any computer (Windows/Mac/Linux)
  • Weeks 19-24: BBC micro:bit v1 or v2 ($15-25, optional - simulator available)

Installation Quick Reference

Option 1: Thonny (Recommended - All-in-One)

# Download from https://thonny.org/
# Includes Python 3.10+ built-in
# Week 13-18: Tools → Manage Packages → install pgzero

Option 2: System Python

# Verify version
python3 --version  # Should be 3.10+

# Install dependencies for weeks 13-18
pip3 install -r requirements.txt

Offline Mode: See Offline Setup Guide

Known Platform Issues

  • macOS: May need to allow Thonny in Security & Privacy settings
  • Windows: Turtle graphics may flicker on some systems (normal, cosmetic only)
  • Linux: May need python3-tk package: sudo apt install python3-tk
  • All: micro:bit requires specific USB cable (some are charge-only)

👉 Full troubleshooting: TROUBLESHOOTING.md

🎯 Learning Outcomes

By the end of 24 weeks, students will be able to:

  • ✅ Write Python programs with proper syntax and structure
  • ✅ Use variables, loops, conditionals, and functions confidently
  • ✅ Work with lists and manage multiple objects
  • ✅ Handle errors gracefully with try/except
  • ✅ Read from and write to files
  • ✅ Create visual games with graphics libraries
  • ✅ Implement game mechanics (collision, scoring, levels)
  • ✅ Program physical devices with sensors and outputs
  • ✅ Debug code independently
  • ✅ Explain their code to others
  • ✅ Design and complete original projects

📊 Assessment & Progress Tracking

Milestone Rubrics

  • Week 6: Python foundations (variables, loops, functions)
  • Week 12: Turtle graphics & event-driven programming
  • Week 18: Game development & state management
  • Week 24: Complete curriculum & physical computing

Formative Assessment

  • Weekly quick checks (2-3 questions per week)
  • Code reviews during wrap-up
  • Portfolio of completed projects
  • Student explanations of concepts

Portfolio Projects

Students build a portfolio with 4 major projects:

  1. Game Pack (Week 6)
  2. Turtle game (Week 12)
  3. Pygame Zero game (Week 18)
  4. micro:bit project (Week 24)

🌟 Key Features

No External Assets Required

  • All graphics use shapes and text (no image files needed)
  • Simplifies setup and distribution
  • Focus on code, not asset management

Inclusive Design

  • Diverse character names and scenarios
  • Accessibility guide included
  • Multiple learning pathways
  • Differentiation strategies in teacher notes

Scratch-to-Python Bridge

  • Explicit connections to Scratch concepts
  • Visual-to-text coding transition
  • Familiar game-based approach

Modern Python Concepts

  • While loops (Week 8)
  • Lists and list operations (Weeks 10, 17)
  • Error handling with try/except (Week 15)
  • File I/O (Week 22)
  • String operations (Week 23)

👥 For Teachers

Preparation Time

  • First time: 30-60 min per week to review materials
  • Subsequent times: 10-20 min to refresh

Classroom Management

  • Works with 1-30 students
  • Pair programming recommended
  • Differentiation built into tasks
  • Extension activities for advanced students

Support Materials

  • Detailed lesson plans with timing
  • Common errors to demonstrate
  • Success criteria for each week
  • Troubleshooting guide
  • FAQ for common questions

👨‍👩‍👧‍👦 For Parents

  • All software is free and safe
  • No account creation required (for Thonny)
  • Can be completed at home with parent guidance
  • Parent communication templates provided
  • Progress updates at weeks 6, 12, 18, 24

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md for:

  • How to report issues
  • Suggesting improvements
  • Submitting code fixes
  • Sharing teaching experiences

📝 License

This curriculum is released under the MIT License. See LICENSE for details.

TL;DR: Free to use, modify, and distribute. Attribution appreciated but not required.

🆘 Getting Help

  1. Setup issues: See docs/TROUBLESHOOTING.md
  2. Teaching questions: See docs/FAQ.md
  3. Technical problems: Check error messages in troubleshooting guide
  4. General questions: Open an issue on the repository

✅ Completeness & Quality

What's Included (All Ready to Teach)

24 Complete Weeks - Every week has teacher notes, student tasks, and tested code
4 Milestone Rubrics - Assessment for weeks 6, 12, 18, 24
15+ Documentation Files - Setup, troubleshooting, FAQs, templates
Offline Support - Full classroom kit instructions for no-internet labs
CI/CD Pipeline - Automated quality checks on every commit
Tested on Python 3.10, 3.11, 3.12 - Verified across platforms

Transparency Pledge: See COMPLETENESS.md for detailed status of every component.

Quality Assurance

CI Status

  • Syntax Checked: All Python files compile without errors
  • Structure Validated: All 24 weeks have required files
  • Documentation Complete: All referenced files exist
  • Tested: Code runs on Windows, macOS, Linux

📈 Version History

See CHANGELOG.md for version history and updates.

Current Version: 1.1.0 (Complete 24-week curriculum with professional enhancements)

🎉 Acknowledgments

Designed for Class 5 learners (ages 10-11) with Scratch experience, this curriculum provides a complete pathway from beginner to intermediate Python programming.


Ready to start? → See docs/QUICKSTART.md

Questions? → See docs/FAQ.md

Let's build amazing things with Python! 🚀