The Logo Workshop consists of a series of forty-five minute lessons that heavily emphasize hands-on activities. The lessons build off each other, so they should be presented in order.
Each lesson is designed to teach a specific aspect of the Logo programming language. The goal of each lesson is stated at the top. The lesson is explained with a mixture of text, pictures, code samples, and hands-on activities. Each lesson ends with an open-ended activity where the children are encouraged to create something interesting using what they have just learned. Code samples are provided at the end to help inspire the children. Some lessons have a "Challenge Questions" section at the end. These are difficult questions that go beyond what is presented in the lesson and usually require a lot of further thought. These should be considered optional.
I tried to keep the lessons simple enough so that a fifth-grader could understand them. I hoped that each child would be able to move at their own pace, using the lesson's Web page as a guideline. In practice, the kids raise their hand and wait for an instructor to tell them what to do, rather than read the lesson. As such, the lesson's Web page works better as a guideline for the instructor. Therefore, the instructor MUST be proficient in Logo programming.
The overall goal of this workshop is to teach children to explore computers. I chose Logo Turtle Graphics as a medium because it's fun and interactive and free. It's okay if the kids don't follow the lesson plan, as long as they experiment on their own and try new things. The kids should be encouraged to try out their ideas, even when they are wrong. In real-world science, mathematics, and programming, failure is the first step to nearly all significant breakthroughs.
This Logo workshop was designed by David Costanzo. It was first taught by Jim Foster and David Costanzo to children grades K-5. While teaching the workshop, we learned more effective ways of presenting the material. Some of what we learned has been integrated into the lessons. The rest has been documented here.
Many commands have short abbreviations. For example, "FORWARD" can be abbreviated to "FD". For clarity, all code samples use the full command name. However, since children are slow typers, they should use the short version.
Some of the younger kids (grades K - 2) can't read, so you will have to explain the lesson in person. I recommend that these kids double-up on a computer so that they don't just sit idle while you explain what to do to their neighbor.
Expect a 40 minute attention span from the older kids (grades 3 - 5). Expect a 20 minute attention span for the younger kids (grades K - 2). Plan accordingly.
Begin each lesson with a formal five-minute presentation before the kids sit down at a computer. This should include a review of the previous lesson, and an overview of what's to come in the new lesson. This helps the kids remember what they did last time and gives them a mental framework for understanding today's lesson.
When I first started, I named the turtle "Seymour", after the inventor of Logo. I thought that giving the turtle a name would make the lessons easier to read. The turtle doesn't really have a name. All other Logo manuals simply call it "the turtle". I have since removed all references to "Seymour" because it didn't seem to help the kids.
If the kids create original artwork, let them print it out and take it home with them. This rewards them for thinking of something original. It also shows them that Logo can create things outside of the computer, which may make Logo seem more real. It may be beneficial to also print out the program that created the artwork, to send the message that their original thinking counts as much as their artwork. I don't know if kids would understand this message.
Logo is unforgiving of typos. If a child types "FORWORD 10", Logo will display an error message like "I don't know how to FORWORD". Some teachers feel that this negative reinforcement can damage a child's psyche. Whenever a child sees this sort of error message, I explain that the error message is because the computer (not the child) is so stupid that it can't even understand that by "FORWORD" we mean "FORWARD". I haven't once seen a child give up in frustration over this.
Open workshops worked well. By "open", I mean that the children are free to do whatever they want with Logo, instead of following a lesson plan. I tried an open workshop where I gave the children a picture to draw and that did not work well. The kids just didn't like being told what to do. I tried an open workshop where I told them draw a design on paper and then draw it in Logo. This worked well for the 3-5 group, but the K-2 group drew very intricate drawings that were too difficult to reproduce in Logo.
I have compiled some notes and suggestions for individual lessons.
All Logo snippets (things that can be typed directly into Logo) look like this:
CODE GOES HERE
Code samples are often presented next to a screen shot of what the program looks like when run. I have written all code samples in upper-case. This is not required by Logo, but it helps distinguish the code from the regular text.
Each lesson is loaded up with mini-activities that help solidify the lesson. The children should do all activities in order. Activities look like this: