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

Get Started Coding with VEXcode IQ

Dive into the world of robotics coding with this live session focused on the VEX IQ 2nd and 1st generation robots using VEXcode IQ. Whether you're a novice or have some experience, this session is tailored to help educators seamlessly integrate coding into their curriculum. By the end of this engaging hour, you will have a foundational understanding of programming the VEX IQ robot, and be equipped with practical strategies to inspire and guide your students on their coding journey. Watch and transform your classroom into a hub of innovation and learning.

(cheerful music)

Hi, welcome to VEX Professional Development Plus. As you probably know, I'm Jason McKenna, director of Global Educational Strategy for VEX Robotics. Thank you so much for coming to our session this evening where we are going to be discussing Getting Started with Coding, Kickstarting your Journey with VEX IQ.

With my job at VEX, I am lucky enough to travel all over the world. When I travel, oftentimes my question revolves around this concept: how do I get started coding, or how do I get started engineering? These are the two sessions that we're going to be focusing on over the course of the next two months, with this session solely focused on getting started with coding with VEXcode IQ and your VEX IQ robot.

The goal is, what we want you to get out of today's session is number one, learning how to Get Started with Coding with VEX IQ. Number two, why coding with the robot is so important. And number three, what curriculum resources can you identify to help you get started with your coding journey?

Now, I mentioned this as number two, but I'm actually going to get started with number one. We're going to get started with why teach coding with a robot. This is something I've presented on a lot over the course of the last year or so. This is a question I'll often get when I go out into the community and talk to teachers: I'm using different tools to teach computer science. Is it really helpful to actually get started teaching with a robot? The answer to that is absolutely 100%, yes. We have a lot of anecdotal evidence to support that claim, but we also have a lot of support from research.

Let's take a look at the computer and a couple of slides I prepared to talk about getting started teaching computer science with robotics. But first, we have to identify that there are a lot of challenges in teaching computer science. A theme in computer science really for the last six or seven years has been about broadening participation in computer science. How do we get more girls, minorities, students in rural populations, students from lower socioeconomic backgrounds and communities? How do we get them involved in learning computer science? This is something that you hear about a lot, and there are challenges associated with that.

This is a great quote from computer science researchers talking about the limit in student agency. Oftentimes, we focus on teaching computer science squarely focused on programming languages. That's what that quote is talking about there. When you talk about teaching computer science, you hear things like, should we get started teaching them blocks or should we teach text? And if we do teach text, should we get started in Python, or should we get started in C? Or should we get students started in object-oriented programming like C++ or Java, whatever it happens to be. These are oftentimes the discussions around computer science, but those discussions are not engaging for students.

Moreover, we oftentimes teach the teaching of computer science and the learning of computer science as a job apprenticeship program. Again, what this quote is talking about is what that really does is it limits student agency. As a result of that, the students find computer science being very boring and unrelatable. There are a lot of statistics to back this up. This is why we have students that start computer science, but they refer to this as the leaky pipeline. Students leave computer science the longer that they are involved in it. As a result of that, we don't achieve our goals of broadening participation in computer science. That's something that we want to be able to fix.

Now, another problem with computer science is, again, the lack of diversity in science. These two things are kind of related, right, in that we are not attracting diversity in computer science right now.

Thank you for joining us today. We hope you found this session informative and inspiring. Please feel free to reach out with any questions or for further resources. We look forward to seeing you in our next session.

We are not attracting students from different fields. We're not attracting students from different interest groups. We're not attracting students of different ethnicities. All of these are problems in computer science. You might have a student interested in humanities or art, and they don't see any connection to computer science. Or maybe you have a student interested in physics or archaeology, and they don't see the relationship between that and computer science. Really, what we're saying here is students do not see the relationship between computer science and STEM. That is the problem.

If you think about that for a second, we talk about the importance of teaching STEM. We say that the importance of teaching STEM is that you take what you learn in your classroom around science, math, and technology, and use it to solve a real-world authentic problem. You combine those disciplines together, and that is STEM. That is the disconnect that our students see between the classroom and the real world. In the real world, challenges or problems they want to solve encompass these things together, the STEM disciplines. But in schools, they're often taught in isolation. And again, that's the disconnect.

What that quote is talking about is we see that same disconnect in computer science. We treat computer science as an isolated thing. As a result, students find it boring and unrelatable. That's why you do not see computer science appealing to these different demographics.

