Monday, January 19, 2009

Python begins

Tomorrow I start teaching programming with python to the 8th graders. I have been thinking about what approach to use since this summer. My options were:
  • The imperative approach I used last year
  • Objects almost-first, the approach I used this summer with a mixed group of AP-graduates and novices
  • The media computation approach
I discarded the media comp approach pretty quickly. Media comp doesn't feel like my students are making things, only that they're manipulating something that already exists. I want them to make things. It's not totally rational. 

Then I worried back and forth between imperative and objects. I think people are warped by the programming style they learn first, so I might be ruining them by going imperative. But I'm not very good at OO design and I think OO is really hard and has a lot of unnecessary overhead, so I might be ruining them by going OO, by driving them away from programming entirely.

In the end, I decided to go imperative. I don't have time to prepare adequately to do OO well, I want to re-try the imperative approach I used last year to see if I can make it better, and if I can get through the imperative stuff fast enough, there will be time to do OO after we program hangman. I'm crossing my fingers that it will go well.


  1. In my Java class I take the imperative approach but I'm trying to use objects more, and earlier. Not just Strings but turtle objects and anything else that makes sense. I don't want to get into OO design that early but want early exposure to the idea, and make up of objects. I don't know if it's a compromise or a cop-out but it works for me :-).

    I'm switching to Python in the fall. What book do you use?.


  2. We start out manipulating existing things in MediaComp, but the fun part is always creating things: Making collages, composing music, creating madlib generators, making animated movies, and inventing new digital video special effects. Nothing against Zelle's, but MediaComp really is about creation.