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