CS 569, Fally 2014
HCI meets Software Development: The Case Study

An Empirical Method of Understanding Humans' Use of Languages, Environments, and Practices of Software Development

Instructor: Dr. Burnett
My Office: KEC 3051
E-Mail: mylastname @ eecs ...
Dr. Burnett's Office Hours are listed on my home page
Class location is BRC 136. (BRC is the Beth Ray Center, near the CH2MHill Alumni Center.)

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

How to sign up

Register for 4 hours of CS 569. It will count toward the Software Engineering ("Real World") category of requirements.


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

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 little or 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.

Note: This class does not have a TA, and so not all assignments can be graded. You will not know in advance which assignments will be graded and which will not.

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. (Available at the OSU Bookstore.)

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: Oct. 21, 2014