I came to STEM education by way of working in an after school program where I taught an Ev3 Robotics Lesson to students in grades 48. At the time, I was beginning my career in education, working on an MA in English, and hadn’t programmed a computer since college in the late 1990’s. The after school program director handed me an Ev3 education kit, and had me learn how to use it over Christmas break. I had a little more than a week (crammed full of holiday stuff) to not only learn an Ev3 Robotics Lesson myself, but to also create a lesson to teach twelve students. This series of posts is designed to help you avoid the brain damage I suffered at my own hands by giving you a good place to start, and some resources for further exploration.
First, it’s important to note that I am writing this with the assumption that you already know how to program in the Ev3 language, or are at least familiar with blockly. If neither of these things are true, DON’T PANIC help is here. Still with me? Good. If you have absolutely no computer programming experience go to Code.org, and run through their hour of code. After running through the exercises you will know significantly more than your students do. If you have some programming experience, things are easier. You can get familiar with the Ev3 programming environment by going to the Carnegie Mellon Robotics Academy web site, and running yourself through their free intro to programming with Ev3 Robotics Lesson. That lesson in particular is so good, I will be referring back to it periodically throughout my Ev3 posts.
Notes:
It’s important to note that this will be the first of many posts about my Ev3 Curriculum. If I tried to write out the entire curriculum here it would be a novel length post. This is the first part of the greater unit. As the first lesson in a large series I will cover the materials, what to teach, and how to teach the first lesson. I will also outline the standards applicable to the lesson in this post specifically. As I post each subsequent lesson, I will add the standards appropriate to that lesson at the end of the article.
If you’ve already read my Intro to Rocketry lesson post you will know this already, but in case you haven’t (yet). I do lesson plans a bit differently than you may be used to. I write out the plan in a manner that is meaningful to me as a teacher. The first thing I typically need to know is what materials I need, followed by what to teach, followed by how to teach it, and finally the applicable standards. Here we go!
Ev3 Robotics Lesson Materials
 1 LEGO MINDSTORMS Education EV3 Core Set (5003400) for every 24 students.
 1 Laptop or Desktop Computer for each kit (Chromebooks do not work well).
 Paper, Pencils
 A safe area to test robots – I built a 4 foot by 4 foot table top from some 2×4’s and plywood, then I painted it all white, and made a square sumo ring out of black gorilla tape. If there appears to be interest in one I can make an instructable, but its super simple to build. I also have large shop tables in my classroom.
What to Teach

General Knowledge
 First you need to go over the basic truths of computing: For this I work some “Big Ideas” into my lessons, many of which can be found from ISTE here.
 Next you need to discus basic truths of computer programming: Again, I’m not going to reinvent the wheel here. I use these “Big Ideas” to teach them. Essentially, you are trying to get to the following concepts:
 Computers do exactly what you tell them too.
 Computers need incredibly specific instructions in order to operate.
 Computer programs execute commands in sequence.
 Computers & Computer Programs encompass much more than games.
 Computers are capable to incredible precision & repetition.
 Problems of any type are best solved by breaking them down into smaller pieces.

Ev3 Robotics Lesson Specific Information
 Movemant
 Forward & Backward
 How far
 Turning
 Loops
 Count
 Infinity
 Sensors & Arm Control
 Touch
 Color
 Ultrasonic
 Logic
 Wait
 Switch
 Movemant
