Teaching programming could be made easier
Gas station without pump’s post on Garth’s complaint “Teaching programming is not getting easier” intrigued me. Garth does a good job of pulling together a lot of the themes of what makes teaching CS hard today. I think that we can improve the situation. I’m particularly interested in learning how to scaffold the development of programming knowledge, and we have to find ways to create professional communities of CS teachers. There are techniques to share (worked examples, peer instruction, pair programming, Parson’s problems, audio tours), and we’re clearly not doing a good job of it yet.
In programming there are 4 homework problems over the period of a week, none of which are “easy”, and all require some problem solving and thinking. There is somewhat of an incremental progression to the problems but that step from written problem to code is always a big one. It is somewhat similar to solving word problems in math, every student’s favorite task. For programming there are no colleagues available that have as much or more experience to pull teaching ideas from, if there are any other programming teachers at all. There are no pedagogical resources anywhere online for teaching strategies. After watching a number (3) of programming teachers teach it seems the teaching strategy is pretty consistent; show and tell and hope.