30
Steven Bell Team 1519 Mechanical Mayhem www.team1519.org Atlanta FIRST Conference 2005 Teaching To Students

Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

  • Upload
    peta

  • View
    15

  • Download
    0

Embed Size (px)

DESCRIPTION

Teaching. To Students. Steven Bell Team 1519 Mechanical Mayhem www.team1519.org Atlanta FIRST Conference 2005. Welcome. Who Am I? Four years experience with Robolab in FLL Taught Advanced Robolab workshop in NH Mentor of four NH FLL teams in 2004 - PowerPoint PPT Presentation

Citation preview

Page 1: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Steven BellTeam 1519 Mechanical Mayhem

www.team1519.orgAtlanta FIRST Conference 2005

Teaching

To Students

Page 2: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Welcome

● Who Am I?– Four years experience with Robolab in FLL– Taught Advanced Robolab workshop in NH– Mentor of four NH FLL teams in 2004– Programmer for FRC Team #1519, Mechanical Mayhem

Page 3: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Overview

● Introduction● What do students need to know?● A pattern for teaching● Student pitfalls

Page 4: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Why teach Robolab?

● One of two approved languages for FLL

– More powerful than RIS (Robotics Invention System)

● Easier to learn than a text language

● Helps expand thinking skills

● Good for exploring and learning

● Fun and interesting!

Page 5: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Robolab vs. RISRobolab

● More control of variables

● Allows lower-level functions

● Can be extended to other real-world projects– Additional sensors– Data logging– G code– Complex image processing

RIS● Slightly easier to learn ● Comes free with

commercial Mindstorms kits

● Puzzle piece syntax reduces errors

Page 6: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

The Goal

● The goal is not to get students to understand a bunch of commands.

● The goal is to help students learn and discover!

● Robolab is very flexible. Help this to be an opportunity, not a fear factor!

Teaching students to use Robolab

Page 7: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Background of Robolab

● Created by Tufts University School of Engineering

● Based on National Instruments' LABView– It is a graphical programming language– Facilitates hierarchal design– Includes data logging and analysis functions– Widely used in industry

● Designed for use in the classroom– Pilot and Inventor– Level system

Page 8: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

What do students need to know?

● How to operate Robolab– Create a program– Save it– Download it

● The syntax of programming with Robolab● How to use sensors● Good programming practices● Debugging● How to learn more

Page 9: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

How to operate Robolab

● Starting Robolab– Administrator– Programmer– Investigator

● Using the program vault– Levels– Starting a new program– Files and Folders

● Downloading programs– Hazards

Page 10: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Where do I start?

● Don't start with Pilot!– Pilot is even more limited than RIS and has little connection to

Inventor● Inventor 1 and 2 are very limited as well● Inventor 4 is the best place to start for middle and

high school students● Inventor 1 or 2 can be a better place to start for

younger students until they learn the syntax and operation of Robolab.

Page 11: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

The syntax of Robolab

● Begin and End● Commands and VI's● Wiring

– Finding the right port– How the wires connect

● Modifiers● SubVI's and looking inside commands

Page 12: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Sensors

● Why sensors are important● How to use sensors with the RCX● When to use sensors● The syntax of sensor wait fors and structures

Page 13: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Good Programming Practices

● Keeping the program straight

● Using lots of comments

● Using SubVI's

● Save early, save often!

Page 14: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Debugging

● Error list

● Beeps

● Set display

● Interrogate RCX

Page 15: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

How to learn more

● Context help

● 'More help'

● Double-clicking on commands

● Looking inside commands

Page 16: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Good Teaching Practices

● Don't tell students the answers, let them discover it on their own

● Encourage using “help”

● Introduce just a little at a time

● Practice new techniques and commands with an exercise

Page 17: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

When students get stuck

● Don't tell the answers!● Ask questions

– How can you find out?– What does this command do?– What does this code do?– What do you want it to do?– What is it doing?

● Have the student explain the code to someone else● Play computer

– Pretend to be the robot– Student gives the “robot” commands– “Robot” follows commands exactly: no more, no less

Page 18: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

A pattern for teaching

● Intro to Robolab– Using the RCX– Operating Robolab

● Basic command palette– Motor commands– Wait for time– Basic Modifiers– Go-Stop exercise

● Sensors– Use of sensors– Sensor wait fors– Variations on the Go-Stop exercise

Page 19: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

A pattern for teaching (cont.)● Structures

– Jumps● Shape driving exercise

– Forks● Line following exercise

– Loops● Terminating shape driving and line following exercises

● Subroutines and SubVIs– Subroutines

● Shape driving– SubVIs

● Taking parameters● Making various subVIs● Looking inside commands

Page 20: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

A pattern for teaching (cont.)

● Containers– Line counting– Calculator

● Multitasking

● Advanced features– Direct Functions– RCX communication– Investigator

Page 21: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Student pitfalls

● Initial fear of menus, large command palettes, etc.

● Miswiring

● Confusion about commands

Page 22: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Getting past the initial fear

● Look at groups of commands

● Explain the organization of the commands

● Start with a tutorial exercise– Start up Robolab– Start a new program– Make a Go-Stop program– Download it

Output A

Output B

Output C

Genericoutput

Forward

ReverseLamp

Stop

Page 23: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Getting past the initial fear (cont.)Explain the organization of the commands

Functions

Wait for Structures Modifiers MusicReset Containers

Loops Jumps Forks

Equal Forks

Event Modifiers

Page 24: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Miswiring● Common mistakes

– Type mismatch– Connecting in and out together

● Proper technique– Move the string cursor over the command– Note the type of wire coming out of it

● Command● Modifier● Integer● Floating-point number● Container

– Connect it to a modifier or command with the same type of wire as an output

– If all else fails, right-click and select: create > constant

Page 25: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Data types in Robolab

Pink: CommandOrange: Floating-PointBlue: Integer

Green: Sensor PortMaroon: Container

Page 26: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Common miswirings

Missing a command

Mixing up inputs and outputs

Connecting one output to two inputs(without a fork or task split)

An innocent looking piece of code whichcould any of the following bugs lurking

Multitasking

Incorrect Correct

Page 27: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Confusion about commands● Common mistakes

– 'Wait for dark' and 'Wait for darker'– 'X' and 'Value of X' modifier

● How to avoid confusion– Look in context help!– Look inside the command and see what it does

'X'Modifiers

Value of 'X'Modifiers

IntegerModifiers

Page 28: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

What if I don't know Robolab?

First:● Learn the basics so you can teach them

or● Find someone who can teach the basics

Then:● Learn advanced features with the students!● Encourage students to learn and explore on their

own

Page 29: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Technical resources

Online:● www.lego.com/dacta● www.ceeo.tufts.edu● www.firstlegoleague.org● www.fll-freak.com● www.team1519.orgBooks:● Teachers guides

Page 30: Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

Questions?