Skip to content

Latest commit

 

History

History
227 lines (156 loc) · 8.74 KB

File metadata and controls

227 lines (156 loc) · 8.74 KB

Week 12 Milestone Rubric (Turtle Graphics Phase)

This assessment measures student understanding after completing weeks 7-12 (Turtle graphics).

Assessment Areas

1. Turtle Graphics Basics (Movement & Drawing)

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.


2. Coordinate System Understanding

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.


3. Loops and Patterns

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.


4. While Loops (New Concept)

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.


5. Lists for Multiple Objects (New Concept)

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.


6. Event-Driven Programming

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.


7. Collision Detection

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.


8. Time-Based Game Mechanics

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.


9. Game Loop Understanding

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.


10. Debugging and Problem-Solving

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.


11. Code Organization

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.


12. Creative Implementation

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.


Overall Scoring Guide

Total possible points: 36 (12 areas × 3 points max)

Performance Levels:

  • 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

Quick Assessment Method

For rapid assessment, focus on these 5 key questions:

  1. "Draw a square at position (100, 50)" → Tests coordinates & basics
  2. "What's the difference between for and while loops?" → Tests loop understanding
  3. "Show me how to check if two turtles touch" → Tests collision detection
  4. "How does the timer work in Week 11?" → Tests time concepts
  5. "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

Recommendation for Next Steps

If student scores Proficient or Advanced:

Ready for Weeks 13-18 (Pygame Zero)

  • Student has solid foundation
  • Can handle more complex game concepts
  • Proceed with confidence

If student scores Developing:

⚠️ Provide additional practice before Pygame Zero

  • Review weak areas
  • Extra exercises on patterns, events, or timing
  • Consider pairing with stronger student
  • Can proceed but watch for struggle points

If student scores Needs Significant Support:

🔄 Revisit Weeks 7-12 material

  • Focus on fundamentals first
  • More guided practice needed
  • Consider smaller projects before capstone
  • May need different teaching approach

Portfolio Evidence

Students should be able to demonstrate:

  1. ✅ Week 7: Gallery of shapes at different positions
  2. ✅ Week 8: Custom pattern using nested loops
  3. ✅ Week 9: Keyboard-controlled turtle (4 directions)
  4. ✅ Week 10: Collection game with score tracking
  5. ✅ Week 11: Timed game with countdown
  6. ✅ Week 12: Polished capstone with enhancements

Teacher Notes

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.