This assessment measures student understanding after completing weeks 7-12 (Turtle graphics).
Can the student explain and use basic turtle commands?
- 0 = Not Yet: Cannot explain turtle movement commands
- 1 = Developing: Can use forward/right with help; struggles with penup/pendown
- 2 = Proficient: Explains and uses forward, right, goto, penup/pendown correctly
- 3 = Advanced: Uses coordinates confidently; can position shapes precisely
Evidence: Student can draw shapes at specific positions and explain how goto() works.
Does the student understand the X,Y coordinate system?
- 0 = Not Yet: Doesn't understand coordinates or screen positioning
- 1 = Developing: Knows center is (0,0) but struggles with negative numbers
- 2 = Proficient: Understands X/Y axes, can place objects in all four quadrants
- 3 = Advanced: Uses coordinates strategically; calculates positions; understands distance
Evidence: Student can explain where (-100, 50) would appear on screen.
Can the student use loops to create patterns?
- 0 = Not Yet: Cannot use loops with turtle graphics
- 1 = Developing: Can use simple for loop with help (draw one shape)
- 2 = Proficient: Uses nested loops; understands outer/inner loop purpose; creates patterns
- 3 = Advanced: Creates complex patterns; uses angle mathematics (360/sides); experiments with rotation
Evidence: Student creates a circular pattern using nested loops.
Does the student understand when to use while vs for loops?
- 0 = Not Yet: Cannot use while loops or explain difference
- 1 = Developing: Can identify while loop but doesn't understand when to use it
- 2 = Proficient: Explains: for = exact count, while = until condition; can write simple while loop
- 3 = Advanced: Chooses appropriate loop type; implements complex while conditions
Evidence: Student can explain "use while when you don't know how many times" and give example.
Can the student work with lists?
- 0 = Not Yet: Doesn't understand lists or cannot use them
- 1 = Developing: Knows lists exist but struggles with syntax (brackets, append)
- 2 = Proficient: Creates lists; adds items with append(); accesses items by index; loops through lists
- 3 = Advanced: Uses lists for multiple game objects; modifies list items; understands indices start at 0
Evidence: Student manages 5 coins using a list in Week 10 extension.
Does the student understand events and handlers?
- 0 = Not Yet: Cannot connect keys to functions or doesn't understand events
- 1 = Developing: Can use provided event code but doesn't understand connection
- 2 = Proficient: Explains event concept; connects keys/clicks to functions; uses screen.listen()
- 3 = Advanced: Implements both keyboard and mouse events; creates multiple event handlers
Evidence: Student adds new key bindings and explains what onkey() does.
Can the student implement object interaction?
- 0 = Not Yet: Cannot check if objects are touching
- 1 = Developing: Uses distance() with help but doesn't understand the concept
- 2 = Proficient: Explains distance checking; implements collection/collision; adjusts threshold
- 3 = Advanced: Implements multiple collision types; uses collision for game mechanics creatively
Evidence: Student can explain why "distance < 25" determines collection.
Can the student implement timers and time limits?
- 0 = Not Yet: Cannot use time module or doesn't understand timing
- 1 = Developing: Can display timer with help but struggles with logic
- 2 = Proficient: Uses time.time(); calculates elapsed/remaining; implements game over condition
- 3 = Advanced: Creates complex timing (warnings, countdowns, time bonuses)
Evidence: Student modifies game duration and adds time-based features.
Does the student understand continuous update loops?
- 0 = Not Yet: Doesn't understand ontimer() or game loops
- 1 = Developing: Can identify game loop but doesn't understand how it works
- 2 = Proficient: Explains: tick() → update → schedule next tick; knows how to stop loop
- 3 = Advanced: Implements custom game loops; controls update frequency; creates smooth animations
Evidence: Student can explain Week 12's tick() function and why it's needed.
Can the student find and fix errors independently?
- 0 = Not Yet: Cannot identify or fix errors without full guidance
- 1 = Developing: Identifies some errors but needs help fixing them
- 2 = Proficient: Reads error messages; uses print() for debugging; fixes most errors independently
- 3 = Advanced: Debugs complex issues; helps others debug; explains problem-solving approach
Evidence: Student fixes intentional bugs and explains what was wrong.
Is the student's code clean and organized?
- 0 = Not Yet: Code is disorganized; no functions or comments
- 1 = Developing: Some organization but inconsistent; minimal comments
- 2 = Proficient: Uses functions appropriately; adds helpful comments; consistent naming
- 3 = Advanced: Excellent organization; docstrings; constants; logical structure
Evidence: Review student's Week 12 capstone code quality.
Can the student add original features?
- 0 = Not Yet: Only completes basic tasks; no original additions
- 1 = Developing: Attempts modifications but with limited success
- 2 = Proficient: Successfully adds 2-3 enhancements; modifies game mechanics
- 3 = Advanced: Creates significant original features; shows creativity and initiative
Evidence: Student's Week 12 capstone includes custom enhancements.
Total possible points: 36 (12 areas × 3 points max)
- 0-12 points: Needs Significant Support - Review weeks 7-12 material
- 13-20 points: Developing - Ready to proceed with extra support
- 21-28 points: Proficient - Ready for Pygame Zero (weeks 13-18)
- 29-36 points: Advanced - Exceeding expectations; ready for challenges
For rapid assessment, focus on these 5 key questions:
- "Draw a square at position (100, 50)" → Tests coordinates & basics
- "What's the difference between for and while loops?" → Tests loop understanding
- "Show me how to check if two turtles touch" → Tests collision detection
- "How does the timer work in Week 11?" → Tests time concepts
- "Explain what onclick() does in Week 12" → Tests event understanding
Quick Score:
- 0-1 correct: Needs support
- 2-3 correct: Developing
- 4 correct: Proficient
- 5 correct: Advanced
✅ Ready for Weeks 13-18 (Pygame Zero)
- Student has solid foundation
- Can handle more complex game concepts
- Proceed with confidence
- Review weak areas
- Extra exercises on patterns, events, or timing
- Consider pairing with stronger student
- Can proceed but watch for struggle points
🔄 Revisit Weeks 7-12 material
- Focus on fundamentals first
- More guided practice needed
- Consider smaller projects before capstone
- May need different teaching approach
Students should be able to demonstrate:
- ✅ Week 7: Gallery of shapes at different positions
- ✅ Week 8: Custom pattern using nested loops
- ✅ Week 9: Keyboard-controlled turtle (4 directions)
- ✅ Week 10: Collection game with score tracking
- ✅ Week 11: Timed game with countdown
- ✅ Week 12: Polished capstone with enhancements
This milestone is crucial - it determines readiness for more advanced graphics programming (Pygame Zero). Students who struggle here will likely struggle more with Pygame Zero.
Consider:
- Group projects for students who need support
- Extension projects for advanced students (3D effects, complex animations)
- Peer teaching opportunities
- Showcase day to celebrate completion
Remember: The goal is understanding, not just completion. A student who scores 24/36 with deep understanding is better prepared than one who scores 30/36 by copying code without understanding.