Does turtle graphics have the wrong associations?

BGB / cr88192 cr88192 at hotmail.com
Fri Nov 13 09:22:09 EST 2009


"Peter Nilsson" <airia at acay.com.au> wrote in message 
news:ed7d74f6-c84d-40f1-a06b-642f988fb464 at x25g2000prf.googlegroups.com...
> "Alf P. Steinbach" <al... at start.no> wrote:
>> One reaction to <url: <url:http://preview.tinyurl.com/ProgrammingBookP3> 
>> has
>> been that turtle graphics may be off-putting to some
>> readers because it is associated with children's learning.
>
> [I'll be honest and say that I merely glanced at the two
> pdf files.]
>
> Who is your target audience? The opening Getting Started
> paragraph would probably put off many beginners right from
> the get go! You're talking about a 'first language' but
> throwing 'syntax', 'windows', 'graphics', 'networking',
> 'file and database access' and 'standard libraries' at them.
>
> The success of 'XXXX for Dummies' is certainly not their
> accuracy, but rather that they make far fewer assumptions
> that people already know the subject being tought! That
> assumption seems almost ingrained in every 'beginner'
> programming book I've ever seen!
>

yep, but I guess it depends some on the type of beginner...

many beginner books take the style of lots of examples and verbosity, and 
trying to gradually ease the person into the topic, ...

also common is more of a "crash course" style, where topics are introduced 
and defined, and where the contents tend to be far more categorical (in 
these books, often the later chapters and/or appendices are long, and often 
consist largely of definitions and reference material).

there are merits to both styles I think...


I have also seen where they try to fictionalize the topic, or turn it into 
some huge mass of allegories, but I don't really like this style so much...

it is possible the 'turtle' may hold these sorts of associations...


>> What do you think?
>
> Whilst everyone knows children tend to think visually more
> than abstractly, the same is precisely true of adults.
> However, the ultimate problem with Turtle is that it ends
> up teaching a 'mathematical' perspective and it's far from
> intuitive how you map that perspective to tackling more
> real world issues. It's simply substituting one difficult
> abstraction with another.
>
> My recollection is that many children struggled with Turtle
> graphics because they had very little concept of trigonometry.
> [Why would they? Many wouldn't learn for another 2-10 years.]
> Adults tend to have even less concept since they almost never
> use trig (or much else from school ;-) in the real world.
>

yep, much the same as trying to teach trig in a pseudo-fantasy setting by 
addressing the relative dimensions of the various parts of Excalibur...

one gets much more amusement out of just watching a sword fight where all 
they do is whack the swords into each other and pause momentarily, with 
whoever was doing the mixing unable to get the delay between the swords 
hitting and the 'clang' much less than about 300ms...


> They can see the patterns and understand there's a logic to
> it, but they struggle replicating it. Get an angle wrong
> and you end up with a mess where it's not clear whether it's
> your algorithm or the maths that's at fault.
>

yep...

simple, unstructured, thinking is easier.
if one screws up somewhere, it is a lot easier to find and correct the 
problem.

this is probably part of why procedural and OO have traditionally been more 
popular than functional programming:
one does not have to try to bend their mind so much to get things written or 
figure out just what the hell is going on...

granted, some level of mind-bending in necessary for programming, but IMO it 
is more of a necessary evil...


> The visual aspect might pique interest, but may put just as
> many people off. In any case, it won't relieve the difficulty
> of having to teach what is fundamentally an abstraction that
> doesn't have very good parallels with how people approach
> problems in the real world. Humans simply don't think like
> mathematicians^W computers. :-)
>
> I've met a lot of mathematics and comp sci teachers who
> honestly believe that you can't teach these subjects without
> a mathematical perspective. That stands in contrast to the
> number of people I see using spreadsheets with a very high
> proficiency who would never dream of saying they were good
> at mathematics or programming.
>

apparently, I don't even approach math in a mathematical manner...


I had thought I had understood math, and I use it enough, but I am 
suspecting that the thing I am familiar with is a good deal different than 
that seen by mathematicians (partly as a result of some interactions with, 
and observation of, physics teachers...).

or, it could be that my world is severely 'bent' because of my exposure to 
computers, and almost complete lack of need or desire to write proofs or to 
expand-out and perform huge amounts of symbolic manipulations by hand...


so, I guess my difficulty curve is rather "unusual" as well...

I live in a world where vectors and matrices are fairly simple, and 
quaternions would be, apart from my near inability to intuitively understand 
or visualize their behaviors...

and, in this same world, set theory and predicate logic are evil beasts best 
avoided at all cost...


and, it seems, traditional math screws me over even with seemingly trivial 
problems...

and, it does not take long to figure out that, for example, even a trivial 
operation such as renormalizing a vector becomes a marathon of pain...

A=<Ax, Ay, Az>
|A|=sqrt(Ax^2+Bx^2+Cx^2)
B=A/|A| = <Ax/|A|, Ay/|A|, Az/|A|> = <Ax/sqrt(Ax^2+Bx^2+Cx^2), 
Ay/sqrt(Ax^2+Bx^2+Cx^2), Az/sqrt(Ax^2+Bx^2+Cx^2)>=...


I would far much rather think:
N(A)=A/|A|

and leave it as that, this way we factor out everything leaving mostly 
abstract operations...
(once we know the operation, we no longer need to care what it is or how it 
works...).

but, other people want to expand everything out and turn it into a big 
evil-looking mess, bleh...


> --
> Peter 





More information about the Python-list mailing list