Wednesday, July 15, 2009

Recommended Computer Reading

Someone asked me for a recommendation of a good computer book to read. I've taken the time to gather a few of them together. Not all are great works of computer literature - but some of them are!

2 comments:

o-captain said...

So you might be a good one to ask this question then:

I used to teach my students Logowriter (back in the early-mid 90's) so they could do robotics with Legos...thus Lego Logo.

I really liked the way the Logo was simple enough for a even a fourth grader to grasp and use, yet complex enough for a grown man to expand upon and get complex with.

What would be a good programming language to use now? Is the trend really going to drag and drop coding? I have been out of the programming mode for almost 10 years now so I have no idea anymore. Is Mindstorms the better option here?

Any thoughts would be greatly appreciated. :-)

(Oh, this is Amanda's old teacher friend Jennifer Lockett)

GalapagosFinch said...

First, it's really funny what the mind remembers. As soon as I saw "o-captain", I remembered you. It's a very memorable username. :)

In the early 90's there were a lot of languages to choose from. Now, the number is probably two to three orders of magnitude bigger. In my line of work, scripting languages are making a comeback. General purpose languages like Ruby and Groovy (which can both be run scripted or compiled), Python, Perl (which has been around forever), and more "unique" languages like Scala and Haskell. But they typically are more complex than a fourth grader can use extensively. (But wait till they are teens...)

For younger codes, I think you are right on the money when you talk about "drag and drop coding". My kids took a game programming class at KSU this summer, where they learned the basics of GameMaker to build their own games. Since it was a one-week class, they didn't get into 3D gaming or anything that complex, but they learned the basics of action/reaction in a game. Drag and drop coding is like that - it helps the programmer learn the ideas of programming without having to learn a full language. And it's not just for 4th graders - there are frameworks for Business Process Management (BPM) that allow a business analyst to describe their process flows without having to understand any language other than their own domain-specific language (DSL). We were thinking about doing that with our software at Manhattan Associates before I left.

Check out GameMaker at http://www.yoyogames.com/gamemaker/. I don't have any experience with Mindstorms, but from what I do know, it is customized hardware with a PC-based framework for coding. I've even seen stuff on the web that allows developers to rewrite the firmware for the Mindstorm hardware - that's probably not for fourth graders though. :)

Hope this helps. Keep in touch!