
Learn to program the VEX V5 in VEXcode C++
This curriculum provides a structured sequence of programming activities in real-world project-based contexts. The projects are designed to get students thinking about the patterns and structure of not just robotics, but also programming and problem-solving more generally. This curriculum includes videos, animations, and step-by-step lessons designed to help learners foster Computational Thinking using the VEX V5 hardware and VEXcode programming software.
Additional Resources
In this unit, you will learn how to quickly get started with the VEX V5 or EXP system and VEXcode programming environment.
In this unit, you will learn how to control the output on the VEX V5 & EXP Robot Brain's screen with sequential programming. You will program with lines, shapes, colors, and text to give your robot an actual face with personality!
In this unit, you will learn how to control the basic movement of the VEX V5 Clawbot through sequential programming. You will program your robot to perform simple maneuvers and manipulate objects in its environment.
Introduction: Drivetrain Movement
Robot Configuration: Drivetrain Forward
Lesson: Drivetrain Forward
Mini-Challenge: Delivery Route Part 1
Robot Configuration: Drivetrain Turning
Lesson: Drivetrain Turning
Mini-Lesson: Proportional Relationships with Turns
Mini-Challenge: Delivery Route Part 2
Planning and Behaviors
Activity: Introduction to Pseudocode
Introduction: Arm and Claw Control
Robot Configuration: Arm Control
Lesson: Arm Control
Robot Configuration: Claw Control
Lesson: Claw Control
Mini-Challenge: Delivery Route Part 3
Final Delivery Challenge
Unit Quiz: Robot Movement
In this unit, you will learn how to control program flow by having the robot wait until specific sensor values are detected. You will learn how to create basic conditions with fundamental digital (Bumper Switch) and Analog (Line Tracking) Sensors.
Introduction: Sense-Perception-Plan-Act
Robot Configuration: Bumper Switches
Lesson: waitUntil Bump then Move
Making Sense of Systems
Mini-Challenge: Inspection Part 1
Robot Configuration: Bumper Switches (Continued)
Lesson: waitUntil Bump then Stop
Mini-Challenge: Inspection Part 2
Activity: Pseudocode
Robot Configuration: Distance Sensor
Lesson: Distance Sensor Navigation
Mini-Challenge: Surface Inspection
Robot Configuration: Line Tracking Sensors
Mini-Lesson: Measuring Thresholds
Mini-Lesson: Operators
Lesson: waitUntil Dark
Mini-Challenge: Inspection with Line Tracking
Unit Challenge: Inspection Part 3
Unit Quiz: Wait Until
In this unit, you will learn how to turn multiple lines of code into a special structure called a function, that can then be referenced many times within a program. This programming technique will allow you to create shorter and easily maintainable programs.
Introduction: Functions
Robot Configuration: Functions
Lesson: Functions
Mini-Challenge: Line Tracking Inspection Functions
Introduction: Functions with Parameters
Robot Configuration: Functions with Parameters
Lesson: Functions with Parameters
Activity: Smiley Face Four Corners
Activity: Smiley Face When Screen is Pressed
Unit Challenge: Inspection Part 3 with Functions
Unit Quiz: Functions
In this unit, you will learn how to solve problems that contain patterns can be solved by repeating a series of sequential commands. You will learn how to use several types of loops with different durations and conditions to repeat robot behaviors.
Introduction: Container Handler
Robot Configuration: Repeat Loops
Lesson: Repeat Loops
Mini-Challenge: Clawbot Object Transporter
Robot Configuration: While Loops
Lesson: While Loops
Activity: While Loops with Functions
Mini-Challenge: Drive in a Rectangle
Robot Configuration: Conditional Loops
Lesson: Conditional Loops
Unit Challenge: Timed Object Transporter
Unit Quiz: Loops
In this unit, you will learn how to enable your robot's decision-making capability using conditional statements. You will use sensor data from the robot's environment to control the actions of the robot.
Introduction: Autonomous Orchard Tractor
Robot Configuration: Conditional Statements
Lesson: Conditional Statements
Mini-Challenge: Orchard Tractor Part 1
Robot Configuration: Looped Conditional Statements
Lesson: Looped Conditional Statements
Mini-Challenge: Orchard Tractor Part 2
Activity: The Buggy Code
Robot Configuration: Optical Sensor
Lesson: Decisions with the Optical Sensor
Mini-Challenge: Fill in the Blanks
Robot Configuration: Embedded Conditional Statements
Lesson: Triple Sensor Line Tracking
Activity: Looping for Encoder Degrees
Unit Challenge: Orchard Tractor Part 3
Unit Quiz: Conditional Statements
In this unit, you will demonstrate your ability to decompose an open-ended problem into small pieces, and then iterate on a robust solution to the problem.
In this unit, students learn to implement a vision-based system that provides navigation abilities, based on color, objects, and shapes.