- Flip a class that you've already been teaching: This is definitely doable and rewarding. You probably already know the patter that you have with every slide in your slide deck and recording will take time, but it won't panic you. You will learn just how sloppy you can become while lecturing and will spend time trying to become more precise in your patter. You may also spend time breaking long lectures down into smaller, bite-sized topics. And you will also spend a lot of time developing in-class exercises. For programming courses, this requires both intellectual investment as well as programming, debugging, clarifying, etc.
- Flip a class that you've not taught but for which you can inherit a lot of material: This is also doable and rewarding, but requires an enormous amount of effort. I suppose that if you are comfortable lecturing off someone else's slides (or in this case preparing videos off of someone else's slides), then you can reduce the work. But, it takes a lot of time to figure out exactly what exercises in class connect the videos to the problem sets.
- Designing a new class from scratch: I personally could not do this in real time. That is, I would need at least half the course completely done before the semester started. Your mileage may vary, but I find it intellectually challenging (albeit rewarding) to coherently design videos, pre-class surveys, in-class activities, and problem sets. Coherence is really the key. If the in-class exercises do not connect (especially to the problem sets), students quickly become frustrated and lose interest.
I come away from class both invigorated and exhausted -- it's hard work. You want every student to have a positive experience, and you have a real way of observing very directly if they are. When things go wrong, it's rough. We had one unfortunate incident this week where I didn't fully think through the ramifications of exactly how I had asked students to do an exercise. The end result was that their Makefiles were spitting out errors that confused them. The fact that the Makefile errors were irrelevant; they were distracting to the learning we wanted to happen. Little things matter, and making everything that is not directly relevant to the learning, is a detraction (except candy). It's important to remember that and make every experience as seamless as possible. The only silver lining is that since the college students finish several hours before the extension students have their web conferences, we can fix things for extension. That's critical as the technology and distance pose a sufficient hurdle that technical difficulties with something as mundane as a Makefile would be a real demoralizer. So, what' coming up next? Assignment 3 (adding a cache to a simple, unbuffered standard IO library) is due and then we have a midterm! That's always stress inducing on the students -- but it's also a good indicator for us about whether we are successfully teaching the students what we think they should be learning! Until next time.