That Huge Lecture Theatre! / teddy-rised
(Carleton doesn't have anything quite this big!)
Your first thought might be that I'm crazy. Interactive lectures don't seem to be very common even in classes of a more manageable size. However, some computer science professors have been working on ways to engage their students since the early 90's.
For example, Jeffrey J. McConnell's paper on Active Learning and its use in Computer Science was published way back in 1996! His intro does a good job of explaining why active learning in lectures is worth the trouble:
Active learning gets students involved in activity in the classroom rather than passively listening to a lecture. This activity can be reading, writing, discussing, solving a problem, or responding to questions that require more than factual answers. The idea is to get students thinking about the material. This is important, because students who are passive have a decline in concentration after 10-15 minutes in a 50 minute lecture. Further, the act of learning is not passive. ... By carefully involving the students on [the] path to knowledge, we can increase student depth of understanding of the material, increase student comfort with the material, and improve student confidence.Ryerson University has a decent little handout on engaging students in large classes. It's not computer science specific, but all of the ideas are applicable. For example, think-pair-share is probably more commonly used in less technical courses, but there's no reason you could not apply it to algorithm tracing or having students predict the output of a code sample. There are also many opportunities for asking conceptual questions in our field. The handout also has some good advice for making the course material relevant to students.
Carleton College has a great resource on interactive lectures. It emphasizes the need to plan ahead carefully, deciding on the learning goals for each interactive technique incorporated into the lecture as well as the engagement trigger that will lead into the activity. There are many useful sub-pages to explore here, with the section on Managing the Large Enrolment Course being particularly relevant to this discussion.
One of the techniques I hope to use will rely on enough students bringing their laptops to class. I would like to design the progression of my programming lectures such that I can build some knowledge with demos and slides, then give students a mostly-complete piece of software that they will add code to based on what they just learned. After a few minutes I would demonstrate a possible answer with live coding. I tested this approach with a guest lecture I did last year, and it seemed to work well, though there were far fewer students in class at the time. An alternative would be to come up with some paper-based equivalents like code tracing or pseudo-code sketching.
What sort of active learning techniques have you used in your lectures, big or small? Any tips for making them work well?