How to Teach Computational Thinking
Stephen Wolfram

Long Live Logo!

Mr. Wolfram, while you mention it in your article, I think you may be giving short shrift to the ideas that Seymour Papert (and others) studied in the 1960s and 70s using Logo. You echo much of what Papert described in his book, “Mindstorms: Children, Computers, And Powerful Ideas”, published in 1980.

While most of us who remember Logo are familiar with the turtle (and “turtle graphics”), what we tend to forget is that Logo was more than simply a means to display and create pretty pictures. It actually taught some fundamentals of computer programming languages of its time, like LISP. It also was an early example of a REPL, which is known to help facilitate the learning of a new programming language.

Papert was greatly influenced by the ideas of Jean Piaget and his theory of cognitive development. He applied this influence into the design of the language: For instance, Logo allowed for what Papert described as body-syntonic reasoning”; students could understand and reason about the turtle’s motion by imagining themselves “as the turtle”, and could thus write and debug their programs in an intuitive and playful manner.

Papert described how as a child he imagined how gears worked, and how this helped him to understand and solve problems in school; Logo was developed to replicate this form of reasoning in a manner which was approachable by a larger audience. This skill is almost a foundation for successful software development: Becoming “the machine” and “stepping through the code”, to debug the code, to make it more efficient, is something most if not all professional software developers are familiar with. Logo teaches this skill (and others) in a fun and approachable manner.

I personally applaud all efforts by educators like yourself in promoting the idea of “computational thinking”; I think those efforts will help to push this into the public’s consciousness as something which should be pursued for children’s education. But we shouldn’t look to one single solution as a “be-all-end-all” method, much like we wouldn’t use a hammer to drive a screw.

Logo has been available and accessible to educators and children for several decades, and has been updated over time to support new capabilities which weren’t available when it was first developed. I believe it has earned and deserves a place today among other methods for teaching computational thinking. Let’s give it that place, shall we?