Theory and Practice of Computing Education

Prof Kathi Fisler (office hours by appointment)

Spring 2017, Tues/Thurs 4pm, FL 311

Teaching intro computer science is easy, right? Show students a bunch of constructs and programs in a currently-popular language, then tell them to write a bunch of different programs that do something cool, right?. A growing body of research is unpacking how people actually learn computing, and it's a lot more subtle than most of us realize. This seminar will cover core material on how people understand and learn computing. We'll look at papers about learning in both novices and experts, in a variety of contexts, on topics including but beyond intro programming. Each student will read, present, and discuss papers, and complete a course project (individual topics to be determined in consultation with the instructor). Students will gain an appreciation for the subtleties of learning and teaching about computing, particularly as it applies to national trends around MOOCs, K-12, and exploding interest in learning computer science both in and out of formal schooling.

The course assumes that students have had a few courses (at any level) in CS. Assignments won't involve programming, but students need enough experience with programming, data structures, and basic software development to participate in discussions of papers about these topics. Regular and active class participation will be a key part of the course grade. Interested students who are unsure of their background should contact the instructor prior to registering for the course.

Expectations and Grading

This is a research seminar course, which means I will not give formal lectures. Instead, class sessions will be spent discussing research papers (which you must read before class), working on focused exercises, creating and critiquing research study designs, and discussing current events in computing education. You will critique each others' work during working sessions in class, partly as a way to deepen and foster discussion.

My goal is for you learn both the state of computing education as a research field as well as how to apply and assess these ideas in your own careers and contexts.

Course grades will be based on the following activities:

  • (25%): you should be both asking questions and contributing perspectives based on the readings and your experiences. This also includes participation in various in-class exercises around the topic at hand.
  • (50% total): written responses to readings (as assigned), as well as separate assignments on identifying assumptions, articulating a taxonomy, and designing and online education module. I'm not breaking out percentages for individual assignments as I grade this partly on how your work evolves over the course, which makes a preset formula hard to articulate.
  • (25%): you will conduct a literature review on a topic of our mutual agreement, synthesizing results from several research papers.