Chapter 2: Making Teaching CS Easier
Lesson 1: Using Example Projects to Teach Coding
Hi, welcome back to the VEX Classroom. My name is Jason McKenna, and today I'm gonna be talking to you about using example projects when you're teaching your students coding, specifically using VEXcode VR.
Now, why use example projects when you're trying to teach your students coding? Well, as we know as educators, it's very important that we're able to actually scaffold the concepts that we want our students to learn. So if we're teaching anything from sequencing or coding with a sensor to actual algorithms, we don't just want to give our students coding projects to solve. Instead, we want to be able to actually scaffold that process for the students.
One of the things that we have in VEXcode VR that makes it easier for you to do that is our example projects. So the purpose of this video is to give you some specific techniques that you can use in your classroom to utilize our example projects in VEXcode VR to scaffold your computer science instruction for your students.
Now, as always, if you have questions or if you have a comment or anything along those lines concerning using example projects and the things I'm gonna talk about in this video, please feel free to ask those questions in our community. We can have a really robust discussion around how you can best use these example projects to teach computer science to your students.
So, let's go ahead and go to VEXcode VR right now, where I can show you the example projects and start talking about those techniques.
All right, so here you can see VEXcode VR, again vr.vex.com. So now if I just go up to the File menu and I go to Open Examples, here you're gonna see all of the different example projects that you have to utilize. Now, you'll notice at the top here we have different categories for these example projects. So, if you want to use an example project that just dealt with the sensors, we have that category there, or with the drivetrain, we have that category there. We have all these different example projects that you can utilize.
Now, the question becomes, how? We have all these example projects. Great. How can I actually use them in my instruction if I am teaching my students a particular concept or a particular skill, or if I'm introducing something to my students?
So, let me go to this example project right here called Changing Velocity, and you'll notice a couple of different things about our example projects. First of all, they all have these different comments located inside of them. This is a way for you to be able to explain to your students what the project is actually doing. So what's really nice about this is that you don't have to try to really examine the project and read the project to understand and explain to your students. Instead, you can use the comments that we have embedded in the example project to explain to the students what is going on.
And this is really the first methodology that you can use the example projects for, and that is an illustrative guide. You can walk the students through an example project and teach the concepts that are in the example project with our students. Now, you'll also notice over here we have a note. On the note, there is always the name of the project, there's a description of the project, and then if you were to launch this project, it shows you the playground that this project would be launched within. So again, this is a great way if you were teaching, for example, with this particular example project, the different velocities that you can use, that particular command in VEXcode, this is a great illustrative guide that you can go through and teach these concepts with your students.
Now, as you do this a few times, what you can then have your students do is have them actually explain to you what is going on with the example project.
You can do this in class, you can have students do this in their engineering notebook, whatever, but this is also a great way to have the students explain to you what's going on in the project. Now we make it a little bit more interactive, so it's just not you doing the explaining, but you can have these really robust coding conversations with your students by having the students explain part or all of the particular example project to you.
Now, another thing that you can do, the second thing that you can do, is you can compare example projects. And this is one of my favorites, to be honest with you. Let me go ahead and put this in full screen view so you can see this a little bit better. So now we have two example projects here. On the left, I have Avoiding Obstacle example project, and on the right, I have Drivetrain Moves and Turns.
Now, what would I want to do here from a comparative analysis perspective? Well, anytime I'm talking to teachers or to students for that matter about VEXcode, I always get the question, "What is the difference between a drive forward command and an actual drive forward for command? What is the difference between those two commands in VEXcode VR or in any VEXcode?" With these two example projects, I can explain and do an analysis of these two different projects to explain what's actually going on.
Why is there a wait until that comes after the drive forward command? This gets into the whole concept of waiting versus non-waiting blocks. So in the Avoiding Obstacles, the project flow is not going to be stopped here in the drive forward command. Instead, it's a non-waiting command, so it's gonna go to my wait until block. Whereas over here, with the drive forward for command, the robot is going to go forward 200 millimeters before it does anything else. This just illustrates that concept of the difference between the two commands, and again, the difference between waiting versus non-waiting blocks. This is a great way to be able to do that.
And instead of you having to create these example projects, these example projects are given to us in VEXcode VR. Again, this is a really nice way for you to be able to show everything that you have in there. So those are two fantastic methods to use our example projects: number one, as an illustrative guide. You explain what's going on in the project or have the students explain what's going on in the project. And number two, to do that comparative analysis to explain a particular concept. The example that I showed you there was to explain the difference between a drive and a drive for command, but there are other things that you can come up with to be able to do that.
Now, one of the most interesting things that you can do with an example project is you can actually modify it and change it and include an error in the example project. Now, what's really cool about this is there's a lot of research to support the fact that not only will students learn by looking at an example project, a good one, but having the students explain the error in a project is a really good way to get them to actually understand what is going on with the project.
The comparison, the comparative analysis that we talked about before, really makes the students move beyond a surface understanding, but instead develop a more comprehensive understanding of what is going on with that particular project, with the command in the project. Doing an error analysis is also a great way to move students beyond a surface-level understanding of the coding concept, but really get them to understand at a deeper level and to foster critical thinking about what's going on with that project.
Now, of course, for obvious reasons, we don't have errors in our example projects, but what you can do is you can take our example projects and modify a line or two of code and introduce those errors in there.
Or, another thing that you can do is have that discussion in our community, in VEX Professional Development Plus. Ask other teachers if they've done it or maybe collaborate in creating some projects based upon our example projects that, again, have an error inside of them. Now you can again have those coding conversations with the students.
The purpose of all this, again, is to provide scaffolding and to move students beyond the surface level of understanding to a deeper level of knowledge of the coding concepts that you're trying to teach in your classroom.
The last, the fourth way that you can use the example projects is in a flipped classroom model or as homework. Use the example projects, give them to the students as homework to have them do a comparative analysis, have them explain what's going on inside of it, or do a comparative analysis. Any of those three methods I just talked about can be utilized in a flipped classroom model or as homework for the students to supplement what you are actually doing in your classroom.
Another fantastic way to use example projects. We have all these great example projects in VEXcode. They're a great way for you to scaffold computer science instruction in your classroom by using them as an illustrative guide, by using them for comparative analysis, changing and modifying them, and having the students analyze and find the errors, or use them as homework or in a flipped classroom model in your classroom. Those are four great ways that you can use these example projects in your classroom.
If you have questions or want to discuss this further, I would love to discuss this with you in our Professional Learning Community, in VEX PD+, so we can share resources and stories and techniques around how to use these example projects in your classrooms. Or, use one of these methods and let us know how it went. If you did a comparative analysis in your classroom, we would love to hear how it went in our Professional Learning Community.
So, that's our video on using example projects. I hope you got something out of it now, and I'll see you again soon back here in our VEX Classroom.
(upbeat music fades)
Learning Objectives
- Explain how Example Projects can be used as an illustrative guide to engage students in conversations about coding concepts within a project
- Describe how to use Example Projects as part of comparative analysis to explain a coding concept to students
- Explain why modifying Example Projects to use them as part of an error analysis with students helps to move students beyond a surface level understanding of their code
- Describe how Example Projects can be used as part of a flipped classroom model, or as homework in your classroom
Summary
In this Lesson, you will learn about techniques that you can bring into your classroom to use Example Projects to scaffold students’ computer science learning and deepen their understanding of CS concepts. You will see how to access Example Projects in VEXcode VR, and how to use them as an illustrative guide to spark coding conversations with students. You will also learn about ways to engage in comparative analysis using multiple Example Projects to illustrate a concept and modifying Example Projects to engage in error analysis with students. Lastly, you’ll hear about how you can incorporate Example Projects into a flipped classroom model.
For more information on accessing Example Projects in VEXcode VR, view this article from the STEM Library.
For discussions and questions, post in the PD+ Community to start a group conversation, or schedule a 1-on-1 Session for individualized support.