The next problem that we talk about is the superbug. This is something that I discuss a lot. Oftentimes in schools, you'll hear teachers say that their students can learn computer science or pick it up because they know how to use an app on an iPad, or they all have phones. While that is true, that is not computer science. Just because your student works on a phone and knows how to do certain things on it does not mean they're able to do the abstract concepts of computer science.

Now, what do I mean by abstract concepts of computer science? Well, if you think about it, a computer, or in our case a robot, will only do exactly what we tell it to do. As a result, it is our job as the programmer to take a task, the thing we want our computer or robot to do, and break that task down into the smallest possible behaviors. Then, we need to attach each of those behaviors to a command. Those commands are what we use in our programming language. For VEX 123, that could be a button press, a coder card, a block in VEXcode, or a command in Python. Whatever it is, we have to associate the behaviors of the robot or computer to those individual tasks and commands. That is really the essence of computer science, and that is what students actually struggle with. This is what Roy Pea refers to as the superbug.

In our spoken languages, our spoken languages contain inferences. If I were to ask someone to walk to the door, they would walk to the door and stop. We never told that person to stop, but they would stop because they would assume or infer that we'd want them to stop. That is the superbug, those kinds of inferences that are all throughout our spoken languages. Students think that those same inferences are in our computer languages, and they are not. Again, a robot will only do exactly what we tell it to do.

Identifying behaviors in the smallest possible chunks and associating them with computer language is the essence of computer science. This is a very abstract concept. Students often lack experience with conditional statements and loops, regardless of how many computer games they've played on their devices. This is the challenge we are trying to overcome with our students.

In subjects like high school biology or physical science, students bring a lifetime of background knowledge to the classroom. They've observed the natural world and weather patterns throughout their lives. However, in computer science, when teaching concepts like conditional statements, algorithms, or loops, students lack this background knowledge. This is the "superbug" that research has identified, making teaching computer science more challenging than other subjects.

Despite the prevalence of devices, students often do not understand computer science. The challenges in teaching computer science include the focus on programming languages, the disconnect from STEM, and the superbug problem. A robot is a great way to address these challenges. Introducing students to coding with VEX IQ can help overcome these common obstacles in computer science education.

Before diving into the solution, I encourage you to ask questions about the challenges and solutions in teaching computer science. You can do this in the VEX Professional Development Plus Community, where you'll receive answers from myself, the VEX education team, and software developers who created VEXcode. If we can't answer your question, no one can. Additionally, as a member of VEX Professional Development Plus, you can sign up for a one-on-one session for more targeted assistance with VEXcode IQ or any other challenges you may face.

Throughout this webinar, remember that you have these resources available: the Professional Learning Community and the option to schedule a one-on-one session in VEX Professional Development Plus.

Now that I've identified the problem with teaching computer science and suggested that robots are a great solution, let's discuss why robotics are effective in solving this problem. Teaching computer science with robots is an excellent way to connect it to STEM. With a robot, you often use it to solve a challenge or problem.

Thank you for your attention and participation. If you have any further questions or need assistance, please don't hesitate to reach out through the available resources.

And oftentimes, those problems are found within a real-world context, or it's found like in a robotics competition. So the students are naturally engaged with what they are doing because they're trying to get a higher score. Or again, we've connected it more to this overall theme with STEM. This is how computer science was originally conceived, and this is why computer science is still a part of STEM education. Computer science was created to solve challenges and problems in a STEM context.

Music Cue

Okay, number two, tangible interactivity. Robotics is hands-on, okay? I get an opportunity to build a robot, and I get an opportunity to run things on a robot. That hands-on nature of robotics makes it much more tangible, and it takes those abstract concepts of computer science and makes them much more concrete for the students. So that hands-on experience goes beyond just the building of the robot; it also involves always having a physical output of your code. If you're teaching something like conditional statements or loops, those can be abstract concepts that are made much more concrete because you always have the physical output of the robot. This transition from abstract to concrete enhances learning for your students.

Music Cue

Next, collaboration and inclusion. I always struggled when I taught computer science in my classroom to do things like pair programming and to teach collaboration. As you see with the picture here on the screen, robotics is a great way to take computer science off of the screen. When you take it off the screen, it becomes much more fun and engaging for the students, fostering collaboration and inclusion among them.

Music Cue

