Why Robotics?

I teach robotics to high school students, at St. Xavier High School, using LEGO robots, with programming done in leJos Java. What do students learn in my class? Why teach a robotics class?

Problem Solving
by using robots in the classroom, students learn valuable problem solving skills. Ideally, the students would:
1. Develop a plan
2. Program the robot to Follow the Plan
3. Test the robot
4. Modify the plan and return to step 2.
Students sometimes develop other problem solving skills, like trial and error. The LEGO robots provide ample opportunity for students to encounter problems and figure out ways to solve them.

Learn Computer Programming Programming a computer involves being able to give precise instructions. This skill is applicable to many other areas of life. The students write instructions for the robot, then receive immediate feedback about their logic, when they run the robot to test their program.

FUN
Figuring things out, playing with neat toys, seeing robots perform funny stunts, all keep this class very interesting.

STEM
Robotics promotes interest and utilizes skills in Science, Technology, Engineering and Mathematics. Our nation is starting to experience a severe shortage of students in these professions. Utilizing robotics in the classroom helps students to have positive experiences that encourage interest in these fields.

How to Start a Robotics Program

If you want to use LEGO robots, they can be purchased from the Lego Education. There are a tremendous number of resources for LEGO robotics, see them listed below under "links". I purchasd 12 robots, with the "Robotic Engineering Volume I" software. On 6/9/2009, the cost was $3,869.95, or $323 each.

A cheaper alternative, but a little more complex to program, is the "Finch" robot, being developed by Tom Lauwers, a graduate student at Carnegie Mellon University. Thier goal is to produce robots which will cost less than $100 each. Finch

There are some "virtual" robot programming environments. Look at:
RoboCode
CeeBots
Karel J. Robot

Beginning Level Robotics

For beginning level robotics, I recommend LEGO robots, with programming in the LEGO "BRIX" programming language. I also recommend using the "Robotics Engineering Vol I" software, developed by Carnegie Mellon, for teaching the students how to build and program the robots.

Intermediate Level Robotics

For intermediate level robotics, or high school robotics classes. I recommend using the LEGO robots, but instead of the LEGO "BRIX" programming language, I recommend leJOS, or ROBOTC.

Advanced Level Robotics

For advanced students, I recommend having the students build their own robots and learn to progrm them. See the links section below for more information.

References / LINKS

LEGO Robotics

Lego Education Store

Lego Engineering

nxtPrograms.com Fun Projects for your LEGO® MINDSTORMS® NXT!

How to build a Simple Lego Robot

Light Sensor Demo

Lego Programming Demo

How to Build and Program the NXT

How to program loops in the Lego Mindstorms NXT

NXT Java Programming

leJOS JAVA

An 18 Gigabyte textbook, compiled by Frank Hulsman, to teach LEGO leJOS JAVA, based on a book by Robin Shoop, Carnegie Mellon University.

leJOS API Reference

leJOS Tutorial

Tutorial on how to install and run Java on Lego Mindstorms NXT using Eclipse