Java and Lego NXT, here I go

Parsing text files with Java was just not doing it for me. Programming is fun, or at least it should be fun. When it is not fun for me or the kids I shift gears. Sometimes that is good, sometimes not so good. But I always figure there is a way of teaching programming so it is fun. So in the spirit of making it fun I am going to try Java with the Lego Mindstorms NXT robots. There is a little program called LeJos that allows the two to work together. I have never messed with LeJos and it is always a bad idea to try something with students you have not done yourself. Nuts on it. I have a feeling this batch of kids will get it figured out before I do.

How can I switch tracks like this without buggering up the curriculum or syllabus you ask? It is a senior course so it does not have to match up with anything next year except college courses. After talking to numerous college CS instructors they do not want kids proficient in language X, they want kids that can learn language X. I want my student to be experts at learning, experts at finding solutions with Google, experts at “here is something you have never seen before, figure it out”, experts at tinkering until it works. CS and programming may be the only high school subjects were this kind of spontaneity is possible. College math, English, history, foreign language and so on programs are pretty much the same across the US. Walking in the door and you have a pretty good idea where you will be starting and what you will be doing. CS not so much. Calculus is calculus. CS is uhhh? The first programming language taught in college is uhhh? So I think I am OK to jump around like a mouse on a hot metal roof. I just have to make sure I do not leave any think hanging before I jump.

Besides, it is an elective and we want to have fun with computers.

So I have a two day head start on LeJos.

I am already learning some interesting things. Did you know that the driver for the Arduino board and the Lego NXT brick are almost identical and that the stupid brick will see the Arduino driver first and not be happy at all with that driver? The result is the brick gets the “click of death”. (Those that have worked with the NXT brick will be familiar with the “click of death”.) So if you have used an Arduino on your computer and you want to use the NXT brick you will have all sorts of new experiences involving hair pulling. Did you know that none of the suggestions on Google on how to overcome this issue work? After an hour or so I figured out how to delete the Arduino driver so the stupid brick would see the NXT driver. Joy, joy, joy. That is the kind of thing I want my students to be able to figure out. Real world problem solving.

The next thing is figuring out the Eclipse plugin for LeJos. Something new to problem solve. Oh goodie.