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.

2 comments:

  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?.

    Tom

    ReplyDelete
  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.

    ReplyDelete