AI for Youth Academy Future Scholars Research Initiative

Course focus

Key themes

  • 2D space, points, vectors, and matrix representations
  • 2D representations of linear equations on a map
  • Python fundamentals: functions, loops, and conditionals

Hands-on moments

  • Program a FIRST LEGO Challenge robot car to navigate a 2D map.
  • Use the FIRST LEGO Python library and function calls to control movement.
  • Practice loops and if/else logic to make navigation reliable.

Outcomes

  • Explain vectors and linear equations with 2D map examples.
  • Write beginner Python programs using functions, loops, and conditionals.
  • Connect robot movement to 2D math representations.

Week-by-week plan (subject to change)

  1. Week 01: Course kickoff and 2D maps

    Math: Coordinate plane, points, and map orientation.

    Reading: Reading Material

  2. Week 02: Points and distance

    Math: Reinforce coordinate plane concepts from Week 01 and explore distance between two points.

    💻 Computer Setup: Install LEGO Education SPIKE App (https://education.lego.com/en-us/downloads/spike-app/software/) or verify browser access to https://spike.legoeducation.com/.

    Python: LEGO Spike Prime IDE setup and driving SPIKE PRIME using helper functions with the FIRST LEGO Python library.

    Robot: Drive calibration and distance moves with move_for_degrees to reach map checkpoints.

    Reading: Reading Material

  3. Week 03: Vectors as movement

    Math: Vectors as displacement and vector addition.

    Python: Conditionals for choosing routes and movement decisions.

    Robot: Gyro right/left 90-degree turns and corridor alignment.

  4. Week 04: Matrix representation of vectors

    Math: 2x1 matrices as a way to represent vectors.

    Python: For loops to repeat vector steps and matrix-form routes.

    Robot: Line approach and stop-on-black using the line sensor.

  5. Week 05: 2x2 matrices and transforms

    Math: 2x2 matrix multiplication for scaling and rotation in 2D.

    Python: While loops and counters for repeat-until behaviors.

    Robot: Bang-bang line follow to hold a route.

  6. Week 06: Linear equations in 2D

    Math: y = mx + b and representing lines on the map.

    Python: Decomposition: break programs into small functions.

    Robot: Align then actuate an attachment motor.

  7. Week 07: Line intersections and choices

    Math: Solve for the intersection of two lines.

    Python: Lists for route segments and checkpoints.

    Robot: Distance sensor approach and standoff.

  8. Week 08: Piecewise linear paths

    Math: Break routes into line segments and waypoints.

    Python: Dicts and configs for centralized tuning (speed/thresholds).

    Robot: Repeat multi-leg paths using shared tuning.

  9. Week 09: Modules and mission chains

    Math: Distance targets as conditions.

    Python: Modules and multi-file organization.

    Robot: Two-mission chain in one launch.

  10. Week 10: Vector sums and tracking

    Math: Add vectors to track total displacement.

    Python: Testing with assert and quick A/B checks.

    Robot: Turn-in-place vs arc turn comparisons.

  11. Week 11: Matrices for routing

    Math: Combine transforms to plan a route on a grid.

    Python: Micro-UI/menu for selecting runs.

    Robot: 2:30 run discipline with reset roles.

  12. Week 12: Accuracy and correction

    Math: Tolerance and small error corrections.

    Python: Logs, notes, and debrief records for repeatability.

    Robot: Time-boxed rehearsal and checklist habits.

  13. Week 13: Mini challenge planning

    Math: Define points, vectors, and line equations for a custom mission.

    Python: Write a plan and outline modules before coding.

    Robot: Sketch the path and assign team roles.

  14. Week 14: Mini challenge build

    Math: Apply vectors and equations to the planned route.

    Python: Implement with the FIRST LEGO Python library and test.

    Robot: Run a full mission and capture results.

  15. Week 15: Polish and explain

    Math: Describe the math model behind the route.

    Python: Refactor functions and clean up code structure.

    Robot: Polish the final run for reliability.

  16. Week 16: Showcase and reflection

    Math: Summarize what the 2D models explain.

    Python: Highlight the core Python patterns learned.

    Robot: Demo the final mission and reflect on improvements.