[NTLUG:Discuss] Lego Robots. (Was Symbolic Links)
Steve Baker
sjbaker1 at airmail.net
Fri Nov 3 19:06:53 CST 2000
Richard Cobbe wrote:
> > I've recently started playing with Lego Robotics. I think that's an
> > *EXCELLENT* training ground for programmers:
> >
> > 1) There is no simple way to debug a program - you have to resort to
> > flashing a light when your code gets to a certain place - or beeping
> > some number of times to indicate the value of a variable....or
> > perhaps you learn to write code that works first time!
>
> Well, good for teaching people the value of writing good code, but unless
> you teach them HOW to write good code (i.e., derive programs mechanically
> from your data definitions, and so forth), it doesn't do much except
> provide frustration.
>
> Also, most architectures these days, even some embedded systems, will
> provide you with source-level debuggers. If you've got powerful tools like
> that, use them. Teaching debugging-by-LED is, I think, far less important
> than it used to be.
Actually - I think that teaching people to debug from by inferring the
behaviour of the code from the symptoms alone is more important than ever.
In the age of OpenSource code maintained via email, you are often faced
with users who say:
"Your program goes 'bleep' twice and then crashes - what do I do?"
...being able to infer the cause from minimal information seems more
relevent than ever.
> > 2) There is only a *tiny* amount of memory in a Lego Robot's computer.
> > You have to be efficient in space terms - 'yyp' programming is
> > definitely out of the question.
>
> True--although space concerns are not the only problem with cut-n-paste.
> (For that matter, C++ inline functions will create the same space bloat).
> In addition, I hesitate to start people off with a very limited memory
> space: while memory concerns are certainly an issue for an important class
> of programs, primarily embedded systems, it's becoming less and less
> critical in general. I've seen far too much ugly code produced by people
> who are overly concerned about memory and speed requirements.
Once again - I disagree. Whilst computers (even embedded ones) have more
memory than they used to, the disparity between CPU speed and bus/RAM
speed is higher than ever before. Writing tight code/data that fits into
cache can result in spectacular speed improvements - even on machines
with multi-gigabyte main memory.
> The electrical engineering department at Rice used to run a class which was
> basically playing with Lego robotics. I never took the class, so I'm a
> little short on details, but they used an in-house language and supplies to
> make it work. The robots had to solve a particular task, and they had a
> big competition at the end of the semester. It was a very hard, very
> time-consuming class, but it was extremely popular, and not just among EE
> majors. (The prof who ran the thing is now at the University of
> Washington, I think, so I don't know if they're still continuing the
> class.)
There are LOTS of Lego robotics competitions run all over the USA - but
none that I know of in our area....perhaps there is a NTLUG opportunity here?
--
Steve Baker HomeEmail: <sjbaker1 at airmail.net>
WorkEmail: <sjbaker at link.com>
HomePage : http://web2.airmail.net/sjbaker1
Projects : http://plib.sourceforge.net
http://tuxaqfh.sourceforge.net
http://tuxkart.sourceforge.net
http://prettypoly.sourceforge.net
More information about the Discuss
mailing list