CS 564, Winter 2021

Instructor: Dr. Burnett
Dr. Burnett's Office Hours and Office Location are listed on my home page
Class location: Canvas and Zoom

Course Description

The course is about a particular empirical method in understanding humans' use of languages, environments, etc., in software development. There are many possibilities about empirical methods, and we can't cover them all. Thus, this course will focus on a method that is very useful for certain kinds of questions about the HCI of software development, but is not well understood in computer science: how to scientifically conduct and analyze case studies.

Note that this is not a statistics course, although we might touch on a couple of basic stats. If what you really want is a statistics-for-experiments course, I recommend the Stats 511 and/or 515 courses, which are excellent, and are specifically targeted to non-stats grad students.

Course objectives

You can think of this as a "research methods" course, focusing on the research method of doing the type of empirical work known as case studies. The goals are that by the end of this course, you will be able to:
  1. Choose when a case study is the right choice of empirical work.
  2. Design, conduct, and gather data in case studies...
  3. ... according to accepted ethical principles of dealing with human subjects.
  4. Analyze data in case studies using qualitative methods.
  5. Report case study empirical work in research publications.

Every year that I've taught this, one or two of the teams have decided to submit revised versions of their final case studies to research conferences. It's my understanding that everyone who has done this has eventually had their papers accepted (but not always on the first try).

Readings/assignments schedule


Contrary to what the catalog or scheduling system might say, the only prerequisite for this course is grad standing in Computer Science.

Mastery of English and Qualitative Empirical Work

This course's data will be qualitative -- examples are what people said during a design meeting, what they wrote in their bug reports, and so on. Not quantitative (i.e., not numbers of log-ins, etc.) This type of data will often be subtle and nuanced. Because of this, strong English skills are a must. Those who struggle with English will find this course problematic.

How the course will be conducted, method of instruction

You'll actually do a case study involving some aspect of software development, with a team member. I'm anticipating no programming in this course. There will be some lectures by me, but probably fewer than half of the classes will be like this. Much of the class will be studio style, with teams critiquing each others' work, and based on team presentations in which the class jointly provides feedback on some aspect of a team's case study. In short, it will be highly interactive. Due to the interactive style, class size is limited.


There will be one midterm, a number of interim assignments, and a final presentation of your case study. There is no final exam.

I have high expectations, and expect performance worthy of graduate students in computer science. Thus, in this class, "A" does not mean "adequate" or "nothing wrong" -- it means "excellent". For an A, you should expect to dig deep and get the most you can out of the class.



  1. Required, ISBN/SKU 978-1118104354, Per Runeson et al., Case Study Research in Software Engineering: Guidelines and Examples, 2012, Publisher: Wiley. Hardcopy on order at the OSU Bookstore. Hardcopy and kindle also available at amazon at a variety of prices. E-versions also available from other vendors, but -- electronic version is available free via the OSU Library. Check the course reserves if you have trouble finding it.)

We will also have selected readings from other sources, but you don't have to buy those.

Other Resources

Margaret M. Burnett
Date of last update: Jan. 4, 202