Skip to content

CMU 17-803: Empirical Methods


  • Offered by: CMU
  • Prerequisites: solid foundations of computer science
  • Programming Languages: Any
  • Difficulty: 🌟🌟🌟
  • Class Hour: 100 hours

This course focuses on a relatively "unfamiliar" area — empirical research in software engineering. It is taught by Bogdan Vasilescu, who has extensive expertise in empirical studies and open-source software research.

The course is offered by CMU for PhD students pursuing research in this field. It covers a range of qualitative and quantitative research methods, such as interviews, qualitative coding, survey design, and various statistical analysis methods, helping students understand, learn, and engage in empirical research. The course also introduces the extraction and integration of data from software repositories like GitHub and Stack Overflow, applying statistical modeling, social network analysis, and other data analytics techniques.

Although the field of computer science traditionally focuses more on engineering technology, empirical research is essential for the design, evaluation, and potential social value of tools and technologies. For example, it involves evaluating new algorithms or new technological frameworks, analyzing relevant data within a field, and understanding challenges that practitioners might face. This course can expand and complement a focus on technical aspects. For those interested in pursuing research involving empirical studies in the field of software engineering, this course could be an excellent introduction.

Course Resources

Personal Resources

All the resources and assignments in this course are maintained in bvasiles/empirical-methods - GitHub.