Saturday, July 11, 2009

taking guzdial seriously

My plans to transition kids from scratch to python have not been particularly successful so I'm thinking of giving the Mark Guzdial approach a trial - using python to tweak multimedia

Kids find the transition from the scratch visual drag and drop to python only text based daunting, or, more likely they just get bored without the multimedia. It's a huge daily problem for practicing teachers to walk the line between engagement and rigour. The Guzdial approach would keep some visuals, sounds, movies etc. involved (as outputs) for student text based programming inputs. It might work.

The Georgia Tech site is a mess but I eventually worked out that you can get enough materials to get started for no cost

There is a free draft copy of his book downloadable as a pdf from this page:

It includes chapters about:
  • Ch 2. Sounds
  • Ch 3 Pictures
  • Ch 5. Files
  • Ch 6 Text
  • Ch 7 Movies
This draft is fairly similar to the one you can buy: Introduction to Computing and Programming in Python: A Multimedia Approach
From the same link you can grab the version of python they use (jython) and also media samples to work with

The draft book explains:
"You’ll actually be programming using a tool called JES for “Jython Environment for Students.” JES is a simple editor (tool for entering program text) and interaction space so that you can try things out in JES and create new recipes within it. The media names (functions, variables, encodings) that we’ll be talking about in this book were developed to work from within JES (i.e., they’re not part of a normal Jython distribution, though the basic language we’ll be using is normal Python)."
- page 22
The direct link for media samples (pic, sound etc. files) which fit the exercises in the book) is

I have successfully setup the Jython environment and completed some introductory exercises (recipes) from the book.

Let us know if you are interested in experimenting with this approach and we can compare notes. Forward on to others if you think they might be interested too. I see it as worthwhile to pursue a variety of pathways aimed to switch students and teachers onto python programming.


rob said...

interesting Bill.

i thought when Walter said on IAEP that he'd had feedback that most teachers don't program, so 'open source' is not of much benefit to then ...and then he said programming will take off, because its the most expressive form of using computers there is ...

...i'm very sympathetic with that idea and i wish that his prognosis was the case ...could make school much more fun for people who like all this ...but i'm less sure it will get the traction in the system (beyond the 'programming elective' - where it does seem to work)

since school dispensed with Logo etc ("computers meet school - school wins") i'm not all that confident that teacher/student programming will make many inroads into math and science - grammar of schooling at all that

hope it does though!

be interested to hear how all this goes

Mark Guzdial said...

Bill, I'm trying an approach of using Media Computation with Python to support high school students using Alice. They use the images and sounds from Python in their Alice worlds, and use Alice to create images that they can manipulate in Python. I'd bet that you could use MediaComp Python with Scratch in a similar way. The slides and media are at

Yeah, the site is a total mess. It's getting near the top of my to-do list. First, I have to finish the data structures book, and then I have to do the second edition Python slides. And then there's the everyday complexities, like being in Seattle today to speak at MSR. My goal is for everything to ready by Aug. 1.

Jason said...

What age group do you teach (going from Scratch to Python)? Are you doing anything with etoys? I read previously that you got frustrated with etoys because of the lack of documentation.

I'm not sure what the advantages of Alice are. It seems to me that using 3d space (instead of 2d) adds an unnecessary distraction from programming, and the only way to make objects do things concurrently (that I could tell) is to have them do so over a predetermined span of time, encouraging bad implementation choices. Maybe I'm missing something?

Of course, Scratch doesn't offer dynamic creation and destruction of objects. So all the time, I see demos that have Obj1, Obj2, etc. Programming is _harder_, not easier, when you cannot have a variable number of things, and then poor implementation choices are encouraged or even forced. This is nearly an achilles' heel for Scratch. But I digress.

Bill Kerr said...

hi jason,

I'm a High school teacher and co-ordinating the python programming challenge at my school - students have entered from year 8 to year 11

I will do something with etoys with a year 10 class which will explore the sugar software. Etoys and Squeak are amazing software but it's hard to promote them because they are so different - yes, not a good argument, I realise

I haven't used Alice for the same sort of reasons you are stating - but mark's approach offers a new wrinkle. But I can't quite see how to fit it in at the moment due to the current scratch, sugar and python commitment.

I agree that Scratch lacks a high ceiling and at a certain level of complexity this does make things harder. But I see it as the best *introduction* to programming owing to its superb interface

Jason said...

Thanks for your reply!

Even though I'm not an educator currently, I am very interested in education, particularly in teaching children and teenagers computer programming, mostly for practice in thinking through precise algorithms, and for thinking about general cases (the case of unknown value N instead of cases 1, 2, and 3). So learning from your experiences is very valuable to me.

Anywho, I agree that Scratch is the best entry-level tool. I think that familiar, discoverable interface is of great value. I was able to learn Scratch without instructions. I am (so far) unable to learn etoys, even though I have sought out instructions, though I have high hopes for its potential IF I can find blasted documentation.

Bill Kerr said...

hi jason,

Have you looked at the squeakland site for learning etoys. This is a vast improvement on the old site.

Showcase by age might be a good place to start