Skip to main content

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 integrating 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.

Dr Ruzanna Chitchyan


Popular posts from this blog

Converting probabilities between time-intervals

This is the first in an irregular sequence of snippets about some of the slightly more technical aspects of uncertainty and risk assessment.  If you have a slightly more technical question, then please email me and I will try to answer it with a snippet. Suppose that an event has a probability of 0.015 (or 1.5%) of happening at least once in the next five years. Then the probability of the event happening at least once in the next year is 0.015 / 5 = 0.003 (or 0.3%), and the probability of it happening at least once in the next 20 years is 0.015 * 4 = 0.06 (or 6%). Here is the rule for scaling probabilities to different time intervals: if both probabilities (the original one and the new one) are no larger than 0.1 (or 10%), then simply multiply the original probability by the ratio of the new time-interval to the original time-interval, to find the new probability. This rule is an approximation which breaks down if either of the probabilities is greater than 0.1. For example

1-in-200 year events

You often read or hear references to the ‘1-in-200 year event’, or ‘200-year event’, or ‘event with a return period of 200 years’. Other popular horizons are 1-in-30 years and 1-in-10,000 years. This term applies to hazards which can occur over a range of magnitudes, like volcanic eruptions, earthquakes, tsunamis, space weather, and various hydro-meteorological hazards like floods, storms, hot or cold spells, and droughts. ‘1-in-200 years’ refers to a particular magnitude. In floods this might be represented as a contour on a map, showing an area that is inundated. If this contour is labelled as ‘1-in-200 years’ this means that the current rate of floods at least as large as this is 1/200 /yr, or 0.005 /yr. So if your house is inside the contour, there is currently a 0.005 (0.5%) chance of being flooded in the next year, and a 0.025 (2.5%) chance of being flooded in the next five years. The general definition is this: ‘1-in-200 year magnitude is x’ = ‘the current rate for eve

Coconuts and climate change

Before pursuing an MSc in Climate Change Science and Policy at the University of Bristol, I completed my undergraduate studies in Environmental Science at the University of Colombo, Sri Lanka. During my final year I carried out a research project that explored the impact of extreme weather events on coconut productivity across the three climatic zones of Sri Lanka. A few months ago, I managed to get a paper published and I thought it would be a good idea to share my findings on this platform. Climate change and crop productivity  There has been a growing concern about the impact of extreme weather events on crop production across the globe, Sri Lanka being no exception. Coconut is becoming a rare commodity in the country, due to several reasons including the changing climate. The price hike in coconuts over the last few years is a good indication of how climate change is affecting coconut productivity across the country. Most coconut trees are no longer bearing fruits and thos