beanz Magazine

LOGO

JD Hancock on Flickr

This language, developed in the 1960s, exists solely to introduce children to basic programming concepts and teach programming.

In the 1960s, Seymour Papert, a mathematician who had worked with Jean Piaget, the Swiss psychologist, moved to the United States where he do-founded the MIT Artificial Intelligence Laboratory with Marvin Minsky. Papert worked with a team from Bolt, Beranek and Newman, led by Wally Feurzeig. Together Feurzeig and Papert created the first version of LOGO in 1967.

The LOGO programming language is designed to help kids learn programming hands on. Instead of memorizing theory or using complicated programming structures, LOGO users learn programming basics with simple words and directions. An object, usually a turtle, might be directed to move forward 20 steps.

The language is modular, extensible, interactive, and flexible. It is designed to have a low threshold and no ceiling, easy for kids to use as it allows experienced programmers to perform complex explorations and build sophisticated projects.

Originally the LOGO language controlled a small robot turtle tethered to a computer and, in some cases, with a pen attached to draw lines which made shapes and patterns.

There are 197 variations of the LOGO language. The UCBLOGO version from the University of California, Berkeley is the most robust.

What Makes the LOGO Programming Language Special?

Probably the most interesting and unusual aspect of LOGO has to do with its origins. Most programming languages begin with a mathematical or mechanical problem to solve.

While LOGO began with the Lisp programming language and ideas about artificial intelligence, the goals of the language reflect the thinking of Jean Piaget, the Swiss psychologist. Piaget believed children learn best working in a constructive way, by building things. LOGO is a language that makes it easy for children to learn programming by directing an object to perform a series of tasks.

LOGO is specifically designed to engage kids in the four C’s: Critical thinking and problem solving, Communication, Collaboration, and Creativity and innovation. LOGO lets kids use computers to actively engage the world as designers and builders.

The LOGO programming language is a set of commands to be performed by an object, usually a turtle. All commands are relative to the object. So LEFT 90 tells a turtle to turn left 90 degrees. The same command in a block or modular language like Scratch or Alice would be slightly more complicated, finding then adding a block then configuring the block to turn the object left 90 degrees. A script language would be even more complicated, for example, taking into account the object, a range of directions, a range of degrees the object could turn, and possibly other parts of the environment.

In addition to its simple commands, you can include sets of commands inside other commands. This allows kids to evolve into more complex language structures, as well as learn complex planning skills to create shapes and patterns.

How is LOGO Used?

The LOGO programming language is everywhere. The language is taught in schools, of course. But LOGO also is in many phone and table applications, for example, Move the Turtle. There’s a board game, Robot Turtles, which uses the basics of LOGO in a fun card game kids and parents can play. LEGO Mindstorms also is based on LOGO. And the Turtle Academy is an online site in multiple languages to help kids learn LOGO with a web browser. There are many more examples.

LOGO also appears to be used to explore and solve problems in graphics and physics. In other words, LOGO is a great language for kids, teachers, parents, and anyone interested in programming.

Learn More

LOGO Programming Language

http://el.media.mit.edu/logo-foundation/index.html
http://el.media.mit.edu/logo-foundation/logo/index.html
http://el.media.mit.edu/logo-foundation/resources/links.html
http://el.media.mit.edu/logo-foundation/resources/discussion.html
https://en.wikipedia.org/wiki/LOGO_%28programming_language%29

20 Things to Do With a Computer

A brilliant essay about using computers as tools to teach kids how to do things, not manipulate computers. (thanks @HackerJimbo for the suggestion!)
http://dspace.mit.edu/handle/1721.1/5836

UCBLOGO

https://en.wikipedia.org/wiki/UCBLOGO
http://www.cs.berkeley.edu/~bh/logo.html

LOGO Artificial Intelligence Memos

Written by Seymour Papert in the 1960s and 1970s, they give a sense of the ideas that drove the creation of LOGO.
http://logothings.wikispaces.com/Readings

LOGO and LEGO Mindstorms

http://www.media.mit.edu/sponsorship/getting-value/collaborations/mindstorms

Turtle Academy

Learn LOGO in English, German, Spanish, Dutch, Portuguese, Russian, Hebrew, and Chinese.
http://turtleacademy.com/

MicroWorlds LOGO

http://en.wikipedia.org/wiki/MicroWorlds
http://www.microworlds.com/

Move the Turtle

http://movetheturtle.com/
http://itunes.apple.com/us/app/move-turtle.-programming-for/id509013878?ls=1&mt=8

Robot Turtles (and Robot Turtles Adventure Quest Expansion Pack)

http://www.robotturtles.com/
http://www.thinkfun.com/robotturtles/adventure/
http://www.thinkfun.com/robotturtles
https://www.kickstarter.com/projects/danshapiro/robot-turtles-the-board-game-for-little-programmer
http://duxter.com/robotturtles

FMSLOGO

http://fmslogo.sourceforge.net/

Robot Turtles (and Robot Turtles Adventure Quest Expansion Pack)

http://www.robotturtles.com/
http://www.thinkfun.com/robotturtles/adventure/
http://www.thinkfun.com/robotturtles
https://www.kickstarter.com/projects/danshapiro/robot-turtles-the-board-game-for-little-programmer
http://duxter.com/robotturtles

Computer Science LOGO Style

A free online resource using LOGO to teach computer science.
http://www.cs.berkeley.edu/~bh/v1-toc2.html
http://www.cs.berkeley.edu/~bh/v2-toc2.html
http://www.cs.berkeley.edu/~bh/v3-toc2.html

Also In The August 2014 Issue

Krissy Venosdale and Skype in the classroom

Here's an enthusiastic teacher using technology to help her students discover how the world is an awesome place to explore.

SketchUp for Beginners

It's not hard to create simple three-dimensional objects and buildings with SketchUp software. Here's a simple introduction with lots of links to learn more.

Computer Science Curriculum Resources

Resources to learn about national standards for computer science and how to implement them in the classroom.

Principle of Least Astonishment

The Principle of Least Astonishment sounds very Monty Python. But it is a key concept in software and interface design.

Music from Garbage

People do amazing things with technology, in this case, creating music from tossed out computer hard drives, circuit boards, and other electronic garbage.

Regular Expressions

All programming languages have a way to find Elvis, but it can be difficult to learn how.

3D Software Tools and Resources

3D software is a fun way to engage people interested in computing but not necessarily coding or computer science.

Programming Languages for Education

Many languages have been created for younger kids and to help teachers in a classroom setting.

If you want to build a ship, don’t drum up people together to collect wood and don’t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.

August 2014 Learn More Links

Links from the bottom of all the August 2014 articles, collected in one place for you to print, share, or bookmark.

August 2014 News Wire

Interesting stories about computer science, software programming, and technology for August 2014.

LOGO

This language, developed in the 1960s, exists solely to introduce children to basic programming concepts and teach programming.

The Traveling Salesman Problem

Not only a funny phrase, it is a math and computer science problem that helps solve real world problems.