That gets into the last thing I talked about. Robotics is fun, okay? Students find robotics to be very, very fun and engaging. Part of that is due to the hands-on element, and part of it is through the collaboration element. But a lot of it also relates to what I talked about in that very first slide about student agency, okay? Students have much more choice with what they're doing with robotics than with other ways to teach computer science. It's actually that student choice that allows students to be really engaged and have a lot of fun when it comes time for them to learn computer science with the robot.

Music Cue

So when I talk about student choice, what am I talking about there, student agency? Well, first of all, this slide here, this is not just me, Jason, making these claims, but these claims about using robotics to teach computer science have been validated by multiple studies and research examples. To go back to what I was talking about before, this idea of wide walls really gets into what we're discussing with student agency and student choice. There are so many different ways to experience robots throughout the VEX continuum. You can experience robots like VEX 123, VEXcode VR, VEX GO, or VEX IQ, like we're talking about right here. You can experience robotics in an in-school classroom setting or an afterschool competition setting. There are all these different entry points into robotics. You can get started when you're young or start when you're a little bit older. If you want to transition to Python and text-based coding, you can do that. So there are all these different entry points when it comes to coding with a robot. This is what we mean by expanding student agency.

Music Cue

This is what really makes coding with the robots so fun for the students: number one, it's collaborative; number two, it connects to STEM and brings in that engineering aspect; and number three, it offers all these different entry points and the wide walls that you have with robotics.

Thank You Note

Thank you for your attention and for being part of this journey into the world of robotics and computer science education.

Final Message

We hope you find inspiration in these insights and continue to explore the exciting possibilities that robotics brings to learning.

Again, this is what helps to drive robotic engagement. And this is what allows you to solve those challenges that I talked about with you. It makes robotics not boring and unrelatable. It shows how robotics is connected to the wider world. And it helps make those abstract concepts and computer science much more concrete for the kids.

Now, I mentioned briefly VEXcode VR. I want to talk about that with you a little bit more because, again, this lends itself to the idea of wide walls. But more importantly, VEXcode VR is a great entry point in being able to teach robotics and allowing you to teach robotics. VEXcode VR is a fantastic way for you to introduce robotics to your students because it gives you an environment that is, for lack of a better term, cleaner for your students. So you don't have the messiness of a real-world application.

Now, think about this as it would apply to other classroom subjects. If I was to give you an analogy of teaching students how to read, when you are first teaching students how to read, you don't start with Shakespeare. You don't start with novels for that matter. You start with small picture books and you start with sight words. But you give them, and that's what I mean by a very, very clean environment. You start small with them, and then you scaffold it up with your students so that now as they get older, they can read longer stories, they can read young adult fiction, they can eventually go ahead and they can read Shakespeare if they want to be able to do that.

And your students will do that at all different paces, right? So if you've ever taught third, fourth, or fifth grade, you're going to have students at so many different reading levels, right? So as a result of that, what you do as a good teacher is you give students the resources that they need at their particular instructional level. If you have a student that's not ready to read chapter books, you don't give them chapter books. However, if you have a student that's gone way beyond sight words and they're ready for chapter books, you give them chapter books.

Well, with things like VEXcode VR and the VEX Continuum, you can do that same analogy with your students. So maybe you have some students that are just working with touching the VEX 123 robot and using the push button commands. But then you have other students that are coding the VEX 123 robot with VEXcode blocks. You can do that also. And maybe also with VEXcode VR, this allows you to give your students, again, that cleaner environment if they are just getting started to allow them to become successful.

I cannot emphasize to you strongly enough, if you are just getting started coding, if your students are complete and total novices coding, get started coding with VEXcode VR. That is the best means for you to get started coding with your students. Let's talk about why that is by taking a look at VEXcode VR.

[Music Cue]

Okay, so here I have open VEXcode VR at vr.vex.com. And you can see I'm getting started with blocks right here. So I have all my blocks on my left-hand side of the screen. So what I'm going to do first in order to get started coding, is I already selected my playground. All right, so I'm going to go ahead, I'm going to open that playground up now. I chose the Castle Crasher Plus playground that I'm going to go ahead and get started coding with. So you can see my playground is loading right now.

Okay, so I have VEXcode VR launched. I have my playground open. I have the Castle Crasher Playground open. It's one of our most popular playgrounds that we have on VEXcode VR. And also this is one of our free playgrounds. So if you do not have a VEXcode VR enhanced through a premium subscription, you can still use this free playground to get your students to get started coding and to get them, you know, learning again in this cleaner environment and be able to learn coding.

[Music Cue]

