Teaching sustainability in computer science?

The Faculty of Engineering at the University of Bristol ran a discussion panel on if and how should (environmental) sustainability be taught to the Engineering students. Here are my 2 pence on teaching sustainability to Computer Science students.

Why should our students engage with Environmental Sustainability in their formal education?

Well because the ICT/Software impacts and drives every activity in the present society – from the day to day business to entertainment, education, and policy. This impact is felt in two ways:

  1. through production and use of ICT equipment and software, and
  2. through changing the way that the society itself operates.

I will only mention some brief points about the impact of production and use of ICT:

  • Energy Consumption of the ICT systems seems to be growing unstoppably, e.g.,
    • In 2018 the data centres were accountable for  about 1 % of the global electricity use
    • The energy consumption of the ICT is projected (in worst case) to account for 20% of the world electricity consumption in 2030 [1].
  • Materials, including rare earth metals are also increasingly depleted for use of ICT hardware production. Even worth, as much of the hardware is quickly outdates and distracted, it creates the problem of e-waste.
  • Waste form ICT hardware is either put into landfill or damped at the developing countries.

So yes, to point out a few issues that we, as computer scientists and engineers we need to learn to think about:  how about teaching and learning about how to minimise energy and material consumption, how to design modular and long-living hardware and software solutions, how to make our software maintainable and hardware bio-degradable?

But, even more importantly, Software Engineers must learn about the impact that their software solutions have within their situated environments.

Let’s look at the problem of traffic congestion: we all know that when too many vehicles are trying to get through a given road, they create a traffic jam; as the vehicles use (fossil) fuels while sitting in a traffic jam, they ends up generating excessive CO2. So what can a software engineer do to help? How about we some ride sharing software solutions, like Uber or Lyft?

Figure 1: Ride sharing software to reduce CO2 emissions.

We know that, as shown in Figure 1, this software will reduce the need for car ownership and as lesser number of people own and drive their cars, it will also reduce traffic congestion problem!

We already teach our students how to develop such applications. They already learn about platform development for data collection, and data analytics, distributed systems development and could computing and user interface design: all that they need to develop a ride sharing application is well covered in the current Computer Science curriculum.

But what happens once this application goes out to be used by people? It turns out that car ownership does decrease, so great. But, as studies into ride sharing show, these also increase the distance travelled by the shared cars. Even worse, as ride sharers become accustomed to the Uber/Lyft services, which are convenient and cheap compared to “normal” taxies, they start to substitute the journeys previously taken by public transport (i.e., bus or train) for ride sharing services.

In short, traffic congestion and respective CO2 emissions do not improve at all, as shown in Figure 2.

Figure 2: Longer term environmental impact from use of ride sharing.

I suggest this is because, while the software developers for the ride sharing solutions may have wished to reduce environmental impact, they did not know  how to account for such an impact. As and education providers, we do not teach our Software Engineering students about:

  • Systems Thinking,
  • Environmental Life Cycle Assessment,
  • Responsible Innovation and Software Impact Assessment, about
  • Human Behaviour and Rationality, or
  • Sustainable Living.

What should be offered to students within our faculty with regards to Environmental Sustainability?

Well, all of the above. Unless we teach our students to account for the human behaviour and longer term software use, software impact assessment and responsible decision making in what, how, and why is integrated into software solutions, we are not likely to see such solutions having any positive impact in addressing the challenges of the environmental degradation and climate change.

So how can we integrate Sustainability into our programs?

I suggest that each module taught to our students must cover content of how it relates to sustainability and sustainable development. So each module needs to be reviewed. As stated in the Karlskrona Manifesto for Sustainability Design [2,3]:

There is a perception that sustainability is a distinct discipline of research and practice with a few defined connections to software.

Whereas sustainability is a pervasive concern that translates into discipline- specific questions in each area.

So, we really do need to teach students about which questions does sustainability translate in each of our modules, and how to address these questions, some examples of these are shown in Fig 3.

Figure 3: Additional issues to consider in Computer Science Curricula.

References

[1] https://ictfootprint.eu/en/news/decreasing-ict-energy-consumption-%E2%80%93-power-data-centres-and-people%E2%80%99s-will-ictfootprinteu-webinar 

[2] The Karlskrona Manifesto for Sustainability Design, url: https://www.sustainabilitydesign.org/karlskrona-manifesto/

