This two-week free course is about resource-efficient software engineering. We'll discuss how to apply climate-friendly decisions and actions along the life cycle of software development and their context. In the first part of the course, we will address the area of tension between climate and digitization. We will look at how IT causes CO2 emissions and how IT technologies can save CO2 emissions. What are the possibilities in software development to make processes more sustainable? What are the main problems in software development? How can they be solved? While the first part is theory oriented, the second part will be practical and will have specific examples. Therefore, we will give you some detailed insights into programming resource-efficient software.

Self-paced since April 13, 2022
Language: English
Beginner, Programming

Course information

Throughout two weeks, we will address the question of how resource-efficient software engineering works. At the end of each week, you will get the chance to test your knowledge gathered in the course with the help of self-tests and homework.

Week 1: In the first week, we will see what the ecological footprint of digitization is. We'll discuss how digitization helps to save CO2, and also also see where IT causes CO2. Next, we will take a closer look at the roles that commonly exist in the IT industry (e. g. developer, IT architect, leader) to identify which opportunities for resource-efficient actions exist in each role.

Topics:

  • CO2 savings with IT, CO2 consumption caused by IT
  • Basic concepts
  • Perspectives of different roles: users, architects, developers, leaders, regulatory framework

Week 2: Based on the fundamentals learned in week 1, we'll discuss which barriers exist that hinder us from acting more ecologically in the process of software development. Then we'll see how we can overcome these barriers and find solutions. The main part of the second week covers solutions, i. e. examples to show what a developer in particular can do in the development of his software to act in the most climate-friendly way possible.

Topics:

  • Barriers and solution strategies for sustainable digitalization
  • Choice of technology
  • Software & system architecture
  • Computational complexity
  • Data structures
  • Storage and network
  • Caching

Key data on the course:

  • Required skills: general IT knowledge, solid mathematical knowledge, basic knowledge of programming in Python. By the way, we use Python in the course not because it's particulary efficient, but because many people know it.
  • Course level: Basic, but the course also goes in-depth
  • Target group: Everyone interested in sustainable software engineering
  • Effort: 3-6 hours per course week

Who this course is for

  • Software Developers
  • Software Architects
  • Product Owner

Course contents

  • Introduction:

    Before we dive into the content, let's get to know each other! The teaching team is introducing itself, so that you know who you will deal with in the upcoming two weeks!
  • Week 1:

    In the first week, we will see what the ecological footprint of digitization is. We'll discuss how digitization helps to prevent CO2, and also also see where IT causes CO2. Next, we will take a closer look at the roles that commonly exist in the IT industry (e. g. developer, IT architect, leader) to identify which opportunities for resource-efficient actions exist in each role.
  • Week 2:

    Based on the fundamentals learned in week 1, we'll discuss which barriers exist that hinder us from acting more ecologically in the process of software development. Then we'll see how we can overcome these barriers and find solutions. The main part of the second week covers solutions, i. e. examples to show what a developer in particular can do in the development of his software to act in the most climate-friendly way possible.
  • I like, I wish

Enroll me for this course

The course is free. Just register for an account on openHPI and take the course!
Enroll me now

Learners

Current
Today
2,981
Course End
Apr 13, 2022
2,677
Course Start
Mar 30, 2022
1,909

Certificate Requirements

  • Gain a Record of Achievement by earning at least 50% of the maximum number of points from all graded assignments.
  • Gain a Confirmation of Participation by completing at least 50% of the course material.

Find out more in the certificate guidelines.

This course is offered by

Mathias Renner

Mathias Renner works at Frachtwerk GmbH as an IT consultant, IT architect and product owner. He supports customers especially in the context of cloud-native data platforms with open source. As a business informatics specialist, he not only builds bridges between IT and business, but also between IT and ecology, in order to address the ecological challenges of our time in a technological context. He shares his knowledge as a lecturer at several universities, talks, and in various publications. Read more at Mathias-Renner.com

Ferdinand Mütsch

After having achieved a degree in information engineering and management at Karlsruhe Institute of Technology, Ferdinand Mütsch is working as a freelance software engineer and passionate open-source contributor to various projects. His focus is on design, architecture and development of efficient, scalable and robust software in the context of cloud-based web applications. Ferdinand strives for leveraging software to make a positive impact to society and is especially interested in sustainability in the context of information technology. More at muetsch.io.

Johannes Rudolph

Johannes Rudolph is co-founder and CTO of meshcloud GmbH. His professional focus is on building cloud foundations for the successful implementation of multi-cloud strategies. From this perspective, he looks not only at the technological possibilities of the cloud, but also at the potential to use them for organizational, social and environmental improvements. Johannes has a M.Sc. in Business Informatics (TU Darmstadt) and a soft spot for building efficient and scalable software systems.

Robin Lamberti

Robin Lamberti studied Computer Science at Karlsruhe Institute for Technology and works for Frachtwerk GmbH as a Software Engineer, IT-Architect and Product Owner, specializing in distributed systems and web applications. There he designs modern software solutions for complex problems and implements these. What drives him personally is the potential that IT has for the life of individuals and society in the long term. For that, the sustainable and as-needed usage of technology and the impact it has is of special importance to him.