[Edu-sig] experiences teaching Python with turtle graphics?

Andy Judkis ajudkis at verizon.net
Fri Nov 17 04:30:58 CET 2006

In a few weeks I am going to start the programming unit of my tenth grade 
computer applications course.  This will be my 5th time through it, and the 
previous 4 times have been only partially satisfactory.  The course I teach 
is required, and although the students are all fairly bright, they are not 
all enthusiastic about this kind of thing.  We have about 4 weeks to spend 
on the programming portion.

I've started with about 4 days of RUR-PLE, where students program a robot 
sprite to move around inside a maze.  RUR-PLE is basically a Python version 
of Karl The Robot, with a nice interface and some very appealing graphics. 
This has worked out quite well as a starting point, and introduces some of 
the basic ideas of subroutines, branches, and loops in a constrained 
environment.  I've found that students are quite surprised to see the kinds 
of complex behavior that can come from a few lines of code.  My favorite 
student quote: "It's so logical, but so frustrating."

>From there, they've gone on to using IDLE, writing the simple text-based 
"guess the number" sequence of programs that I've seen in several 
introductory books and the first chapter of the Livewires.  This takes a few 
days, introducing variables and reiterating the looping and branching from 
RUR-PLE in a more free-form environment.

Then we've gone on to do some ultra-simple graphics, using the Livewires 
primitives to draw circles, lines, etc.  This reiterates the subroutines 
from RUR-PLE, and introduces (with mixed results) return values and 

Then we do a little bit with lists - I have them generate random 
Shakepearean insults from lists of words.

>From there, they do some ultra-simple animation, using a loop with sleep() 
to move disks around and bounce them off the sides of the window, and 
polling the keyboard to use cursor keys to move objects around on the 

At this point, about a quarter of the kids are really into it, and they make 
a simple pong-like game.  The other three quarters are dying for the unit to 
be over.  One poster here several weeks ago said that 70% of the kids in 
their programming courses never really "get it" and unfortunately that's 
been my experience as well.

I'd really like to do better.  I'm particularly interested in using Gregor 
Lingl's xturtle library.  I know that versions of turtle graphics have been 
around for various environments for a long time but I've only started to 
look at it, and it seems like it should be a lot of fun.  More specifically, 
it seems like if it is used wisely, it should appeal to more of the kids for 
a longer period of time, and still provide a platform for getting across the 

Does anybody out there have any specific experience with teaching Python to 
this kind of audience using turtle graphics?  Are there any books or lesson 
plans available that you can recommend as a starting point?  As a point of 
reference, the first time I tried to teach Python I thought that the 
Livewires course would be perfect but I quickly found that, as slow and 
gentle as it seems to an experienced programmer, it moves way too fast and 
has way too little hand-holding for most high school kids.


Andy Judkis
Academy of Allied Health and Science
Neptune, NJ 

More information about the Edu-sig mailing list