Teaching sustainable software engineering
The long way ahead
Surveys among millennials indicate sustainability as one of their first priority, for example, when deciding on a purchase.
I believe it would be interesting to know whether this belief also holds for how millennials see the academic curricula, in particular, the software engineering one.
In fact, in the last few years a trend towards including sustainability and in particular *greenability* topics in the traditional software engineering curricula.
The definition of sustainability which I prefer in this context is the one offered by the United Nations:
Meeting the needs of the present without compromising the ability of future generations to meet their own needs.
There is already evidence of the need for better focus on sustainability. For example, a paper presented at ICSE 2016 surveyed more than 3800 developers in large companies, such as Google, IBM, and ABB. One of the statements that caught my eyes was:
I would love to have more education […] for designing and investigating battery lifetime! Anything to help raise awareness and break through attitude barriers.
What emerged is that, although many developers (many of which considered millennials) see sustainability as necessary, there seems to be a lack of teaching regarding the subject in higher education.
With my colleagues, we set up a survey to understand the current state of teaching sustainability in software engineering, targeting researchers and educators who usually publish and attend conferences and workshops dedicated to the topic.
We found out that:
- Although the focus is on technical aspects, educators perceive the social and environmental one as important. In turn, this calls for a multidisciplinary restructuring of the curricula which is hard to achieve due to lack of time and resources.
- Sustainability is either taught in short courses or as modules embedded in existing technical ones. The main topic of the classes is energy efficiency. It is mostly the educators who push for such courses rather than the institutions.
- The main reason for the lack of sustainability courses is lack of awareness, lack of adequate teaching material and technology support, and high effort required to come up with a new programme of study.
The open question remains how to develop a curriculum that focuses on sustainability and that at the same time suits the needs of millennial students.
Interestingly, during the workshop, Claudia de Melo (University of Brasilia) addressed a similar topic, cyber ethics education. Their work is fascinating as it combines a conceptual framework for analyzing cyber ethics SE curricula with an analysis of ACM/IEEE Computing Curricula. They offer suggestions on how to integrate cyber ethics in the curricula which I believe can also suit sustainability topics.
The roundtable discussion centered for most of the time on these two issues. The interest received from other researchers as well as the students attending the workshop gives me hope in the fact that, shortly, these wicked topics will the at the center of academic pedagogy even in SE.
If you are interested in teaching sustainability in software engineering and want to exchange ideas about a curriculum that addresses such issues, please be in touch @dfucci.