CS enrollments at many American universities have surged, with class sizes that now dwarf the booms of the 1980s and the dot-com era. This enthusiasm on campus is mirrored in the job market: the U.S. Bureau of Labor Statistics predicts that 62% of the growth in science-related jobs between 2010 and 2020 (excluding healthcare) will be in "Computer Occupations." And last month, President Obama kicked off CS Education Week with a short Youtube video addressed to young people, stating: "Don't just play on your phone. Program it."
Universities and other entities are scrambling to keep up with this demand, both in and out of the classroom. The ascendance of the MOOC (Massive Open Online Course) has provided universities with a tool to expand their reach beyond their own walls, with top courses attracting tens of thousands of active students in a single offering. The courses and supporting tools developed for MOOCs can also be used to help meet the demands of students on campus. How best to apply MOOC resources to the university classroom remains an open question.
In this talk, I'll discuss my role in the creation of Princeton's highly successful Algorithms MOOC, as well as how I've applied the tools developed for that MOOC to provide scalable instruction in our Data Structures and Algorithms course. In particular, I'll discuss the flipped lecture experiment that we conducted during the Spring of 2013, as well as our plans to extend the experiment in the Spring of 2014. Along the way, I'll also explain my teaching philosophy.