HS21 – Software Evolution and Developer Productivity Seminar
News
- 2021-09-20: This course is an in-person class, attendance is expected (and required for the discussions).
- 2021-09-20: For the readings we will use Perusall. Make sure to create an account and sign up for the course specified in OLAT.
- 2021-09-20: Kick-off slides can be found here (PDF, 566 KB).
Overview
Software requires constant evolution due to changing customer needs, bugs that have to be fixed, or changes in the environment. Lehman’s first law of software evolution states that a software system must be continuously adapted, or it becomes less and less useful. The constant change poses many challenges, and both researchers and practitioners have recognized the importance of studying and supporting software evolution and the humans involved in the process. In this seminar, we will cover some of the most relevant studies, approaches, and techniques that researchers have looked at in this context.
In this seminar, students will work on a specific research topic in software evolution and developer productivity. By the end of the course, students will be asked to deliver a research proposal. Furthermore, the students will take part in a simulated peer-reviewing process for the proposals. Finally, they will share as a presentation the results of their work and discuss them with the class.
For this seminar, you will be asked to read, analyze and discuss research papers, as well as work on and write a scientific report about a proposed topic in software engineering.
Grading Scheme
This course 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 research paper. To pass this course, you must pass the research project (obtain at least 50%) and must obtain a 50% overall mark that is based on the following:
- 65%: Project, including continuous progress, meetings, write-ups (including final proposal and intermediate report), and presentation;
- 35%: Readings, including active reading and collective annotations and discussions (Perusall), response papers, class participation, leading discussion (in-person class attendance is mandatory), and peer reviews of project reports.
Prior Knowledge
Content of software engineering and programming / software construction.
Assessment
- Active reading of assigned papers, (collective) annotating and discussions (Perusall), response papers, and active class participation;
- Presentation and moderation of a discussion topic;
- Written proposal, scientific report, and oral presentations and discussions for a topic in software engineering;
- Feedback on reports written by others (peer review).
Learning Objectives
At the end of this course, students should:
- Have gained a deeper and broader understanding and knowledge of Software Engineering research by reading, analyzing, reflecting and discussing current and classic literature;
- Be able to identify and discuss research problems and research questions as well as identify relevant related work;
- Be able to write a scientific report, and present and discuss ideas on an advanced topic in Software Engineering research with a focus on software evolution and developer productivity;
- Be able to provide constructive feedback on a research proposal.
Organizational Matters
- At the beginning of the course, students will be assigned a topic, a paper (based on preferences), and a partner to work on this topic.
- For each lecture / discussion session:
- Read the assigned papers on perusall and collectively add annotations (comments and questions).
- Each of the two teams assigned to a paper in the lecture will present their paper and another relevant related paper they identified on the topic to the rest of the class (max 15 mins). Make sure to put both papers in context of each other and don’t just summarize one after the other. After the presentation, moderate the discussion (25mins), make sure to prepare for it. The assigned teams also have to make sure to have read the other paper on the topic.
- All other students: identify one additional paper related and relevant with respect to the topic and the given two papers; write a short response paper (max. 200words) of the additional paper. Do not just summarize it but provide your own perspective, thoughts on it. Name the short response LASTNAME_FIRSTNAME_WEEK.pdf.
- Note, the additional paper has to be a full paper (i.e. >=9 pages) and from a top tier conference, such as ICSE, FSE, CHI.
- Each team has to draft a research proposal in the area of their topic and present their draft. The draft should be a maximum of 3 pages (+ pages for references) and should have a motivation, related work section showing the relevance of the research idea/question, and a section on the research question and approach. Note, the major focus of the draft should be on the related work overview and it should not just be an enumeration of other papers in the area.
- Until the end of the course, every team then refines their research proposal, writing a more complete related work section, specifying in more detail how they would go about addressing/answering the research question they pose (study method / study design), and what the motivation is. The final research proposal should be a max. 6 pages (+ pages for references). Again, the main focus is to have a good review of related work.
- At the end of the course, the proposals are submitted and peer-reviewed by other students.
- At the last session the proposals are presented by the respective teams and the proposals will be peer evaluated by the reviewers.
Schedule and deadlines (tentative)
<TODO>
Topics
<TODO>
Paper format (ACM)
All authors should use the official “ACM Primary Article Template”, as can be obtained from the ACM Proceedings Template page. LaTeX users should use the sigconf option, as well as the review (to produce line numbers for easy reference by the reviewers) options. To that end, the following LaTeX code can be placed at the start of the LaTeX document:
\documentclass[sigconf,review,anonymous]{acmart}
Lecturers | |
Time & Location |
Anastasia Ruvimova (Office: BIN 2.B.17; ruvimova@ifi.uzh.ch) |
Lecture Day and Time |
Tuesdays, 10:15 – 11:45, Room BIN-2.A.10 |
Language |
English |
AP (ECTS) |
3 points |
Target Audience |
BSc and MSc students in Informatics. |
Prerequisites |
Software Engineering |
Registration |
Registration at the kick-off meeting & Modulbuchung |
Contact |
Please email Alexander Lill for any administrative matters |
Tools |
Perusall for active reading and annotating; OLAT and this course page for material and announcements |