The above is typically all I have time for in a given section of my Ev3 Robotics Lesson basics class. Now that we have our tools in place, and know what we intend to teach it’s time to get into how to teach it. The actual Robot I use for my lessons is the standard Edubot to get the build you can follow the link, or find instructions in the Ev3 for education software. There are also other platforms out there for this lesson. My favorite is RileyRover, designed by Damien Key for use with his book which I review as part of my Top 5 STEM teaching books post.
How to teach the basic Ev3 Robotics Lesson
General knowledge:
There are three main ways I teach this portion of my lesson depending on the grade level, and capability of my students. This first way is to simply work these topics into my discussions with the kids about each challenge I assign them. This is the most common way I get this information across to my students. Essentially, their engagement skyrockets the moment they start working with the robots so I try to make that happen as soon as possible. The other ways I have done it in the past is to assign the general info as a research project, or use guided class discussion.
Ev3 Robotics Lesson Specific Content:
This information is delivered through modeling & problem solving challenges. As you will see below, I go over how to do a given programming task then assign a challenge similar to what I went over, but with additional complications. My goal is to have the kids get a very basic understanding from me before learning experimentally in their groups. What follows will give you how I teach the content. If you don’t know how to solve these problems, and are uncomfortable with not knowing the answers take the time to go through the full Carnegie Mellon curriculum yourself.
Before moving on to the programming challenges below, make certain all of the robots are properly constructed, and that your students can do the following with minimal guidance:
 Turn the robot on.
 Turn the Robot off.
 Select a program (I use the Demo program built into the Ev3 brick)
 Run a program.
Movement Challenge:
Prior to assigning the below challenge, I walk my students through the various parts of the Move Tank Block (shown above). They are given a worksheet with a picture of the move tank block, and we walk through the various parts of the block talking about the manner of movement (rotations, seconds, degrees, on, off), the speed/direction of movement (power settings for each motor, and what positive & negative numbers do), and the amount of movement in a guided mini discussion. They go back to their computers, and I walk them through writing a program that makes the robot move forward 4 rotations. Students then download, and run the program. Finally I present them with the challenge:
Ev3 Robotics Lesson Challenge 1: How Far (24 Class Periods)
 Students will write a computer program that moves the Edubot forward 3 rotations, then moves backward 3 rotations.
 Students will run the program 3 times, and write down the distance the robot travels in inches.
 Next, students will change the manner of movement in their program to seconds.
 Students will run the program 3 times, and write down the distance the robot travels in inches.
 The class then gathers, and goes over the recorded data together finding the mean, median, mode, and range of the numbers they collected. They may also be asked to convert these numbers to Metric depending on your math lesson.
 Once everyone agrees on what the average distance of all of the tests was, they are asked to construct a mathematical model illustrating how far Edubot will go in 1 rotation, 1 second, 0.5 rotations, and 0.5 seconds (they may not use the robot to figure this out).
 Next, ask your students to prove their model on their robots by posing time & distance questions. You can give them as many or as few time & distance questions as you want.
 Finally, ask your students to reflect on how the power setting would effect distance if rotations, or seconds are the manner of movement.
Final Notes On How To Teach This Lesson:
This lesson is designed to introduce students to the Ev3 environment, and programming in general. It has been written with grade 5 students in mind. The best places to expand this lesson are in the areas of math, and technology. One expansion I have done is data operations in a spreadsheet program. This expands both the math & technology aspects of this lesson. Expanding the math into more advanced concepts such as circumference of a circle is also an option. I do this by having my students take radius measurements of the wheels and apply the circumference of a circle equation.
You may have noticed that there really isn’t much science in this lesson. The lack of science content here is because this lesson is designed to be a part of a greater lesson about planet science. In my classroom we talk a lot about the Mars Rover programs. Throughout my robotics curriculum we apply what we are doing to the science performed by the Rovers. I have also considered making parallels between Ev3 programming and electricity, but I haven’t implemented it yet.
Standards:
Technology:
The main technology standards here involve the use, and exposure to robotics. Students are also learning some computer science, and transportation technology in addition to the ISTE standards above.
NGSS Science/Engineering:
The science standards here will depend greatly on the science content you present alongside the lesson. My lesson focuses loosely on the Space Systems standard, but your doesn’t need to. Regardless of weather you decide to make this part of a science lesson or not, you are certainly giving the students an engineering performance task.
Common Core Math:
If you found this lesson helpful, and want to see more of the same please sign up for my feed below. Thanks for stopping by!