Does turtle graphics have the wrong associations?
Alf P. Steinbach
alfps at start.no
Fri Nov 13 09:11:29 CET 2009
* Peter Nilsson:
> "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?
Someone intelligent who doesn't know anything or very much about programming and
wants to learn general programming.
> 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!
Yes, I totally agree with not assuming knowledge. However, (without implying
that you think so) lack of knowledge is not lack of brains. I assume an
intelligent reader, someone who doesn't balk at a few technical terms here and
Pedagogically it's a challenge, because a correspondence between knowledge and
brains is so often assumed, and the field of knowledge accordingly (but mostly
by historical accident) divided up into "basic", "medium level" and "advanced".
And so an explanation of something that's trivial to someone who already knows,
something in the "basic" category, might seem (to someone who confuses knowledge
with brains) to assume a dumb or childish reader. But in reality the
intellectual challenge of something in the traditional "basic" category can be
greater than for something conventionally regarded as "advanced". So I strive to
not make any distinction between traditional levels of knowledge in the field,
but rather to focus on what's relevant and on how hard something would be to
grasp for someone without the base knowledge and experience.
>> 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.
> 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.
> 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.
Uhm, yes, I agree. I've tried to limit the math to what most anyone can handle.
No geometry so far! Although it will have to be discussed for graphics. But
although most ch 2 examples are graphical, graphics generation as such is not
discussed. It's like the difference between driving a car and designing one. You
don't need an engineering degree to drive a car. :-)
Cheers, & thanks,
More information about the Python-list