Skip to main content
Skip to Main Content
Skip to main content
Navigation

Using Switch Blocks to Support Differentiation

By Audra Selkowitz Sep 4, 2024

Picture a VEX EXP Classroom, where students are engaged in the Castle Crasher STEM Lab Competition. Some students have coded their robot entirely in Blocks, others have used a combination of Blocks and Switch, and some have all Switch blocks. Everyone’s goal is the same – score as many points as possible by crashing castles on the Field – yet the way they are working toward that goal is unique. The teacher is firmly in the role of facilitator here, guiding students to the conceptual understanding of their code, rather than focusing on the syntax of an individual command.

Switch blocks are now part of all VEX platforms that support Python, giving teachers and students a thoughtful way to differentiate instruction and aid in students confidently and comfortably navigating the journey from block-based to text-based programming with their IQ, EXP, or V5 physical robots. This article offers a few scenarios to help paint the picture of how Switch blocks can support differentiation in different school settings. View these articles for detailed information about using Switch blocks in VEXcode IQ, VEXcode EXP, or VEXcode V5.

Using Switch to Support Diverse Learners in a Coding Club

In a recent 1-on-1 Session, an IQ teacher who had just begun a Coding Club for his 5th-8th grade students was asking about how to structure their activities to best support all of the students in the club. Mark had 5th graders who were brand new to coding, 8th graders who had a few years of experience, and everything in between. Rather than creating different activities or lessons for each grade level, Switch was brought up as a great opportunity to scaffold students’ coding while engaging the group in a common coding challenge. He wanted to have a Castle Crasher Competition with his club students, so talked in the session about how to best incorporate Switch blocks into his instruction to meet all students where they were.

Beginning students would work in Blocks to get started. Students could use Drivetrain commands to code their BaseBot to crash castles in set locations, and the built-in VEXcode resources like the Help, Example Projects, and Tutorials for support. Students with a little more experience could work on incorporating sensors into their project. They would also begin in Blocks, to allow them to apply their prior knowledge of project flow when using a sensor to the task at hand. Then, once comfortable with the project, they could begin converting blocks to Switch blocks to explore Python. This way, the students could focus on the conceptual understanding first, then apply that knowledge to beginning explorations of Python. For his most experienced students, they would begin their projects with Switch – converting blocks, or typing Python commands directly into them. To support students using Switch, he would share the VEX API resources to empower students to learn more about the Python commands they were using on their own.

Using Switch Blocks in a High School Coding Class

Another scenario involves a teacher of a 9th and 10th grade Computer Science class, who is using VEX EXP and VEXcode VR. Ernesto’s students want to learn Python, but they have varied levels of coding skills coming into the class. Switch blocks are an ideal solution, as it puts students in the driver’s seat to transition from blocks to text-based coding. At the start of the year, he shares the Switch blocks and explains how they function, showing students how to convert blocks or type right in them. As a whole class, they build a simple blocks project and go through how to convert it. As part of this introduction, he also shares resources like the VEX API, where students can go to learn about specific Python commands, and the Help in VR, which incorporates information about Switch blocks. With this introduction, students are now free to try to use Switch blocks to complete their coding activities at any time throughout the course.

Ernesto’s lesson planning doesn’t change – the challenges, competitions, and activities he was planning to teach stay the same, for both EXP and VR. But each student now has individual goals around how much Switch and Python they are going to incorporate into each of their projects. When he checks in with students, and during Debrief Conversations, they talk about how they used Switch and what they learned about Python during the Unit. He can encourage them to try different Switch blocks or strategies to scaffold their learning, and is amazed at how differently students approach Switch throughout the year.

A student over a VEX EXP field on the floor handling a VEX EXP robot and buckyballs in a classroom with a teacher standing watch and other students in the background at their desks

Using Switch to Bridge from Classroom to Competition

With students from the competition team in the robotics class for both IQ and V5, Maria often struggles with keeping everyone engaged at an appropriate level throughout the year. With Switch for both IQ and V5, now her competition students can ‘level up’ by expanding their coding skills with Python, without taking his focus away from other students with less experience. She can teach the same coding concepts to the whole class as direct instruction, even teaching with blocks as they build projects together. Her competition teams can convert the projects to Switch blocks, and use Switch to incorporate more Python as they are ready. The rest of the class can use Blocks primarily, but have the option to explore Python with Switch at any time. They can all share resources like the Help and the VEX API to learn about the commands they are using, and take ownership over troubleshooting and problem solving for themselves.

Maria uses red and green flags on students’ desks to have them indicate when they need help as they are working on a challenge. Now, she incorporates a blue flag as well, which students put up if they are using Switch. This helps students to know which other student groups they can go to for help, based on how they are working, and gives her an idea of what she’ll likely need to help with. Over the course of the year, the blue flags begin to appear in more and more places, with students she never would have imagined trying Python on their own terms.


Each of these scenarios is slightly different, but a common thread is that each student has control over how they use Switch, so they are all able to get exactly the level of challenge they need. While easing the burden of transition for students, Switch blocks also offer teachers a unique opportunity for authentic differentiation within the classroom. Students come in with varying levels of experience, knowledge, motivation, and confidence in their coding skills, and Switch can help you to meet students where they are and guide them through the transition from blocks to text-based programming in an individualized, student-centered way.