Table of Contents
Fetching ...

Teaching Energy-Efficient Software -- An Experience Report

Henrik Bærbak Christensen, Maja Hanne Kirkeby, Bent Thomsen, Lone Leth Thomsen

TL;DR

The paper investigates how to teach energy-aware software engineering by describing three distinct university approaches: an elective course on energy consumption, a software-architecture-in-practice module focusing on energy efficiency, and a specialization in energy-aware programming. It blends theory, measurement techniques (e.g., $RAPL$ and external power meters), and hands-on exercises (such as TeleMed experiments) to raise awareness and build practical skills. Across these approaches, the authors present learning outcomes, evaluation data, and qualitative reflections that reveal increased student awareness, but also considerable challenges in laboratory setup, data reproducibility, and the time burden of empirical measurements. The study contributes actionable lessons for curriculum design, including balancing theoretical and practical content and emphasizing automation and rigorous methodology to bridge the gap between energy-efficient theory and engineering practice.

Abstract

Environmental sustainability is a major and relevant challenge facing computing. Therefore, we must start teaching theory, techniques, and practices that both increase an awareness in our student population as well a provide concrete advice to be applied in practical software development. In this experience report, we focus on energy consumption of executing software, and describe teaching approaches from three different universities that all address software energy consumption in various ways. Our main contribution is reporting lessons learned from these experiences and sketching some issues that teachers must be aware of when designing learning goals, teaching material and exercises.

Teaching Energy-Efficient Software -- An Experience Report

TL;DR

The paper investigates how to teach energy-aware software engineering by describing three distinct university approaches: an elective course on energy consumption, a software-architecture-in-practice module focusing on energy efficiency, and a specialization in energy-aware programming. It blends theory, measurement techniques (e.g., and external power meters), and hands-on exercises (such as TeleMed experiments) to raise awareness and build practical skills. Across these approaches, the authors present learning outcomes, evaluation data, and qualitative reflections that reveal increased student awareness, but also considerable challenges in laboratory setup, data reproducibility, and the time burden of empirical measurements. The study contributes actionable lessons for curriculum design, including balancing theoretical and practical content and emphasizing automation and rigorous methodology to bridge the gap between energy-efficient theory and engineering practice.

Abstract

Environmental sustainability is a major and relevant challenge facing computing. Therefore, we must start teaching theory, techniques, and practices that both increase an awareness in our student population as well a provide concrete advice to be applied in practical software development. In this experience report, we focus on energy consumption of executing software, and describe teaching approaches from three different universities that all address software energy consumption in various ways. Our main contribution is reporting lessons learned from these experiences and sketching some issues that teachers must be aware of when designing learning goals, teaching material and exercises.
Paper Structure (16 sections, 1 figure, 2 tables)