TIES6824 Human Factors Methodology and Analysis in Programming Language Design (JSS29) (3 cr)

Study level:
Advanced studies
Grading scale:
Pass - fail
Language:
English
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2017-2018, 2018-2019, 2019-2020

Description

Content

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.

Outline:
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.

Completion methods

Lectures and Assignments, experiment practice

Learning outcomes

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.

Description of prerequisites

An introductory course in statistics.
Textbook (Optional): Andy Field, Jeremy Miles, Zoe Field, Discovering Statistics Using R, Sage, Los Angeles, CA. 2012.

Completion methods

Method 1

Select all marked parts
Parts of the completion methods
x
Unpublished assessment item