[Edu-sig] Edu-sig Digest, Vol 31, Issue 16

Toby Donaldson tjd at sfu.ca
Thu Mar 2 07:34:18 CET 2006

On 3/1/06, kirby urner <kirby.urner at gmail.com> wrote:
> On 2/28/06, Toby Donaldson <tjd at sfu.ca> wrote:
> > As I pointed out in my message, the reason we use turtle graphics is
> > to introduce the idea of functional decomposition and bottom-up
> > development. I have little interest in graphics, personally.
>  Not sure what this means exactly, but I'm sure there're lots of ways to do
> this.
> def g:...
> def f:...
> def h:...
> h(g(f(x)))
> f(h(g(x)))
> h(h(g(f(h(g(x)))))
> whatever.

I mean cutting up large problems into smaller ones according function,
and then creating the resulting program by first writing (and testing)
small functions, and then combining those to make larger functions.

Your example shows the syntax of function calling, but the more
interesting question is how do you get h, g, and f in the first place?

> > It worked very well for our students, and the fact that turtle
> > graphics is a toy is important: there's less anxiety playing with
> By "toy" I meant something more like "broken toy" -- thinking specifically
> of turtle.py on Windows.  One could argue that it's Window's that's the
> broken toy in this picture.  I'd probably smile and nod.

Well, in this case, it's clearly turtle.py that's lacking.

> I'm not
> anti-turtle and certainly not anti-Python.  I tolerate Windows because I
> love .NET (so far anyway -- my goal is to be teaching IronPython someday
> soon, on Linux boxes as well).  Maybe at some future SIGCSE (if they stop
> meeting in Texas -- I'm boycotting that state for the forseeable future,
> won't go to any events there (Texas has screwed up the Oregon electrical
> power scene big time, adding to my bill, messing with my quality of
> living)).
> > toys. I see many, many students who have zero experience with
> > programming in high school, and exhibit more anxiety in the
> > first-programming course than in a math course (which at they least
> > have a decade of experience with, even if they dislike the topic).
> >
> > Toby
> The Shuttleworth Foundation in South Africa is looking at Logo | Squeak |
> Python as a preferred pipeline.  The curriculum is designed for
> self-teachers, home scholars, i.e. no cadre of "qualified teachers" need
> apply.  In this model, we'll have gotten the turtle stuff out of the way (on
> a first pass anyway) with Logo.  Python will be under no pressure to star as
> a turtle graphics platform (it's not known for this now and it's an uphill
> battle to win recognition for it in this niche).  Kids coming into Python
> will already be highly familiar with turtle stuff, so we can allude to it
> (in the curriculum, maybe a Moodle -- I've pointed them to two of mine), but
> we don't introduce either programming or turtles using Python.

Logo is a non-starter. For my purposes, a practical language is a
necessity, if only because some students need practical skills to get
programming jobs on co-op terms. Personally, I far prefer turtle
graphics in Python than Logo since Python is much more readable.

I've suggested Squeak to a few people, and there's been close to zero
interest. It's not considered very practical, and the language syntax
is generally considered a major problem. I'd guess it is less of a
problem for complete novices, but it's just too esoteric and
impractical to be a contender.

> I'm brainstorming towards the day when high schoolers with no previous
> programming experience will be the exception more than the rule.  That's
> already the case here in Portland, in some schools anyway.  I hope South
> Africa will get there shortly (you might think they have a long way to go,
> but actually South Africa is poised for a great leap forward, in the Chinese
> sense, but we hope without the same stumbling).

That would be nice: "programming anxiety" is a bigger problem than
"math anxiety" at my campus.

Dr. Toby Donaldson
School of Computing Science
Simon Fraser University (Surrey)

More information about the Edu-sig mailing list