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
signature.asc
Description: This is a digitally signed message part
