TIES6824 Human Factors Methodology and Analysis in Programming Language Design (JSS29) (3 op)
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.
1. Historical context for competing styles of experiments since the 1700s in medicine, psychology, and other disciplines
2. Methodology notations and study designs
3. Statistical Analysis in R
4. Language design impacts, including type systems, the role of notation/documentation, and other known factors.
Lectures and Assignments, experiment practice
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.
Textbook (Optional): Andy Field, Jeremy Miles, Zoe Field, Discovering Statistics Using R, Sage, Los Angeles, CA. 2012.