[Edu-sig] experiences teaching Python with turtle graphics?
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.
Academy of Allied Health and Science
More information about the Edu-sig