On Sun, 2011-10-02 at 20:43 +0100, Kevin Wright wrote:
> Plenty of us also started young without being exposed to imperative
> code and the evil goto, via LOGO and turtle graphics.  For anyone who
> wasn't aware, it's actually a fully featured FP language that derives
> from Lisp. Although not too many people (especially in that age range)
> delved deeply enough into the language that they'd really cover many
> aspects of FP.

Since when does turtle graphics qualify as functional programming?  The
whole point of turtle graphics is that it imperatively moves a turtle
which is a stateful system.  OK, it can be implemented with a functional
language if you want, but Lisp hardly qualifies as a pure functional
language given it has modifiable state.

> I guess the modern equivalent would be Kojo, although nobody - to my
> knowledge - has yet set it up to drive a real, physical turtle.  It's
> a shame really, as a touchable turtle was one of LOGO's best features
> for really getting kids into this stuff.

For introductory teaching using Python, Sarah, James and myself went for
turtle graphics.  It is a fun way of introducing the concept of
algorithms.  It works especially well with economists, graphics
designers, post-production folk, artists.  Why are they learning
programming?  To write plugins for the engines they have to use as part
of economics, graphics design, post-production, art, etc.

This has been echoed by the "Karel the robot" books.

The point here is that given some motivation to learn programming,
turtle graphics is a trivially simple system that can be understood
easily and yet leads to huge complexity in stages that allow learning.

Graham Roberts at UCL uses what is effectively turtle graphics on Groovy
to teach first year CS students introductory programming.  Works very
well.  This can diverge into parametric geometry or maze crawling.

The secret is to ensure appropriate levels of humour, levity and fun.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:[email protected]
41 Buckmaster Road    m: +44 7770 465 077   xmpp: [email protected]
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to