Thank you for your attention and interest in VEXcode VR. We hope this tool will be a valuable resource in your teaching journey. If you have any questions or need further assistance, please feel free to reach out.

[Final Message]

We appreciate your dedication to advancing education through innovative technology. Happy coding!

Now, you can see here, you could give your students a challenge that I want to be able to knock over that first castle. So this first set of castles right here, I want to be able to knock those over with my VEXcode VR robot.

So now what I can do is I can drag in my drive forward block and go forward for 200 millimeters. I'm going back to my overhead view. I'm going to select play. And you can see here, my robot did not go forward enough to knock over the castle. So I'll go ahead, I'll hit select stop.

Now I can discuss with my students, I can change the parameters inside. So now I'm going to make this 600 inside of there. I'm going to reset my robot, and now I have it set to 600. I'm going to select play again. You can see I hit it, but I didn't quite knock it over with that amount, okay? You can see here, I didn't quite knock it over with that, so I'm going to hit stop. I'm going to reset it again. And now I'm going to change it inside to 800.

Okay. And now I'm going to select play again. It's going to drive forward. And there we go, we just knocked over the castle. We went through and we drove forward. Now, okay, so we've succeeded in what I wanted to do. I want to be able to knock over the castle with my drive forward command.

Now, if I wanted to knock over the castles further, right, I can make this 1000 inside of here. Okay. And I can make it go forward 1000, I can knock them over a little bit more, as you see right there. Now, if I wanted to be able to knock over a different castle, I could begin planning that out.

But let's talk about why VEXcode VR is such a great way to get started with teaching computer science, or in this case, with VEX IQ. The reason why it is because all I need to focus on is the actual programming logic itself. So I want to be able to knock over that first castle. So what do I have to do? Well, the first thing I have to do is I have to move forward. But again, a robot will only do exactly what we tell it to do. So how far does it have to move forward? We can start with 200. Well, 200 wasn't far enough. So now let me go to 400. Now let me try 600.

So what you saw me do there is you saw me try multiple programs, and you saw how easy it was for me to try multiple programs, to get feedback, and then to try something else again. That quick feedback cycle from being able to create a project, run it, see the result, and then make a decision based upon that result and then repeat, the smaller that we can have that feedback cycle, research tells us that also helps to drive engagement for our students. It's that quick feedback loop that they have.

And you can see how quick and easy I was able to do that with VEXcode VR. I'm able to select the playground, then I'm able to start coding my robot immediately. And again, what this allows me to do is just focus on the logic that I wanted my students to actually learn. In this case, if I'm trying to teach sequencing, for example, of decomposition, my students can just focus on that and not the messiness of a real-world application.

Now, I kind of wrote about this entire concept about teaching with VEXcode VR when we first released VEXcode VR. And that information is found in a STEM Insight article in VEX PD+. I'm going to go ahead and bring that up now, okay, and talk about this because I have a Venn diagram that kind of shows what we're talking about here. Because we don't feel like a virtual robot will ever replace a physical robot. Instead, it will just augment and supplement what you can do with a physical robot.

Now, physical and virtual robots have both pros and cons. So the pros of a physical robot we've already talked about, it's active, it's engaging, it's hands-on. It encourages ownership and autonomy like we talked about. It's very collaborative. It integrates STEM. It's authentic, where we talked about all those things a few minutes ago.

Thank you for your attention and for exploring the possibilities of VEXcode VR with me. I hope this session has been informative and inspiring. If you have any questions or need further assistance, please feel free to reach out.

Thank you once again, and happy coding!

It takes longer to get started. It's a longer feedback cycle. It's an unfocused environment. And then of course, you have storage and organization challenges. So what do I mean by that? Well, if I'm going to code for the VEX IQ robot, I have to download the code into my robot. Then I have to play the code. I have to play the project on the brain of the robot. I have to get the robot set up exactly how I want it.

In VEXcode VR, I just have to hit the reset button, the robot always goes exactly back to where I want to be able to go. I have to build the robot. I have to make sure that the robot is built correctly. If I attach one of the wheels on wrong, or if I attach the brain on incorrectly and my center of gravity is off, all of those things are going to affect the behavior of my robot. So these are the cons of programming with a physical robot. But again, there's all those benefits to it.

Now, there are also pros and cons to coding with the virtual robot, okay? The pros, as I just showed you, very simple and easy to use. Very short feedback cycle, a very focused environment. So again, all I have to focus on is the actual programming logic itself. And it helps with different implementation. So students can do VEXcode VR at home, right? Whereas you can't take the physical robot home.

