1 / 30

Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

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

peta
Download Presentation

Steven Bell Team 1519 Mechanical Mayhem team1519 Atlanta FIRST Conference 2005

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. Overview • Introduction • What do students need to know? • A pattern for teaching • Student pitfalls

  4. 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!

  5. RIS Slightly easier to learn Comes free with commercial Mindstorms kits Puzzle piece syntax reduces errors Robolab vs. RIS Robolab • 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

  6. The Goal Teaching students to use Robolab • 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!

  7. 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

  8. 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

  9. How to operate Robolab • Starting Robolab • Administrator • Programmer • Investigator • Using the program vault • Levels • Starting a new program • Files and Folders • Downloading programs • Hazards

  10. 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.

  11. 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

  12. Sensors • Why sensors are important • How to use sensors with the RCX • When to use sensors • The syntax of sensor wait fors and structures

  13. Good Programming Practices • Keeping the program straight • Using lots of comments • Using SubVI's • Save early, save often!

  14. Debugging • Error list • Beeps • Set display • Interrogate RCX

  15. How to learn more • Context help • 'More help' • Double-clicking on commands • Looking inside commands

  16. 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

  17. 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

  18. 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

  19. 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

  20. A pattern for teaching (cont.) • Containers • Line counting • Calculator • Multitasking • Advanced features • Direct Functions • RCX communication • Investigator

  21. Student pitfalls • Initial fear of menus, large command palettes, etc. • Miswiring • Confusion about commands

  22. Forward Lamp Reverse Stop Output A Output B Output C Generic output 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

  23. Functions Wait for Structures Reset Modifiers Containers Music Loops Jumps Forks Event Modifiers Equal Forks Getting past the initial fear (cont.) Explain the organization of the commands

  24. 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

  25. Data types in Robolab Pink: Command Orange: Floating-Point Blue: Integer Green: Sensor Port Maroon: Container

  26. Common miswirings An innocent looking piece of code which could any of the following bugs lurking Mixing up inputs and outputs Missing a command Connecting one output to two inputs (without a fork or task split) Multitasking Incorrect Correct

  27. 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

  28. 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

  29. Technical resources Online: • www.lego.com/dacta • www.ceeo.tufts.edu • www.firstlegoleague.org • www.fll-freak.com • www.team1519.org Books: • Teachers guides

  30. Questions?

More Related