Or like being dropped in the wilderness. Or like being thrown into the deep end. Or like going on an adventure. These are all ways that my students have described what my CS I class is like. When they describe it this way, they’re not frustrated or angry or anxious. They’re excited. At first, they were like “what? you’re not going to lecture or explain everything in detail?” I did pause when everyone seemed confused by the same thing and do a brief mini-lecture, on functions, for example. But generally, I have them read a bit about a concept, and then work through several examples and contexts for that concept. It’s like solving puzzles or mysteries. We’ve had a lot of aha moments where something finally sinks in.
It’s harder to teach this way, to let the students fumble their way through something, and I’ll admit I worry sometimes about how much they retain. To counter that worry, I have tests and quizzes, but I can’t help but worry. It’s also harder because I have to think through how an activity will go. I can’t just lay out, this is a loop. I have to work through how they’re going to use loops in meaningful ways. Actually, Mike Z just posted something that is similar to how I approach things. You lay out some instructions for something that seems simple and then discover why loops are cool and/or useful.
I also do a lot of running around. I’m working on having students do more helping of each other, but we’ve only really been coding for a few days, so I’ll give them another couple of days before I truly let them wander the wilderness.