Now, there are cons. It's not hands-on. You're not building anything with a virtual robot. It's harder to do collaboration. You can't integrate STEM because you're not doing engineering. It does not take place in a real-world setting. And it's a lack of autonomy, you kind of cut down the amount of autonomy that you have when you have a physical robot.

Now, the beauty of this is when you have both a physical robot and a virtual robot, you get all the pros and you eliminate the cons. So what's important to distinguish what we're talking about here is we're not talking about using VEXcode VR to replace a physical robot. Instead, again, if you have novice programmers, if you have programmers that are just getting started, this is a great way to actually get them started coding so they can really get focused, they can really enjoy the process, not get frustrated, and then progress onto a physical robot.

So again, this is not an augment, this is not a replacement, it's an augmentation of what is that you're actually doing. And then when you do do this, you get the active hands-on learning. You get the ownership and autonomy, you get the collaboration, you get the integration of STEM. You also get the easy to use and the small feedback cycles, but you also get these other benefits, the inside of the Venn diagram that goes onto both. You reach students with diverse interests. You're able to differentiate your instruction. You're able to expose students to STEM in the classroom and the competition field at their home. And you're really able to allow students to reach really incredible things that they can do with coding with the robot.

Now, I talked about being able to travel at the beginning of this session, and I get to be able to see students in classrooms all over the world. One of the best things I get to be able to do is talk to the students at VEX Worlds about what they've done with their robots and what they've done with the coding of their robots.

So I have a couple of videos that we're going to show you right now. This is actually the co-founder of VEX Robotics, Bob Mimlitch, interviewing some students at VEX Worlds. And this is just to show you, when you do this right, when you're actually able to expose students to coding the right way, the amazing things that students can do with coding with the robots. So let's hear from the students themselves, them talking about what they're able to do with their robots.

(upbeat music)

Hello everyone, Bob at VEX Worlds again. And I'm here with a coder from Farmersville who's been writing autonomous software for their robot. How many years have you been coding?

First year. This is your first year coding? Yeah. I'm looking at your software and there's a lot of software going on there. How did you learn to do all this in a year?

I've had Mr. E and Mr. D, they're both really good directors. And if you have any questions or don't know how to do something, they can just help you. And then also there's kids that have just been naturally good at it. I've kind of watched and picked up from them.

Oh, okay. So you learned from other people? Yes. So there's a lot of things on this robot, and I heard you just added pneumatics. Yes. So have you got the pneumatics working yet?

Yeah, they work phenomenally. They work great? Yeah. And so the code tells the pneumatics to open and close? Whenever a certain button is pressed, yes. Oh, so somebody on the driver team presses a button and your software says, if they press this button, do that thing. And that's what you're doing? Yes. Well, that's logical. That sounds like fun.

So there's a lot of other students out there who've never written software and have never programmed a robot. What would you like to tell them? Is it hard, is it easy, is it fun? It's fun. And don't give up, keep trying. Don't give up, so it's a challenge, but you did it. And I love your software, I wish you guys could all see it. But I think the answer here is try coding. It's fun, it's a challenge, and it's enjoyable.

Thank y'all so much.

(upbeat music)

Hi, Bob Mimlitch here at VEX Worlds, talking to a team that has a ridiculous amount of sensors on their robot. It's really amazing. So can you tell me why you like to use sensors on robots? Just, I see a lot of other teams that don't have any. Why do you have so many?

We like to make our autonomous programs really reliable. Because especially in this game where we have the portion of the field that teams can interact in, we tend to get thrown off by them sometimes. So we want to make our autonomous programs reliable.

Reliable, right, right, right. So what's your favorite sensor? My personal favorite is the vision sensor. The vision sensor, that's this one right here, right? Excellent. So what does that help your robot do?

So what we do is we detect the color. In this case, we would detect yellow for the yellow goals. Detect yellow goals, okay. Yeah, and what we do is we find the X coordinate of that goal relative to where the sensor is, and then we adjust the powers of our drivetrain based on that to go and find the goal. So that guy is seeing the yellow goal in front of it. And if it's off to the left, you see that change in the X axis, and then your software turns your robot towards it. Wow, that's amazing.

So I noticed there's a couple other sensors down there. You have a bumper sensor. That's kind of a low tech sensor. Why'd you choose that? So we particularly chose the bumper switch because it's pretty durable. And a lot of the game objects here are very heavy, right? So if we were to use something like a limit switch, that would be sort of for more finer--

