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 the research skills needed to apply and assess these ideas in your own careers and contexts.

Course grades will be based on the following activities:

  • (30%): 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.
  • (10%): you will write brief (1-2 page) technical summaries of several papers, to show whether you can distill the essense of a paper into a brief description for others.
  • (25%): you will conduct a literature review on a topic of our mutual agreement, synthesizing results from several research papers. Which papers you select and how you selected them will affect your grade.
  • (10%): you will redesign the research study from a published paper, with the goal of refining or improving the scope and findings of the original study.
  • (25%): you will design (but not execute) a research study for a question of mutual agreement. You'll have to defend your framing of the question, your methodological choices, and your intended data analyses.