The 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 Proposal Draft A one-page proposal for your project to me. Katja 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.
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 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.
Empirical Analysis of Developers
Augmented Reality in Software Engineering
There are also opportunities to develop tool support for developers using the Recon Jet glasses, which enable glancing additional information.
The steps are similar to the steps above:
A possible research question is:
< Still more to come soon!!! >
Note: there are also opportunities to develop tool support, 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).
This data set was captured from a range of up to 20 developers over a one to two week period. We installed a small monitor on their machines, tracked their computer interactions, and at the same time frequently asked them to asses various aspects, such as their productivity/interruptibility/emotions over the past hour and to describe the tasks they worked on. The data logged by the installed monitor contains events for each switch between different applications and it also contains information on the amount of keyboard and mouse usage. There is a lot of questions one could look at with this data and if you want more information on the data set, please just talk to us. A few of the possible research questions are:
For a range of developers, we collected biometric data for a two week period and at the same time frequently asked them to assess various aspects, such as their productivity/interruptibility/emotions over the past hour. In several cases we also collected computer interaction data which allows to ask even more questions on the data set and see which kind of collected data is best to predict certain aspects of a developer. Possible research questions are:
For a set of 12 professional developers and 10 student developers that each worked on 3 change tasks, we collected data on their eye gaze--where they looked--as well as which code they selected or edited within the IDE. A paper that presents one kind of analysis on the data is presented in Tracing Software Developers' Eyes and Interactions for Change Tasks and there is several further research questions that would be interesting to investigate. Here are a few of them:
The data set includes interactions from developers on 58 change tasks of the project Mylyn.Context. The data set includes the type of the interaction (whether it was an edit or a selection), the start and end time, the identifier of the element and the origin of the interaction. A similar data set was used in Developers' Code Context Models for Change Tasks. Possible research questions are: