Instead of meeting in a single large lecture room with 100 students, Professor Garrod breaks his class into four sections of 25-30 students each. Each section meets twice per week for 50 minutes. During meetings, students attempt to create components of web applications for a specific technical purpose, such as fixing a security flaw. Sometimes students work alone. Other times they are asked to work in pairs or small groups.
To address heterogeneity of student backgrounds, he provides students with problems that exercise the same skills at different levels of difficulty. Students choose where to start based on their comfort level. During these activities, Professor Garrod and his TAs circulate and interact with students, visiting each student multiple times during a single class period.
As needed, Professor Garrod delivers mini-lectures of 10-15 minutes to motivate in-class exercises by providing more real-world context or greater technical depth than pre-class videos.
Students view videos created by the instructor or others. The videos are intended to be an introduction to the course material that cannot be found in a textbook.
Students are not offered external incentives to watch the videos before class, but Professor Garrod clearly communicates what would be gained (or lost) by watching (or not watching) videos before class.
Class activities are designed to build on particular aspects of the videos. The close alignment of challenging class exercises with the pre-class materials (videos, readings, etc.) quickly reinforces the value of preparation.