Discovery Experience 4 – The Robot Gets a BrainThe students will understand how robots work and what they can do by learning how to write a simple program
STANDARDS ADDRESSED

SCIENCE

ELA READING

ELA WRITING

ELA SPEAKING/LISTENING

MATH

TECHNOLOGY

SC.4.1.1

LA.4.1.1

LA.4.4.1

LA.4.6.1

MA.4.2.2

CTE.4.2.3

SC.5.1.2

LA.5.5.1

LA.5.4.1

LA.4.6.3

MA.4.3.1

CTE.5.2.2




LA.5.6.1

MA.4.4.2





LA.5.6.3

MA.4.4.3






MA.4.13.1






MA.5.1.1






MA.5.4.4






MA.5.9.1


Discovery Experience 4 – The Robot Gets a BrainThe students will understand how robots work and what they can do by learning how to write a simple program
Time Allotment: 3 daysDay 1: (Introduction to programming)
Materials Needed:
 Room to move
 Mindstorm software
 Lego robot (built yesterday)
Procedure:
 To review, students share their drawings of the robot parts in their journal with their table partner.
 Definition of programming: “telling a robot exactly what to do stepbystep”
 Simple student programming:
 Have one student stand up.
 Tell the rest of the class they want to get the student from one part of the classroom to another. (It would be best if there were a few turns involved.)
 One student will listen to suggestions from the class and write a simple code on the board, for example, “five steps forward, turn right, walk two steps”.
 Students will “run” the code (have the student walk their program).
 Students will change the code until the student gets from one place to the other successfully.
 Class discussion: What did you notice about the process of coding? Why does the code have to be so specific? Do the robots think for themselves?
 On front screen, teacher shows LEGO Mindstorm software. If possible, have the students load up their own software at the same time and follow along
 Teacher writes a simple code in LEGO Mindstrom program (for example: the robot goes forward 3 rotations and turns right) and asks the students what the robot will do. After guessing, they run the code and watch the robot work
 Students write the same code themselves and see if the results are the same
 Teacher repeats, writing a more complicated code (for example: go backward 10 rotation, turn left, go forward 4 rotattions, and make a noise), and students again try to predict and then imitate
 In student log, students journal about what a program does and have to write a simple code for getting themselves from their seat to the door
Assessments:
 Learning Log entry
 Observation of interaction in teams
 Observation of students running their robots
Extension Activities:
Programming:
 Teacher shows examples of code (Java, C++, binary, and others)
 Teacher explains that at the basic level all code is just 1’s and zero’s called “binary code”
 The computer takes the programming language and converts it to zeros and 1’s; binary code
 Demonstration with binary code
 One student stands alone
 All other students all stand in a row facing one way
 Every third student turns around; this is to mimic that student going forward
 Every other student turn around; this is to mimic going backward
 You can continue with these for turning and otherwise to show what the computer actually reads
 There are good websites that have practice programming
Discovery Experience 4 – The Robot Gets a BrainThe students will understand how robots work and what they can do by learning how to write a simple program
ResourcesDay (23): Getting into Mindstrom's Programming)
Materials Needed:
 Mindstorms software
 Lego robot (built yesterday)
 Role cards
 List of tasks (Practice Programming Tasks)
Procedure:
 As a review, students share with a partner their code for how they get from their seat to the door
 Run the code and see if it works
 Class discussion: Does your code cover all the points? Would a Lego robot be able to follow these directions? (“No” because it does not use the right programming language)
 Lecture: This is one of the differences between steps in a sequence and actual code: code is a language that has to be followed exactly
 Students are again broken into teams of three or four (three being the preferred number)
 Assign cards with jobs. Jobs will switch after each activity
 Programmer: person who does the computer work
 Technician: person who works with the robot
 Manager: person who double checks the program to make sure it is right
 All, however, give their feedback into what the program should say.
 Teacher then gives them a simple task to do with their Lego robot. Students write code until the task is complete. Tasks could include:
 Going forward 1 ft
 Going forward 1 ft and turning 90º to the right
 Going forward 1 ft, turning 90º to the right, going forward another 1 ft, and turning 90º right again
 Teams share their code and if there is a difference in code, have a discussion about the fact that there are different ways of programming
 If there are few differences, teacher may have either a more complicated code or a more simple code to show students that there is more than one way to write code and get the same effect
 For each task, students are to switch roles, so that everybody is programmer, technician, and manager at least twice.
 The tasks include:
 Going forward exactly 2 ft and stopping
 Spinning the robot exactly 3 times and then stopping
 Going forward exactly 1 ft, stopping, and spinning 1 ½ times
 Going forward exactly 1 ft and coming back to the same spot
 Turning 90º to the right and going forward exactly 1 ft.
 Going exactly 1 ½ feet forward and turning 90º to the left
 Download: “Practice Programming Tasks”
 During the exercises, students are to write the following questions in their log and answer them:
 How many rotations were needed to go 2 ft for your code? Using this information, how many rotations would you need to go 4 ft? The idea is to get students to multiply their number by 2
 How many degrees does it take to spin exactly 3 times? Using this information, how many degrees does it take to spin exactly 1 time around? The idea is to get the students to divide their answer by 3.
 How could you use the information from part one to help you get 1 ½ ft? How could you use the information from task 2 to help you get degrees? Both of these are exactly half of their coparts in task 1 and 2.
 What do you notice about how many rotations are needed to get to 1 ft and how many it takes to get back? The idea is to see that it should be the same, so they shouldn’t have to do the second part by trial and error.
 What can you use from the last task to help in this task? The idea is to get the students to use information they learn and apply it to future tasks.
 How many degrees does it take to turn exactly 90º right? How many to turn 90º left? How can this help you in the future? Same thing of applying ideas to future tasks. This information is especially important, as 90º turns will be used a great deal in the lessons ahead.
 This is also in the reference folder “Programming tasks for learning log”.
 When completed, students share their answers with their teammates, 45 seconds per answer and switch, until all the questions are answered
 In the big group, teacher asks for answers to each and comments on why the tasks were assigned and questions asked
 In student log, students journal about what they learned about teamwork and programming with Lego Mindstorms
Assessments
 Learning Log entry
 Student answers to their questions
 Observation of interaction in teams
 Observation of students running their robots
What's Next? > Mission Accomplished