June 9, 2007

My last post I mentioned that one of the biggest challenges in teaching programming was coming up with problems and projects that weren’t lame. In fact, this is also a problem for people teaching themselves the language. You need examples to practice on, and it really helps if they are at least minimally interesting.

My assistant, for example, decided that taking advantage of the customization possibilities in Civilization 4 would be a great way to learn python. (And that the need to learn Python for work would be a great excuse to buy Civilization 4, a double win 😉 )

There is another source of programming examples and projects for the beginning Python programmer –, “a collection of source code, ideas, and other pointless tidbits submitted for your edification and diversion.”

It’s a great collection (actually two collections, since the prior version of the site is available as well) of odds and ends of Python code, some of which actually do something, occasionally even something you might want to do. Guido Van Rossum, the creator of Python even has a contribution here, along with lots of other Python coders ranging from beginner to expert.

If you have any interest in Python at all, it’s worth a leisurely browse.

So How Far Out of Mind are We?

June 5, 2007

I just discovered something interesting, something that wasn’t really surprising, but still something those of us in the game of teaching programming should be aware of.

I was just now looking at the call for submissions page for a new, but clearly up and coming conference on technology and education. And I was stumped by a fairly low level problem – if I want to submit a session on programming, which category does it go in? Administrative Technologies? Nah… Equity & Accessibility? Clearly no. Digital Media? Hmmm, maybe. Standards-Based Instruction? Career Technical Education? In fact,  NONE of the categories mention programming as a possible topic. Programming isn’t mentioned at all.

So we have a conference on teaching technology and teaching with technology, and the thought of including programming seems not to have crossed anyone’s mind. Does anyone else see this as a bad thing? While I don’t want everyone to be a programmer (actually I can think of several students I would never want to be programmers 😉 ) I still do think that the process of writing simple programs is profoundly beneficial in several ways.

Writing a program teaches students problem solving and the critical thinking needed to break a problem down into its components and then iteratively build up a solution, not to mention imparting a sense of the problems and limitations, as well as the possibilities of software. And yet it seems that the mainstream of tech ed doesn’t even know we’re here.

To me that means those of us who teach programming have to keep pushing and promoting. And I guess I’ll have to just pick a category and submit anyway. Who knows? They might fall for it.