[3] Becker, C., Chitchyan, R., Duboc, L., Easterbrook, S., Penzenstadler, B., Seyff, N., Venters, C. C. (2015). Sustainability design and software: The Karlskrona manifesto. ICSE’15: 37th International Conference on Software Engineering. http://dx.doi.org/10.1109/ICSE.2015.179

——————————————-

This blog is written by Cabot Institute for the Environment member Dr Ruzanna Chitchyan, from the Department of Computer Science at the University of Bristol.

Why we need to tackle the growing mountain of ‘digital waste’

Image credit Guinnog, Wikimedia Commons.

We are very aware of waste in our lives today, from the culture of recycling to the email signatures that urge us not to print them off. But as more and more aspects of life become reliant on digital technology, have we stopped to consider the new potential avenues of waste that are being generated? It’s not just about the energy and resources used by our devices – the services we run over the cloud can generate “digital waste” of their own.

Current approaches to reducing energy use focus on improving the hardware: better datacentre energy management, improved electronics that provide more processing power for less energy, and compression techniques that mean images, videos and other files use less bandwidth as they are transmitted across networks. Our research, rather than focusing on making individual system components more efficient, seeks to understand the impact of any particular digital service – one delivered via a website or through the internet – and re-designing the software involved to make better, more efficient use of the technology that supports it.

We also examine what aspects of a digital service actually provide value to the end user, as establishing where resources and effort are wasted – digital waste – reveals what can be cut out. For example, MP3 audio compression works by removing frequencies that are inaudible or less audible to the human ear – shrinking the size of the file for minimal loss of audible quality.

This is no small task. Estimates have put the technology sector’s global carbon footprint at roughly 2% of worldwide emissions – almost as much as that generated by aviation. But there is a big difference: IT is a more pervasive, and in some ways more democratic, technology. Perhaps 6% or so of the world’s population will fly in a given year, while around 40% have access to the internet at home. More than a billion people have Facebook accounts. Digital technology and the online services it provides are used by far more of us, and far more often.

It’s true that the IT industry has made significant efficiency gains over the years, far beyond those achieved by most other sectors: for the same amount of energy, computers can carry out about 100 times as much work as ten years ago. But devices are cheaper, more powerful and more convenient than ever and they’re used by more of us, more of the time, for more services that are richer in content such as video streaming. And this means that overall energy consumption has risen, not fallen.

Some companies design their products and services with the environment in mind, whether that’s soap powder or a smartphone. This design for environment approach often incorporates a life-cycle assessment, which adds up the overall impact of a product – from resource extraction, to manufacture, use and final disposal – to get a complete picture of its environmental footprint. However, this approach is rare among businesses providing online digital services, although some make significant efforts to reduce the direct impact of their operations – Google’s datacentres harness renewable energy, for example.

It may seem like data costs nothing, but it how software is coded affects the energy electronics consumes. 3dkombinat/shutterstock.com

We were asked to understand the full life-cycle cost of a digital operation by Guardian News and Media, who wanted to include this in their annual sustainability report. We examined the impact of the computers in the datacentres, the networking equipment and transmission network, the mobile phone system, and the manufacture and running costs of the smartphones, laptops and other devices through which users receive the services the company provides.

In each case, we had to determine, through a combination of monitoring and calculation, what share of overall activity in each component should be allocated to the firm. As a result of this, Guardian News and Media became the first organisation to report the end-to-end carbon footprint of its digital services in its sustainability report.

But what design approaches can be used to reduce the impact of the digital services we use? It will vary. For a web search service such as Google, for example, most of the energy will be used in the datacentre, with only a small amount transmitted through the network. So the approach to design should focus on making the application’s software algorithms running in the datacentre as efficient as possible, while designing the user interaction so that it is simple and quick and avoids wasting time (and therefore energy) on smartphones or laptops.

On the other hand, a video streaming service such as BBC iPlayer or YouTube requires less work in the datacentre but uses the network and end-user’s device far more intensively. The environmental design approach here should involve a different strategy: make it easier for users to preview videos so they can avoid downloading content they don’t want; seek to avoid digital waste that stems from sending resource-intensive video when the user is only interested in the audio, and experiment with “nudge” approaches that provide lower resolution audio/video as the default.

With the explosive growth of digital services and the infrastructure needed to support them it’s essential that we take their environmental impact seriously and strive to reduce it wherever possible. This means designing the software foundations of the digital services we use with the environment in mind.
—————————-
This blog is written by University of Bristol Cabot Institute member Chris Preist, Reader in Sustainability and Computer Systems.

Chris Preist

This article was originally published on The Conversation. Read the original article.