URL study guide
https://studiegids.vu.nl/en/courses/2024-2025/X_418158Course Objective
Upon completion of this course, students will:- Learn the principles of Empirical Software Engineering. (Knowledge and understanding)
- Be able to operate in a lab environment and build a successful experiment for software energy consumption. (Applying knowledge and understanding) (Making judgements) (Lifelong learning skills)
- Become familiar with relevant research problems in the field of Green Software Engineering. (Knowledge and understanding)
- Understand and measure the impact of software over energy consumption. (Applying knowledge and understanding) (Making judgements)
Course Content
Students will work in teams to perform experiments on software energy consumption in a controlled environment. Students will have to carry out all the phases of empirical experimentation, from experiment design to execution, data analysis, and reporting. Students will be provided with examples of experiments coming from state-of-the-art literature, but they will have to choose by themselves the experimental subjects and hypotheses to test. During the lab sessions, students will be assisted for technical operation of the lab equipment as regards measurement and data gathering. Students will also receive the required training for data analysis and visualization using specialized software (e.g., R and RStudio).Teaching Methods
Lectures (H). Lab sessions (pra).Method of Assessment
Students will be assessed via (1) a team project and (2) an individual presentation. The team project will be carried out throughout the whole course by groups of 5 students; each part of the project will be discussed during the lectures, started during the labs, and completed as homework so that students will likely be on track within the course schedule. The result of the team project is about planning, designing, conducting, and reporting a successful experiment for software energy efficiency in a specific technological context, such as mobile applications, robotics, and microservices. In this way, students will put into practice the skills and techniques that they have learned during the lectures and develop their practical insights by applying them to real software. The experiment will be evaluated by the instructor starting from a written report describing the main aspects of the experiment and according to a shared assessment rubric (presented in the first lecture of the course). Presentations will be prepared as group work and they will be about the main points of the team project. Each student will present individually a part of the presentation, which will be graded as either “pass” or “fail”.Literature
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., &Wesslén, A. (2012). Experimentation in software engineering. Springer. Material distributed on Canvas.Target Audience
MSc Computer Science MSc Computer SecurityRecommended background knowledge
Basic programming/scripting skills. Basic statistical analysis techniques (descriptive statistics and most common tests).Language of Tuition
- English
Study type
- Master