Oh, so you crash into this. And you want that bumper sensor to do that. Here if you press-- Oh, wow. And so it automatically, you don't even have to look at the robot. It just closes for you. That's cool. And then there's one here. Oh, and you have a vision sensor on the back that does the same thing. Wow. Okay, there's even more sensors than I thought. That's amazing.

Now, did you use any distance sensors? Yeah, we have two, or one here. Oh yes, okay, right there. And what does that one do for you? When we're going for a goal, it kind of tells us how far away we are. Since (indistinct) mentioned earlier, a lot of the goals you're interacting with other teams to get them in autonomous. You don't always know where the goal is relative to your robot. That's what the distance sensor helps for. And so there's another one on the front here, right there. So that one tells you how far away something is. It bounces off and comes back and gives you what, millimeters? Millimeters. Excellent, excellent.

Is there any other sensors I haven't seen? We have an IMU on the inside, and that helps us with heading. So this is especially used for programming skills. When we're facing a direction, we want to know how to get accurate turns. It takes the, when it initializes, it gets a general heading and then it bases everything off of that so we can get accurate turns. That way, we can make our programming skills a little more accurate.

Excellent, so hidden somewhere in the middle is an IMU, Inertial Management Unit, and it lets them know which way is north or what angle they're heading at on the field. That's really cool. And who's the coder? We both code. You both code? Excellent. So what language do you code in? We use C. Oh, okay. You program in C, excellent, excellent.

Thank you for your time. I hope some of the students out there have learned something about sensors and where you put them is very important. So thank y'all very much. Thank you very much.

(cheerful music)

What two great examples of students being able to code with their robots. I love listening to both of those examples. Hearing the first group of students, you saw how they were using VEXcode blocks to code their competition robot. And then you saw the more advanced coding example with all the different sensors using the vision sensor, the distance sensor, and other ones to be able to code their robot on a competition field. Those are both great examples of connecting computer science to STEM, especially the second example of all the different sensors that they were using. Just a tremendous example of seeing computer science.

You saw the students talking about how they were collaborative, what they were doing with their coding, and really pushing the boundaries of what they can do with computer science. If you go back to what I talked about at the beginning of this session, in which the problems faced in computer science, what better example of being able to counteract those problems with computer science by hearing what those students talked about with what they're able to do with their competition robots?

Now, how do we get there? Again, if you're just getting started with your students, I would highly encourage you to get started coding with VEXcode VR. Now, the question I always get is, I showed you the VEXcode VR program a moment ago. The question I normally get from teachers and sometimes from students is, can I take that code that we ran on the virtual robot, and then can I download it onto a physical robot? And the answer to that question is no.

The reason why that was a specific design decision that we made when we first developed VEXcode VR back in April of 2020. We wanted to be able to do that because we did not want to give a false impression to the students that a virtual robot is always going to work like a physical robot, because it is not. With a physical robot, you introduce all those different elements, all those different features that make coding a virtual robot more challenging than coding a physical robot.

For example, again, I always have to make sure that I start my robot in the exact same spot. This is actually a very large problem in computer science with students, it's called the initialization problem, in which students do not always start their robot, or if they're using something like Scratch, their sprite in the exact same spot. This is a big problem. VEXcode VR takes that problem away. With this, okay, you have to remember to do it on your own. You're going to have to do things like a robot configuration. You have to download your code, you have to start your project. There are more steps that actually allow you to get started. Not only that, but you have to make sure that you have the robot actually built correctly.

What happens if you get too much dust on your wheels, or if there's something in the way, or there's an obstacle, or, you know, whatever the problem may be? Let's say that you're practicing for a competition. You've got a brand new field and brand new game elements, and the robot runs perfectly on that brand new field. But then you go to a competition where they've been using the same field for the last five years, and it's not quite as smooth as yours. The texture is different. All those different things are built into it.

You saw in the video where the young ladies talked about how they use sensors to counteract all of that. That's because they are experienced coders, and the real world introduces that messiness. Now, from a classroom perspective, though, from a teaching perspective, I do not, once the students gain some experience coding, want to run away from that messiness. I want to run to it.

