3-5 July 2006
CERN, Geneva
Europe/Zurich timezone

xturtle - an extended turtle module for Python as a vehicle for teaching programming concepts

5 Jul 2006, 12:10
40-S2-A01 (CERN, Geneva)


CERN, Geneva

Teaching Teaching


Mr Gregor Lingl (BRG 16)


A new extended Tkinter based turtle module will be presented: (1) Motives and pedagogical goals. (2) The design of the extended module. (3) The underlying archtecture especially in respect of possible extensions and portings. (4) A set of sample scripts covering a wide range from elementary to rather sophisticated. (5) turtle graphics as a backbone for an introductory progamming course/book. Finally (6) a discussion will be initiated about the presented module as a starting point for a replacement for the existing turtle module of the Python standard distribution.


Turtle graphics is a valuable means for visualizing programming concepts. To use it
for this purpose in introductory progamming courses for kids (especially with Python)
it has to meet a couple of requirements. Among these are the most important:

  • very easy ('one command') interactive access to graphics output.
  • intuitive as well as controllable display of turtle actions
  • appealing and deversified possibilities of graphics output
  • possibility to create eventdriven applications

All but the first one are met only poorly, if at all, by the current turtle
module of the standard Python distribution.

  • One more important aspect to be mentioned are the expectations of
    teachers/educators (especially those who are not primarily cs teachers) who not only
    have to teach but first to learn themselves to use the software, they want to use in
    their classes. Could an easy to use graphics module help to convince teachers to use

As an alternative - which could well serve as a starting point for the
development of a more useful turtle module - I propose the module xturtle.

In my talk I'll explain features and design-decisions, that facilitate the
module's use in educational settings. I'll give a couple of examples ranging
from 'very elementary' to 'highly sophisticated' thus showing that easy access to
graphics furthers concentration on the respectively essential features of a
programming problem. Here the high expressivity of Python comes in to arrive at
amazingly compact solutions to relatively complex problems.

Moreover I'll give a rough sketch of how in an introductory programming course turtle
graphics can be used as the main vehicle to visualize programming concepts.

Finally I'd like to discuss with the audience what are considered the most
essential features of a useful turtle graphics module in order to merge the
audience's ideas with what I've done up to now.

Primary author

Mr Gregor Lingl (BRG 16)

Presentation Materials