Energy Efficient Programming (openHPI)

Energy Efficient Programming (openHPI)

Efficiency in computer science often refers to the runtime or memory usage, that a certain algorithm needs to produce an output. However, efficiency can also describe the amount of energy, that is consumed by the hardware during the runtime of an algorithm. This course explains the relevant computer architecture components, as well as different coding techniques, that allow computer scientists to design and program energy efficient algorithms.

Participants will learn how intrinsic functions work and how they can be applied to an algorithm to reduce its energy consumption. In addition, the course presents a hands-on approach to measuring energy consumption of programs using the Intel VTune Profiler tool. In contrast to the existing clean-IT courses on openHPI, this course provides a deeper dive into specific, energy efficient, architecture coding techniques.
In response to the growing energy consumption of software programs and digital technologies, energy efficiency is on the rise as a key metric for software development. However, computer scientists and developers often lack concrete, applicable tools, that help reduce an algorithm's energy consumption.
This course is aimed at students, researchers, or developers that work or study in computer science or a related field and want to learn more about energy efficient coding techniques.
In this course, you will learn:

  • The basic concepts of computer functionality and architecture, such as clock cycles, parallelism, execution pipelines, and superscalar architectures.
  • How to use coding techniques in C and assembly, to significantly minimize the number of instructions executed by the CPU
  • About intrinsics and macros, and how you can apply them to any algorithm to increase energy efficiency

The course consists of educational videos, multiple choice tests, and multiple, detailed coding examples. Depending on your prior knowledge and engagement with the coding material, you will spend 5-10 hours per week.
Prequisite knowledge for this course is fundamental programming experience in C, as well as basic knowledge about computer architecture concepts and functionality. Experience with an IDE (preferably Microsoft Visual Studio) is recommended to evaluate the programming examples.

What you'll learn

  • Understand the basic concepts of computer functionality and architecture
  • Learn how to use coding techniques in C and assembly, to significantly minimize the number of instructions executed by the CPU
  • Learn about intrinsics and macros, and how to apply them to any algorithm to increase its energy efficiency

Who this course is for
Students, researchers, or developers that work or study in computer science or a related field and want to learn more about energy efficient coding techniques

Course contents

Intro:
In this section, you'll get to know the course lecturer, Prof. Vesselin Iossifov. We'll also introduce the concepts and contents, that are used and covered in this course.

Week 1 - Motivation, Concepts, and Architecture:
The first week of the course presents all the basic knowledge you need to know, including: The motivation for energy efficient programming, computer functionality and architecture basics, and an introduction into x86-programming.

Week 2 - Coding techniques for energy efficient programming:
The second week dives deep into various coding techniques, that allow energy efficient programming of superscalar CPUs, including: Coding techniques in C and Assembler, as well as Streaming Instruction Extensions (SSE) and vector intrinsics.
I like, I wish:
This survey will be unlocked after the course has finished and provides the opportunity to leave detailed feedback on the course.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Firm Level Economics: Markets and Allocations (Coursera) Coursera
University of Illinois at Urbana-Champaign

Firm Level Economics: Markets and Allocations (Coursera)

In this class, we will derive equilibrium outcomes across a variety of market structures. We will begin by understanding equilibrium under a market structure called Perfect Competition, a benchmark construction. Economists have tools to measure the efficiency of market outcomes. We next consider the polar extreme of a competitive market: a monopoly market. We will determine the monopoly equilibrium price and quantity and efficiency properties. Much economic activity takes place in markets with just a handful of very large producers.

Jun 8th 2026
4 Weeks
Financial Analysis for Startups (Coursera) Coursera
Yonsei University

Financial Analysis for Startups (Coursera)

In the previous two courses, you have learned how to value startups using the discounted cash flow method and multiple methods. However, you have not learned how to estimate cash flows or earnings of startups. In this course, you are going to learn the concepts and usage of financial ratios. Using financial ratios such as profitability, liquidity, leverage, efficiency, and growth, you can tell financial health of a startup.

Jun 15th 2026
4 Weeks
Sustainable Energy Access for Communities (FutureLearn) FutureLearn
University College London,Centre for Lebanese Studies,RELIEF Centre,American University of Beirut (AUB)

Sustainable Energy Access for Communities (FutureLearn)

Discover energy access options to help communities move towards a renewable energy future. Explore sustainable solutions to address the challenges of energy access. There are 789 million people around the world who live without access to electricity. In addition, 2.8 billion people globally have no access to clean and safe cooking fuels and technologies. On this three-week course, you’ll explore the meaning of energy access and how to overcome its challenges to provide safe and clean energy for communities around the world.

Jan 10th 2022
3 Weeks
Feedback : A Powerful Tool for Efficiency and Effectiveness (edX) EdX
State Bank of India - SBI

