Human Aspects of Software Engineering

NEWS

Course Description

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 the 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.

This is an overview of the kinds of topics we will cover:

  • developer productivity

  • biometric sensing

  • tool support for software developers

  • work fragmentation and interruptions

  • self-monitoring and goal setting

  • program comprehension

  • software evolution

  • quantitative and qualitative evaluation of SD research

This will be a project and paper-based course. The research project is the primary artifact of the course; the outcome of all projects will be a short research paper.  The project component will be flexible but will likely involve some programming/analysis. Depending on the class size, the projects may be completed in groups of up to three. Projects may be completed in groups of up to two. The intent of the project is to get students think about a research problem, identify a research question, investigate it and write it up.

In this course, you will also be reading research papers and writing short response papers for each class in preparation, leading interactive paper discussion(s), and writing peer-reviews of papers.

People

Thomas Fritz (Instructor)

Manuela Züger (Course Assistant)

Organizational Aspects

Lecture Day and Time Mo 10:15-11:45
Location 1.D.29
Credits 6.0
   
MINF4532 VVZ Link

Grading Scheme

  • 65%: Project, including continuous progress, meetings, write ups (including final proposal and intermediate report) and presentation
  • 25%: Readings, including response papers, class participation & leading discussion.
  • 10%: Peer reviews of project reports

Note: To pass this course, you must pass the research project (obtain at least 50%) and must obtain an overall mark of at least 50%.