I started teaching Python to 8th graders years ago. We were already teaching it to all of our 9th graders, so I talked the 8th grade computer teacher into it (pretty easy since a) she was as very smart woman, and b) I was sort of her boss 😉 ) so that we could build a little buzz for programming before kids made it to high school. I started them just with IDLE and some text based programs, followed by some stuff from the LiveWires lessons and it was a modest success.
However… I felt I was spending too much time on the mechanics of using the environment and not enough on the actual prorgramming. This mattered since we could only carve two weeks out of the existing curriculum for the programming unit. I’d also switched to a curriculum completely based on using Python’s built-in turlte module, which became much easier when some us added several tweaks to the library for the 2.5 release, and even easier when Gregor Lingl’s brilliant x-turtle was adopted as the replacement for the turtle library in Python 2.6.
Still, I wanted an even more supportive environment than IDLE. I wanted something that would take care of saving – kids forgetting to save was pain in the rear, and a good way to kill their enthusiasm. I also wanted something that would offer help on the commands as they were starting out. Not code completion, exactly – for novices that can more confusing, but something that would enable them to find the command they wanted easily without leaving the enviroment.
So… I created my own. I used it and thought it worked pretty well, but never really got around to promoting it. Then Simón Ruiz started using it to teach our 9th grade class. Simón polished and refined the interface based on his experience and testing, and the result, if I do say so, is worth a look if you want to teach Python to kids using the turtle. It has the great advantage of being a single file, so installation is easy, and its only dependency is that it requires Tkinter and IDLE.
At the moment Turtlelab isn’t really under active development – I’ve since left teaching and Simón has other assignments, but I believe he’s considering a blog post or two in the near future focussing on it.
Rather than explain it in great detail, I’m sharing the link to the BitBucket repository and you can go play with it yourself. And if you really like it and want to use it, please do. If you like it even more and want to take it over, please let us know – we love to have it in use and under development.