"Peter Nilsson" <ai...@acay.com.au> wrote in message news:ed7d74f6-c84d-40f1-a06b-642f988fb...@x25g2000prf.googlegroups.com... > "Alf P. Steinbach" <al...@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 -- http://mail.python.org/mailman/listinfo/python-list