Navigation auf


Department of Informatics s.e.a.l

Research Project

The research project is the primary artifact of the course; the outcome of all projects will be a research paper (5 to 10 pages). Depending on the class size, the projects may be completed in groups of up to two. The intent of the project is to identify one or more research questions, investigate them and report the results in a scientific manner.

Project Deliverables

Project Proposal Draft A one-page proposal for your project to me. The course assistant and I will provide you feedback in a one-on-one meeting. The proposal has to include the problem/motivation for the project, the research question(s) and how you aim to address the research questions(s). This draft is important to be able to discuss the project ideas and help you express your ideas and us to understand what you are trying to do. However, the content and ideas are a lot more important than the formatting.

Final Project Proposal A one- to two-page proposal for your project. Basically, this will be a revised version of your original draft, including the comments from the meeting.

Proposal Presentation. A short (5 to 10 mins) presentation of the proposed project to the class. The goal is to share and discuss your ideas with multiple people.

Intermediate Drafts of the Report. To provide feedback on your results and write up early on, there will be intermediate steps for writing the final project report.

Written Report. The report includes your research project, the motivation, the research question(s), and the related work. The required length of the written report varies from project to project; all reports must be formatted according to the ACM format and submitted as a PDF in ACM paper format (two-column style).

Project Presentation. A presentation of the completed research project to the class.

Project Objective - Better Understanding and Supporting Developers

  • Identify a real problem developers face and/or investigate a specific aspect of software development within the context of the provided data sets.
  • Read related work and determine what has already been done and how your project is different (could also be that you are replicating previous work).
  • Identify a relevant and interesting research question in scope of the provided data sets.
  • Determine how to address the research question given the available data set, e.g. how to analyze the data, or which kind of tool support to build and how to evaluate it.
  • Perform the analysis / Build/Evaluate the tool.
  • Write up the results in a scientific way, including the motivation, related work, analysis, results and more.

Possible Project Topics

Below is a list of possible project topics, basically data sets and some questions. This is a good starting point for a project and you can choose one of the provided data sets. You can also come up with your own idea and we are happy to guide you.

In addition, there is the opportunity to develop tool support for developers, e.g. something for the IDE or independent of the IDE that is based on developers' work patterns or biometric data and that can support developers in their work. We have sensors and monitoring tools that you can also borrow for this and possibly extend (the tools).

Biometric Sensor Projects

A few types of biometric sensors are available to use in a hands-on project. You would develop a small tool using data of one of the sensors, e.g. a visualization of an interesting aspect of the sensor data or an approach to analyze an aspect of development using the biometric data. You will then evaluate your tool in a small user study.

Biovotion Everion Sensor

(Copyright by Biovotion)

The Everion is an arm band that measures heart related data, as the heart rate or heart rate variability, but also some skin related features. This information could for instance be used to detect the stress level of a software developer. More information can be found here.


Muse EEG Sensor

Muse EEG sensor (Copyright by Interaxon)

The Muse EEG sensor captures the electrical activity of the brain, which can indicate certain mental states as high cognitive load or relaxation. More information can be found here.

Developer Analysis & Retrospection

  • Gather data from software developers using PersonalAnalytics and analyze a question on developers, e.g. about their productivity, workflows or work fragmentation
  • Extend PersonalAnalytics (or a MacOS version) with another kind of data / kind of insight.

Biometric Data

For a range of developers and other knowledge workers, we collected biometric data and in some cases also computer interaction data for several days. Using this data, you might be able to address questions, such as:

  • What kind of emotions do developers experience while programming and can we use biometric data to automatically determine emotions?
  • Can we use biometric data to determine a developer's productivity?
  • Which kind of data is best to predict productivity or emotions, i.e. do we need to use biometric sensors or could we, for example, just use keyboard input?

Eye-Tracking Support & Data

We have several Tobii 4C eye-trackers that one can use to develop support, e.g. in the form of navigation/focus support for developers. 

We also have some eye-tracking data available that we collected with professional developers and that can be analyzed for questions, such as how does developers' eye gaze overlap with computer interaction, or what are developers' eye gaze patterns in an IDE.

Further Project Ideas

There are several more data sets / ideas that one can explore. Come and talk to me if you need more help.