When students engage in the activities in VEX AIM courses, they use a cyclical process of moving back and forth between driving the robot with the VEX One Stick Controller and then coding the robot with VEXcode AIM. This article describes the cycle, why it is important, and how to facilitate it in the classroom.
What is the Cycle of Driving and Coding?
The cycle of driving and coding is an iterative learning process where students first manually drive the robot to complete a task, creating a physical model of the desired behavior, and then use this model to inform their coding. By driving the robot using the controller, students directly experience the robot’s movements and interactions with objects and environments. These hands-on experiences then guide students as they code the robot to perform autonomously, with insights from coding in turn refining their future driving strategies.
Why is the Cycle Important?
Research indicates that combining both concrete experiences and abstract representations significantly enhances learning compared to using either method alone1. The cycle provides students with a process for moving from concrete to abstract and back again, to facilitate problem solving with a robot.
Creating a Physical Model by Driving
Driving the robot to complete a task before coding gives students a hands-on, tangible way to visualize:
- How the robot moves in space, including speed, direction and turning radius.
- How the robot responds to sensor input, such as from what distance the AI Vision Sensor can recognize a certain object.
- How the robot interacts with objects, such as obstacles on the Field that must be avoided or picked up and moved.
- How different paths can be used to reach the same end result.
This concrete representation of different robot behaviors can then be translated into the more abstract coding concepts needed to create a successful coding project. Documenting discoveries made while driving provides an additional source of support for students to refer to when moving into the coding stage.
Creating a Computational Model by Coding
The physical mental model students have created by driving can then applied to their coding projects. Students can begin with the understandings they developed while driving to plan and build their coding project, which has been made more concrete as they are building on the real world, tangible experience of driving. Once students have tested their coding projects, they can return to the concrete world of driving to help them iterate and improve on their projects.
Documenting projects and any changes made to them during the coding stage of the cycle again provides students with a metacognitive tool they can use to help them as they iterate on their coding projects.
Facilitating the Cycle of Driving and Coding
The Guided Practice section of each lesson and unit challenge in a VEX AIM Course provides step by step instructions for both the student and teacher to engage in this part of the lesson. Links to printable task cards for both the driving part of the cycle and the coding cycle are provided. To learn more about using task cards, see the Using Task Cards with Students article.
Facilitate the Driving Stage
- Establish expectations for collaboration to ensure each group member participates in the Guided Practice part of the lesson. For more information collaboration while coding, see the Using Pair Programming for Student Collaboration article.
- Share the driving task card with Students. Ensure all students understand the goal of the task, and have set up their fields as shown on the lesson page.
- Circulate through the room as students take turns completing the driving task as outlined on the task card. Students should be using the discussion questions on the task card to guide their conversation as they drive. As you visit each group, use the questions in the provided teacher notes to guide students towards developing a hypothesis about the best way to begin coding their projects, based on their driving experience.
- Students should use the success criteria and checklist on the task card to be sure they have completed the driving part of Guided Practice. Once they have done so, and documented their practice using the sentence stem and drawing on the bottom of the task card, they must check in with you to share the hypothesis their group has formed during driving, along with the evidence they have to back it up.
Facilitate the Coding Stage
- Distribute the coding task card, reminding students to use the hypothesis they established during the driving stage to begin building their VEXcode AIM project.
- Circulate through the room as students take turns completing the coding task as outlined on the task card. Students should be using the discussion questions on the task card to guide their conversation as they code. As you visit each group, use the questions in the provided teacher notes to surface student understanding about the lesson content and guide them towards conclusions.
Move Between Driving and Coding as Needed
Once students have created their initial coding project, and documented their testing on their coding task card, they should iterate back and forth between driving and coding to improve their project as many times as needed. Students should always be encouraged to choose one idea to test and improve upon at a time, rather than making many changes at once. Continue to circulate through the room, asking students to explain where they are in the process, and what changes they have made to their project and why.
By effectively facilitating the cycle teachers can help students engage with coding concepts in both abstract and concrete ways, fostering deeper understanding. In-depth information about implementing the cycle can be found in the VEX AIM Intro Course in PD+ (coming soon).
1 Pashler, Harold, et al. Organizing Instruction and Study to Improve Student Learning (NCER 2007-2004). National Center for Education Research, U.S. Department of Education, 2007.