Wednesday 1 June 2005

Python for introductory programming

It's been a seriously deficient amount of time since I last blogged; although James has been keeping up better and has even posted his excellent noise.

Like James I've been thinking a lot about the new Creative Computing course, which is one of the most exciting teaching-related things going on at the moment. Python will, of course, rule as an introductory language, and one of the nice things about it is how easy it makes "difficult" tasks. At the moment I've really fallen for the turtle module, which implements Papert-style turtle graphics -- something I've been meaning to hack onto Java for ages, and never got around to. In particular, turtle.py provides both an imperative and OO interfaces, making it ideal for leading students through different stages of the curriculum. Of course, it's also great for all sorts of things like recursion (think von Koch curve).

Looking through the available text books, there's some great Libre material, including the excellent Dive Into Python (for experienced programmers). One dissappointing aspect of many books I've seen is a lack of examples. Many texts seem to introduce one major concept per chapter, each with one long worked example. To my feable mind that's just not enough and (to quote someone clever) there should be more than one way to do everything, and that should be made clear to students. After all, flexibility of thought is, I reckon, one of the major attributes of a good programmer and it can only be taught by endless exposure to different styles and techniques. Python is also nice for this; it has great facilities for pure functional programming along with fantasticly nice syntactic suger for all the major imperative structures. What could be better for beginners?

1 comment:

  1. Find out how your company rates by using a little known rating system!

    Is your company a Scam, Dud, Scheme, Fraud Or Good Opportunity?.

    95% of the money-making opportunities on the internet have been worked to death or are not suitable to be marketed through the internet. How does your company and/or opportunity rate… I’ll leave it to you to decide if your service, product and/or money making opportunity falls in this category.

    Hurry you may NOT be happy with what you will find!

    ReplyDelete