Teaching to program…

Our eldest bundle of joy is nearly 8. The time hath come to distill the zenlike/stoic/cynical/manic art of programming upon said tadpole.

Initially I pondered the classics. “Here my boy, this be LOGO, and this be a virtual turtle”. “No da, it’s a real turtle”. Hmm. Something Pratchetty about this boy. Back and forth we go and I realize he’s been playing with Logo at school.

Realized after a bit that LOGO isn’t for teaching programming, it’s for teaching Maths. Wondered if anyone has created N-dimensional LOGO to teach the higher Mathematics. Back to Pratchett it seems.

Event: Hit self.

Obviously that’s a higher level version of LOGO that eschews the underlying Maths for a sci-fi level language. I leave the completion of the underlying logic to the reader.

After playing with the Arduino in a Robothon at work and enjoying the code (very like LPC on MUDs, you write most of your C above libraries and it all feels like a generic C/Java/LPC/something language), I decided that writing in Java was the way to go, but without having to learn the structure of Java programs.

One obtuse view I have from MUDs is that you don’t have to teach OO. OO is natural, it’s teaching invisibleness that’s hard. Tell someone they have a turtle, with a bunch of functions and they’ll happily come up with instructions for it. If they want a Tortoise, they’ll happily create a Tortoise object.

A colleague then poked me in the direction of Greenfoot. Sounded interesting, and familiar. It’s related to the work at UKC that I was briefly exposed to when writing my monkey’s vomit of a thesis and has since left me a crippled brainwashee of Piaget & Papert.

Anyone used Greenfoot?

This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Teaching to program…

  1. Thomas Koch says:

    I’m currently starting as a computer science Teacher. I searched for the programming language that I’d like to teach at school. Currently I’m learning D, because it seems for me to be the perfect language for education. It’s a real language that’s useful, not a paedagogic thing that’s only useful to get your school work done. You can teach most(?) programming styles with it: imperative, OO, functional. It’s strongly typed but not verbose.

    Would be lovely, if somebody would port processing from Java to D…

  2. Steve says:

    MIT have scratch, which is excellent (having tried it with 11year olds and Mr C). After a few weeks of concentrated effort, I think you will find the limits, where the hard coded abstractions start getting in the way. I intend to then switch to either Ruby or Python. Both have useful libraries for making games and other cool, exciting stuff. Recommend creating something first, and then getting him to pull it apart. Bottom up learning might try his patience at his age.
    IMHO, java requires too much faff to be a good learning language. Quick feedback and few pointless lines of code are what you need… In effect, I’m recommending a scripting language to the guy who taught me the value of scripting languages.

Comments are closed.