During the summer of 2000, I was doing research for Prof. Adams at Calvin College. For part of the summer, my job was to research the Lego Mindstorm Robots, to see what it could do. Our idea is to use in the classroom, at the very least in our intro class. Because the intro class is going to be using Java. Therefore, most of my work was with TinyVM. TinyVM is/has going through a code fork, and the new project is leJOS. leJOS is going have more feature-full. TinyVM is [hopefully ;-)] keep a tiny footprint.
We think that the RCX is a concrete, down-to-earth way for providing students with feedback regarding their programming. They can see what happened, and hopefully draw a stronger connection to what the code actually does. Hopefully it will bring in students who think programming is _just_ sitting in front of a computer all day. Hopefully people will find it fun.
Its also uber-cool, and has great PR value.
Prof. Joel Adams, Prof. Larry Nyhoff, and Prof. Jeff Nyhoff have a book for teaching Java to intro CPSC classes. I have taken the outline of that book, and attempted to create a set of ideas to use the RCX for teaching Java. The ideas are listed to correspond to the chapters of the book. We would very much appreciate feedback, and other suggestions. If you are going to these ideas, please let us know. Thank you. Oh yeah, the ideas are here: labs/. To give us feedback, please email Prof. Adams (email@example.com), Nyhoff (firstname.lastname@example.org), or myself (email@example.com). The book is "Java Introduction to Computing".
I think there is very strong potential to use the Lego Mindstorm in other classes, such as Operating System Classes, Artificial Intelligence/Expert Systems classes, group work between Mechanical Engineers and CSPC programmers (make 'em build a robot to perform a task, make it competitive), Electrical engineers -- build sensors.
This is a list of some of the work I contributed to TinyVM/leJOS:
We have some future plans. Some of them include:
And further goals: