Jyväskylä, Finland

Human Factors Methodology and Analysis in Programming Language Design

when 5 August 2019 - 9 August 2019
language English
duration 1 week
credits 3 EC

Early 21st century computer scientists use a daunting array of programming languages and products. Data from the academic literature shows clear evidence that small differences in the design of these languages has an effect on human productivity, potentially impacting more than $407.3 billion in the U.S. alone. While how to evaluate the technical impacts of a programming language is rather clear in the literature, empirical methods are rarely taught in computer science. We will demystify the topic, giving students the tools to run and evaluate their own evidence-based experiments using state-of-the-art empirical methods.

To accomplish this, we will take a deep dive into two key topics. First, we will discuss methodologies and statistical procedures for gathering and evaluating empirical data. This part of the course will pull heavily from the most rigorous traditions and evidence-standards used in medicine and psychology, including randomized controlled trial design and other procedures. Second, we will take a deep dive into what we already know about human factors and productivity in programming languages, including evaluating most of the major reliable studies on the topic.


Historical context for competing styles of experiments since the 1700s in medicine, psychology, and other disciplines
Methodology notations and study designs
Statistical Analysis in R
Language design impacts, including type systems, the role of notation/documentation, and other known factors.

Course leader

Lecturer: Andreas Stefik (University of Nevada, Las Vegas)
Coordinator: Antti-Juhani Kaijanaho

Target group

Jyväskylä Summer School offers courses to advanced Master's students, graduate students, and post-docs from the field of Mathematics and Science and Information Technology.

Masters and Doctoral students. Prerequisites: An introductory course in statistics

Course aim

1. Students will understand how to construct and run empirical studies in the context of software engineering and programming language design.
2. Students will understand how to analyze data from empirical studies, with an emphasis on human factors metrics used in software engineering and programming language design.
3. Students will understand the history of data gathering and empiricism, including anti-fraud procedures, in disciplines like medicine, psychology, and epidemiology.

Fee info

EUR 0: Participation in the Summer School courses is free of charge, but students are responsible for covering their own meals, accommodation and travel costs as well as possible visa costs.


Jyväskylä Summer School is not able to grant Summer School students financial support.