Go back to the example I talked about with reading, okay? You don't want to run away from Shakespeare, you don't want to run away from chapter books. You want to eventually get to those things so your students can enjoy that challenge. Yes, reading Shakespeare is much more challenging than reading picture books, but it is also much more rewarding. The students get much more out of it as a result of it. The struggle, looking at the words, talking about them, understanding the meaning behind it, that is, when done the right way, the greatness of teaching Shakespeare, any kind of literature. That same analogy applies to robotics. That messiness of the real world, using a competition field that's different from yours, making sure the robot is built correctly, thinking about things like friction, that is the beauty of coding with the robots. And it makes it much more rewarding for you when coding with the robot.

It also does all those things we just talked about. It increases your agency, it increases collaboration, it connects computer science to STEM. Again, as we heard from those young ladies, connected to sensors. So you get all of those things out of it, but you do not have to introduce that complexity to your novice students. No matter how old those novice students are, if they're five, six, seven years old or 13, 14, 15 years old, it doesn't matter. You do not have to introduce that complexity to your students. You can get started with VEXcode VR, and you can use VEXcode VR whenever you want.

Now, what do I mean by that? Oftentimes we treat this transition as something that happens once. So I'm going to do VEXcode VR for a month with my students or two months with my students, and then I'm going all into physical robots. You don't have to do that. You can have your students go back and forth. It can be a reciprocal relationship. You can go and do some things with the physical robot and then go back to VEXcode VR and then transfer your knowledge to the physical robot and then go back to VEXcode VR and then transfer that knowledge to a physical robot. It does not have to be one way in terms of that direction. It can be bi-directional in how you use VEXcode VR to supplement what it is that you are doing with the physical robot.

Because again, when you use VEXcode VR with the physical robot, you get the benefits of both and you get these new and added benefits to it. So this is the beauty of the VEX continuum, and this is what really allows the VEX continuum to be so powerful when you apply it to your classroom. It really puts yourself in a great position to help your novice learners, to allow them to get started, to allow them to feel comfortable, to feel empowered. But now they can take it, as you saw in those two videos, as far as they want to go, and there is no artificial ceiling placed upon them. And it really allows you to tap into that student agency.

Thank you for your attention and dedication to enhancing your teaching methods. Your commitment to your students' growth is truly inspiring.

We hope you find these insights helpful and look forward to seeing the amazing things you and your students will accomplish.

If students want to build a big, huge competition robot, or they want to explore something with their box in the classroom setting, this really allows you. They can explore different sensors. They can stay in VEXcode VR. And they can use a playground like Art Canvas Plus, and they can create with art. There's just so many different things that could get into that wide walls, like I was talking about a moment ago, that really make it impactful for you to use this as a teaching method.

Now, the last thing I want to talk about. Again, I do want to remind you though, if you have questions or follow-up or comments about this, please use the VEX Professional Learning community. But you can also schedule a one-on-one session with us to talk more about how to get started coding with VEXcode IQ.

I would be remiss if I did not mention switch blocks to you. Because again, if you think about those challenges in teaching computer science, like I talked about a moment ago, those challenges come back to the fact that students oftentimes become bored in computer science. Or the research also tells us when they get challenged in computer science, they come across different things, there's not the tools or resources to support them. And that's when they leave. One of those challenges is transitioning students from blocks to text-based coding.

Now, we know from research that the best way to start students in coding is by using blocks. It doesn't matter the age, whatever age it is, if they're a novice, it is great to get started with blocks because blocks, just like VEXcode VR, is an easy way to get started. So just like VEXcode VR abstracts out a lot of the issues that you would have with a physical robot, blocks abstract out a lot of the problems that you would have with actually typing out the Python or the C++ commands or whatever it is that you were using, using the syntax. Blocks get rid of all of that. With VEXcode blocks, you cannot have a syntax error, you cannot have a compiler error. Your logic might not be correct, but you don't have to worry about making syntax or compiler errors with VEXcode blocks.

However, as students do get older, that authenticity becomes more important. And now they want to use what the quote-unquote real programmers are using, and they want to use tools like Python. But before, there was not a seamless way to transition students from blocks to text-based coding. And again, what the research tells us is this would oftentimes bring levels of frustration to our kids. This is what will contribute to that leaky pipeline I talked about before of students leaving computer science.

Well, VEXcode Switch we designed in order to be able to help eradicate that problem. So let me go ahead and show that to you now.

