Past instances of CS 5220 have revolved around a lecture format, but starting this semester, we will use a flipped classroom approach in which students read out of class and spend the lecture period working together on reading discussions, performance modeling exercises, and practice through pair programming.
Why the change? There are really two reasons:
A recent meta-study on active learning shows unambiguously that students learn more from active learning techniques than from lecture [freeman2014]. In computer science, techniques such as pair programming [nagappan2003] [mcdowell2002], peer instruction, and media computation have been shown to improve student performance in introductory programming classes [porter2013], though more attention has been paid to CS 1 than to advanced courses. Moreover, there have been serious suggestions that “the teaching methods used by an instructor are a more accurate proxy for teaching effectiveness than anything else that is practical to measure” [weiman2015], which has made me think seriously about how my own teaching measures up.
I think I’ll learn something new from it! Much as I enjoy lecturing (and I do!), I suspect that diversifying my teaching style is going to teach me knew things both about teaching and about the material. We know that teaching experiences help graduate students improve methodological research skills [feldon2011]; I don’t think the effect goes away when one is a faculty member.
An explicit goal of this redesign is to make evidence-based design choices [cooper2009],[fossati2011]: by tracking both in-class and out-of-class work in version control, version logs will provide data to analyze how well different teaching methods worked. For example, short responses to a reading that are committed to a repository before class can be subsequently updated based on new understanding from class discussion; and by examining logs, we can identify common points of confusion and misunderstandings, and to see how well they are addressed by in-class work.