Saturday, March 10, 2018

Logo is Back

LCSI Microworlds 2.0 on Macintosh

Part I

Kids were learning the Logo computer programming language before I was even born. It's an easy language to learn, and it's an easy language to convert into other world languages. Some versions of Logo have such large vocabularies they can be used for professional program development. I have been using Logo, in some form, since 1997 when it was an integral part of the HyperStudio scripting language. Basically, if you wanted a button to do anything incredible, you spoke Logo.

In later years, a college course for educators introduced me to Microworlds, which heavily emphasizes the Logo procedural programming context. This version of Logo is quite kid-friendly, much as the way KidPix was, but you can delve into the actual language and mathematical constructs of a program because it's all right there.

You type commands in the command window.
You type procedures in the procedure window.
You draw with the tools or write a procedure to draw.
You can insert variable text into a story to create a Mad-Libs story.
You can map three dimensional coordinates onto a 2D plane.
There are nearly endless possibilities with Logo.... depending on the version.


LCSI LogoWriter on IBM-PC (MS-DOS)

Lego TC Logo on IBM, also by LCSI, to drive Lego motors and cars.

What seems universal among the incarnations of Logo is the Turtle. This is a visual indicator telling you where you are on the graphics screen. Sometimes the turtle is the shape of a turtle, sometimes it's a triangle. Most versions let you change the shape of the turtle, such as into a racecar or alien, or an angry bird, but these functions concern the simple graphics you can affect without programming them. It's a feature that makes the language and interface far more approachable to kids than languages like C, Pascal, or Python, which happen to have very steep learning curves, and where the results of a procedure aren't immediately apparent to the user.


Part II

So Zachary needs some more challenge to his academic life. He's 7 years old now, and he's ready to start programming. I hope to accomplish a few things with this: improve his literacy and concept of what language is, and to plan things in chunks. The mathematics of it all can sit on the back burner for all I care.

Logo is a rope from the real world to the virtual and I hope to have him realize the analogues of objects, actions, and effects in the real world modelled in discrete fashion in Logo, and vice versa.

I struggled so much with algebra in middle school and later in high school, then I discovered BASIC programming on my Apple. The guts of a program is algebra—variables, constants, coordinate plotting, algorithm, and most importantly, technique. BASIC taught me that there are many ways to solve a problem. Some are more efficient than others, but as long as they are rigorously infinitely valid, who cares? (I guess only programmers working with 32K of memory.)


No comments:

Post a Comment