Skip to main navigation Skip to search Skip to main content

URL study guide

https://studiegids.vu.nl/en/courses/2026-2027/X_418158

Course 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”. All assessment components (e.g., team project and individual presentations) have a resit opportunity.

Literature

Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. Experimentation in software engineering. Springer, 2012.I. Malavolta, V. Stoico, P. Lago. Ten Years of Teaching Empirical Software Engineering in the context of Energy-efficient Software, 2024. Online: https://arxiv.org/abs/2407.05689 Material distributed on Canvas.

Target Audience

MSc Computer ScienceMSc Computer Security

Additional Information

According to the BETA guidelines on use of GenAI, the level of GenAI use allowed in this course (and its assessments) is: 2B. Specifically: GenAI content is allowed in the final submission only to improve text clarity and quality (e.g., improve writing and fix grammar mistakes). In any case, as a course related to (environmental) sustainability, and due to the proven high energy usage of AI, we encourage manual checks or the adoption of grammar checkers, such as Grammarly, for these tasks instead of AI.Students must include a declaration of use of GenAI in their work, stating how they used GenAI. It is up to the student to be concise and complete. Examples of declarations include: GenAI log/chat history, an appendix with prompts or the original work before use of GenAI, and a reflection on how GenAI was used and why. The specific format for this declaration will be shared on Canvas during the course.Further notes on the usage of GenAI in this course will be shared on Canvas during the course. In general, students will always be held accountable for the correctness, completeness, and coherence of all text used in an assignment.

Recommended background knowledge

Python programming and shell scripting. Basic statistical analysis techniques (descriptive statistics and most common statistical tests). Academic writing.
Academic year1/09/26 → 31/08/27
Course level6.00 EC

Language of Tuition

  • English

Study type

  • Master