I’m writing up what I learned from teaching a jQuery workshop this past month. I’ve already posted on my theoretical basis. Now for the teaching techniques I used, drawing on my past teaching experience, to get mileage out of that inspiration. Today: pacing!
Pacing (macro-scale)
I covered the same material, conceptually, that I’ve taught before as a one-day Python workshop (itself borrowed from the day-and-a-bit Boston Python Workshop, but I broke it into 90-ish minute segments, with breaks in between (some of them long), over a day and a half. I think the down time is critical; people’s brains get full and they can’t absorb new material. Crucially, this also let me put functions on day two. They’re the hardest new concept, and they build on everything that’s gone before, and my intuition told me that giving people a chance to sleep on things would help. Informal student feedback suggests I was right.
Pacing (micro-scale)
Boston Python Workshop does a long self-paced intro that covers all the concepts, then a long interactive lecture that reiterates and formalizes them, then a long practice session. This is great for accommodating students at a variety of levels (and people do come to these with tremendously varying background), but wrong otherwise. The two-hour lecture is too much infodump, and students don’t really know if they’ve understood it until they get to the practice phase.
Worse, in my experience most people are poor judges of whether they understand new material; “I’ve seen this before” feels enough like “I understand it” that people don’t realize how serious the gaps in their mental models may be until they actually have to do independent work. If the practice session isn’t until after all the material has been introduced, most students will have spent most of the lecture building later concepts on top of flawed understandings of earlier concepts, so by the time they get a chance to correct things they’ll have an awful lot to correct (and the difficulty in doing so is more-than-linear with the accumulation of new material).
I wanted to expose problems with mental models quickly so students could self-correct before having gone too far astray, so I did much shorter mini-lectures interspersed with hands-on practice. (This dovetails, of course, with the paper on test harnesses from yesterday.) The army of TAs was great here, meaning that people who needed help usually got it immediately (and many students pointed this out specifically as a helpful feature of the course – thank you again to all the TAs!).