September 02, 2013Lessons from KidsI just watched Cynthia Solomon's videos documenting her and Papert and Feurzeig's development of Logo in the early days. After they initially tried out their teaching language in 1967 with middle schoolers at Hanscom, they went back to the drawing board and redesigned it. Then the next year, after teaching at Lexington for a year, they realized it needed to be redesigned again. It was that series of teaching experiences that eventually lead them to hunt for a concrete model for kids to work with, and that hunt lead them to come up with turtle graphics. It wasn't until 1970 that LOGO could be used to move a turtle on a screen - a screen refreshed by a jury rigged PDP-6 driven by a PDP-10 running LOGO. In recent years, I have taught programming to both "enrichment" kids in Lincoln and "regular kids" in Dorchester. The kids have also taught me a few things.... The Very First Lesson: Setup Is a Major Cost The first thing you notice, even before teaching your first computer class, is that teaching with computer equipment is a pain in the neck. You cannot simply photocopy a bunch of worksheets and pile them by the door.
None of that work saves you from the normal amount of paper worksheet-copying and lesson-planning that you would need to do in a class. The equipment preparation is work on top. Second Lesson: Typing is a Barrier When teaching Javascript, I found that it was very difficult to get a classroom of 30 kids to be successful in their first program. In the first hour, we had success with perhaps half of the kids. The initial barriers had to do with typing.
Most kids actually do not have much trouble typing letters and numbers. Even if is a process of hunt-and-peck, keys on a keyboard are pretty clearly labeled. But there is a range of difficulty: punctuation and longer words are harder. Third Lesson: State Needs To Be Shown The programming model we used was turtle graphics, which is pretty great, and still as relevant and intuitive for kids as it was in 1971. However, the implementation that I used in Dorchester moved the turtle as quickly as possible once you ran any turtle command. That is too fast. When kids ask a turtle to move forward by 100 steps, they want to see it move. As soon as you have a program with three or four commands, it is very difficult to understand the origin of a picture that appears instantly, fully formed, on the screen. The kids want to see the turtles execute each step, one at a time, while dragging a pen. To succeed educationally, turtle graphics must be capable of slowing down and revealing the motion as an animation. And it should work that way by default. In general, it would probably be helpful for other hidden state to be revealed: variable values, data structures, etc. Fourth Lesson: Let Kids Make a Webpage Kids light up at the chance to create their own webpage on the internet. Across all skill levels, kids share the desire to express themselves. The webpage-making class is where you will find the kids at their most excited and attentive. They all want to know how to put an image of their favorite celebrity or location or hobby on their webpage. They work ahead and quickly figure out, on their own, how to embed Youtube videos. There is something fundamental about setting up your space on the internet, where everybody can come and admire your world. The custom webpage is a motivating launching off point for custom programming projects on the web. Kids should be able to showcase their programs on their webpage. Fifth Lesson: Connection Outside the Classroom One of the surprises when teaching kids is to see their excitement about topics that you might not expect would be so exciting. For example, several of my students have been incredibly excited by the details of CSS properties. Where does this come from? They caught this excitement from all the online discussion happening in the web programming world. So it is important to nurture a connection to the wider computing community. The connection to an active community of people working on real projects is what will lead kids to a long-lived interest in the practice of programming. Connecting their own work to the wider world removes the learning exercise from the classroom and makes it real. Turtle Bits Turtle Bits is the successor to the systems I have used to teach kids in Dorchester and Lincoln. Its design is the result of the lessons I have learned from my kids:
The end result, I hope, is a system that is as friendly for Kindergartners who cannot spell or type as it is for High-Schoolers who are eager to break outside the sandbox into the real world. Posted by David at September 2, 2013 12:16 AMComments
Post a comment
|
Copyright 2013 © David Bau. All Rights Reserved. |