Feedback : A Powerful Tool for Efficiency and Effectiveness (edX)

In most of the studies and literature on Organisational Behaviour, little has been said or written about feedback and its powerful impact. Because of its evaluative and corrective nature, it has a strong impact on the receiver's thoughts. There are two sides to every feedback situation: the giver and the receiver. It is critical to both give and receive feedback in order to improve and employee’s and a team's performance. When administered correctly, it has a significant influence.

Self Paced
Self-Paced
New Energy Technologies: Energy Transition and Sustainable Development (FutureLearn) FutureLearn
Grenoble Ecole de Management

New Energy Technologies: Energy Transition and Sustainable Development (FutureLearn)

Explore the development of new energy technologies and discover key energy challenges with this online course. In a world facing pressing energy challenges, the need for alternative energy and new energy technologies has never been more pressing. This course explores the new and upcoming technologies that may help solve some of the world’s biggest energy challenges - examining them from both a business and technological perspective.

May 3rd 2021
4 Weeks
Fondamenti di informatica (Federica Web Learning) Federica Web Learning
University of Naples Federico II

Fondamenti di informatica (Federica Web Learning)

Il mondo moderno è sempre più dipendente dall’Informatica e conoscerne i fondamenti e le relative applicazioni risulta essenziale per comprendere il funzionamento degli attuali Sistemi di Elaborazione delle Informazioni, oramai diffusi nei contesti più disparati ed imprescindibili per molte delle attività della nostra vita quotidiana. Il corso di Fondamenti di Informatica si propone di fornire ai discenti le nozioni preliminari alla base dell’informatica, ed in particolare quelle relative al trattamento delle informazioni mediante procedure “automatizzabili”.

No sessions available
13-24 Weeks
Sustainability in Architecture: An Interdisciplinary Introduction (edX) EdX
Universitat Politècnica de València,UPValenciaX

Sustainability in Architecture: An Interdisciplinary Introduction (edX)

This course introduces the basic elements and trends that define sustainability practices in Architecture today. It follows an interdisciplinary approach that includes performance assessment and urban policies. This course offers an interdisciplinary approach to sustainability in Architecture. Learners will be introduced to the basic elements of sustainability assessments (first model layer), as well as trends informing the space today.

Self Paced
Self-Paced
Energy Services (IST) MOOC Técnico
Instituto Superior Técnico, Universidade de Lisboa

Energy Services (IST)

This course introduces the concept of energy services and presents the modeling principles to design sustainable energy systems. The course will occur through a self-paced methodology, which means that will be open for a longer period and all the materials and evaluation are already available. Since there are not delivery limits, each participant can finish the course when most opportune during a year (15th March 2019 - 15th March 2020).

No session available
5-12 Weeks
Economic and Legal Aspects of Energy in Buildings (IST) MOOC Técnico
Instituto Superior Técnico, Universidade de Lisboa

Economic and Legal Aspects of Energy in Buildings (IST)

This course introduces the basic economic and legal aspects of applying energy efficiency in buildings. It introduces the different components that impact on energy prices, the main legal and regulatory frameworks applied to buildings, the methodologies to evaluate energy efficient projects in buildings, and the financial mechanisms used to support energy investments contracts.

No sessions available
5-12 Weeks
clean-IT: Towards Sustainable Digital Technologies (openHPI) OpenHPI
Hasso-Plattner-Institut

clean-IT: Towards Sustainable Digital Technologies (openHPI)

Digitalization is a game changer in the pursuit of a sustainable future. The latest digital technologies and applications like cloud, AI, and mobile devices enable us to achieve the Sustainable Development Goals and reduce carbon emissions in many sectors. Yet computer systems themselves have an immense energy requirement for their countless devices, data centers, applications and global networks. To effectively reduce the carbon footprint of digitalization, it is necessary to apply algorithmic efficiency and sustainability by design as guiding principles in digital engineering.

Mar 31st 2021
5-12 Weeks
Energía inteligente para un futuro sostenible (URJC) URJCx
Universidad Rey Juan Carlos

Energía inteligente para un futuro sostenible (URJC)

El panorama energético mundial, dominado por una demanda creciente de energía a escala global que se sustenta en el consumo masivo de energías fósiles, conlleva importantes retos a los que debe hacer frente nuestra sociedad. Planificar nuestro futuro energético es trascendental para lograr el avance de la humanidad. Sin embargo, no cabe cualquier solución, pues la necesidad de proveer de energía suficiente a una población mundial en constante e imparable crecimiento, debe compaginarse con una adecuada preservación del medio ambiente para seguir aspirando a un futuro sostenible de nuestra sociedad.

No session available
5-12 Weeks