Okay, we talked about the wide walls here, and our first kind of foray into this was using the code viewer here. Now again, the great thing about blocks is I have this drive forward block right here, okay? Now, here is the command for it over here in text, drivetrain.drive, FORWARD. This is the Python command forward right now. Now what blocks do is I don't have to remember that I need this dot operator right here. I don't have to remember that I need parentheses here. I don't have to remember that the parameter FORWARD has to be written out in all caps. I don't have to remember how to spell all those particular things. Blocks abstract all that out for me. But unfortunately until now, when I went to go do text, I had to remember to do that all on my own.

So again, if I go down to this turn right command, turn right for 90 degrees, okay? You can see I have the same command over here, drivetrain.turn_for, RIGHT, 90 degrees. So here again in syntax, I have to remember the order of these commands. I have to remember here for my parameters, the order of them. I have to remember that commas go in between them, okay?

I can remember how to connect turn for, so it's one action, all this stuff I have to do, whereas in blocks, all that is abstracted for me. But when I go to text, again, I'm kind of thrown into the deep and I have to remember that all on my own. Well, now you no longer have to do that because of switch blocks. And with switch blocks, what it allows me to do is it gives me the opportunity to actually type in the blocks themselves. I have other functionality where I can actually convert blocks into text.

So let me go ahead and show that for you right now in VEXcode VR. Here I have this drive forward block up here. I can right-click on the block and convert it to a switch block. And there's my switch block right there for me, okay? So again, this scaffolds that whole process for me so that I don't have to remember this all on my own. This makes the transition between blocks and text that much easier for me. So again, this is another tool that we've built to make the introduction of computer science that much easier for your students and that much easier for you to teach.

Now, we will have some more information on switch curriculum coming up here soon. The switch beta is released if you have a premium version of VEXcode VR. And one last thing, I have one more video I'm going to show you right now. We are actually going to begin the process of updating our STEM Labs and updating our curriculum. So it makes it easier for you to start coding with VEXcode VR before you move on to the physical robots by giving you more of those options of the virtual robots, like a VEX IQ clawbot, for example, inside of VEXcode VR so you can use them.

So I'm going to show you this quick preview video right now as kind of a preview of coming attractions of what you can keep an eye out for over the course of the next couple of months as we expand VEXcode VR. And we also incorporate that into more of our STEM Labs to again, make the introduction of coding to your students that much easier.

(cheerful music)

Okay, so hopefully that whets your appetite a little bit, but you could see what we have upcoming that you could actually utilize robots like the clawbot in our STEM Labs and in VEXcode VR to hopefully make that transition in between the physical robots and the virtual robots that much easier. But one thing, again, one of the last things I want to leave you with is I don't want to run away from that challenge of transition, I want to run to it.

So have your students identify the differences between coding with a physical robot and a virtual robot. Have them identify things like initialization. Have them identify things like the robot config. Have them identify that they have to actually download their code as opposed to just saying start on VEXcode VR. Have them identify things like friction, might come into it. Have them log those things in your engineering notebook. Have a conversation amongst your class, memorialize them on a bulletin board.

This is going to make the challenge of coding a physical robot much easier for you, because now you're going to talk about those problems and you're going to set the stage for those potential difficulties before they actually happen in your classroom. So by setting the stage, by talking about the differences between coding a physical robot and a virtual robot, you're going to have your students thinking about the fact that I always have to initialize my robot correctly, I gotta remember to do my robot config, all those particular things. And that's going to make your transition and getting started coding with VEX IQ that much more impactful for you and that much better for you as it gets started.

So again, don't run away from it, run to it. Make it an activity with your students. Talk about it with your students. Have them log in their engineering notebooks.

And again, memorialize on a bulletin board or something else in your classroom so you can really talk about and understand the difference between coding a virtual robot and a physical robot. But again, there is no better way than teaching computer science with a physical robot. To get started, there is no better way than with VEXcode VR and then transition to a physical robot. Using VEXcode VR to augment what you're doing with a physical robot in your classroom is a great and very impactful way to teach computer science.

If you have questions about this, let's have a conversation in the Professional Learning Community. Let's hear from other teachers who have done this. Let's hear from other teachers who have talked about how they've used VEXcode VR or how they've gotten started teaching physical robots. It would be a wonderful conversation to have. Let's have it in our Professional Learning Community.

Thank you so much for joining me for today's session. We talked about getting started coding with VEX IQ. Don't forget to come join me again in October. We'll be talking about Engineering with VEX IQ. I will see you then at that session, and I'll talk to you then.

(cheerful music)

Share

Like this video? Share it with others!

Additional Resources

Like this video? Discuss it in the VEX Professional Learning Community.