HS24 – Human Aspects of Software Engineering

News

First lecture on Monday September 16th, 2024, at 10:15 in BIN-2-A.10

Overview

Producing great software as fast as the market demands requires great, productive developers. Yet, what does it mean for an individual developer to be productive, and how can we best help developers to be productive? To answer these questions, researchers in software engineering have been, and are still predominantly looking at the output that software developers create, such as the applications, the source code, or the test cases. This output-oriented focus misses one of the most essential parts in the process of software development: the individual developer who creates the software.

Recent advances in technology afford the opportunity to collect a wide variety of detailed information on a software developer and her work, ranging from the number of resolved work items all the way to the cognitive load the developer experiences while working. The availability and accessibility of data on each developer is enabling us to explore questions about developer productivity in powerful new ways.

In this course, we investigate how we can ensure that human ingenuity and smarts are being amplified by the processes and tools used to create systems, rather than the humans spending precious cognitive effort dealing with mundane or unnecessary problems.

Course Content

The course will be adjusted according to your feedback, interests, and experience. This is an overview of the kinds of topics we could cover:

  • quantitative & qualitative evaluation of software engineering
  • (biometric) sensing in software development
  • developer retrospection, productivity, and well-being
  • work fragmentation and interruptions
  • code navigation & exploration
  • program comprehension
  • software development tools and environments.

This module takes place in person, class attendance is expected. Materials are made available online.

In this course, you will be reading research papers, leading interactive paper discussion(s), critiquing papers, participating in peer reviews, and undertaking steps involved in a research project. The research project component will be flexible but likely involve activities such as identifying research questions, designing (and potentially developing) an approach or study to address these research questions, analyzing data, and writing up the steps. Depending on the class size, certain parts of the research project component may be completed in groups of up to three. The intent of the project is to get students to think about a research problem, identify a research question, investigate it, and write it up in a scientific manner.

Grading Scheme

This course will be a project and paper-based course. The research project component is the primary component of the course; the outcome of all projects and/or project steps will be write-ups (similar to research papers or parts thereof). To pass this course, you must pass the research project component (obtain at least 50%) and must obtain a 50% overall mark that is based on the following:

  • 65%: Project, including write-ups (including proposal and intermediate reports), presentation, continuous progress, and meetings;
  • 35%: Readings, including response papers, class participation & leading discussion (in-person class attendance is mandatory), and peer reviews of project write-ups.

Academic Conduct

Unless otherwise stated, all work in this course is to be done on an individual basis. Students should know where to draw the line between getting legitimate outside assistance with course material and outright cheating. Students who obtain too much assistance without learning the material ultimately cheat themselves the most. Submitting the work of another person as your own (i.e., plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those permitted for quizzes and exams. Such actions will not be tolerated. All offenses will be reported to the Department of Informatics, University of Zurich.

For more information on the treatment of plagiarism at UZH, please refer to The Information Sheet on the Treatment of Plagiarism