Student Projects
These are example topics for Bachelor’s and Master’s theses. The concrete scope and methods are flexible and can be adapted to your interests and background. All projects combine practical software work with a clear focus on sustainability and energy efficiency in computing.
You are very welcome to bring your own ideas as well – I am always happy to discuss new project proposals.
The overarching goal of all topics and my work is to reduce the carbon emissions of modern digital infrastructure!
If you are interested or have questions, please feel free to contact me:
📧 geerd-dietger.hoffmann@uni-potsdam.de | hoffmag@htw-berlin.de
How bad is computing really?#
Everyone is citing numbers from Freitag et al. from 2020 but there is no up to date paper on how much emissions our modern ICT infrastructure really emits. The idea of this thesis is to write a paper and calculate the number based off public data. A big part will be to look into AI and see how this has changed the landscape and project the future based of what the companies are committing.
Global ping times#
Location shifting can save considerable amounts of carbon through using “greener” electricity. But an argument people often have is that access times are not sufficient. There is public data on ping times between servers. The idea of this project is to take this data and then overlay the grid intensity. Like this people can chose their source country and see which country has the greenest grid mix while staying under a certain threshold. I have created a first visualisation based of the ping times under
http://carbonmap.sensationtech.com/
which can be used as a starting point.
Make testing carbon aware#
Currently a lot of tests are run on every push. This is often not needed and a waste of resources. What I propose is to take the grid intensity into the testing pipeline. On every test we map code to tests. So we know which test tests which lines of code. When a new commit is pushed we check which lines have changed and then execute only these tests. Like this we can save real energy/ time. If the grid is very green we can do more tests if dirty we do less tests. Like this at some stage we should run all tests but only when the grid is “green”. I would use a language like python in which it is quite easy to get the mapping lines of code to tests. Also there is some previous work and a working system is not to hard so one can iterate on a functioning protoype.
The state of the German Internet#
I want to look at all the websites that have a .de ending from an environmental sense. So
- where are they hosted? Do we know if they are hosted with green power. What are the DNS a records, MX records?
- do they follow rules of green software development. What rules can we apply to static html?
https://patterns.greensoftware.foundation/catalog/web/
maybe size is a good proxy to go by? - Could you somehow measure all of them. How long would it take? What would be a good filter to look at the top n sites.
- Maybe we could measure them with something like webnrg or co2js
- Also it would be interesting to see how many have advertisement or something included.
We could get the common crawl for .de https://data.commoncrawl.org/crawl-data/CC-MAIN-2026-04/index.html
Massive Dataset Creation#
To systematically optimize code for energy efficiency, we need large datasets of programs whose performance and energy usage are well understood. In this project, you will help to build such a dataset.
The core idea is to use locally hosted large language models (LLMs) to generate source code in specific programming languages for well-defined tasks. This code will then be:
- Automatically tested to ensure correctness.
- Executed and measured using the Green Metrics Tool to obtain accurate energy and performance data.
Possible aspects of the thesis include:
- Designing robust prompting strategies for LLM-based code generation.
- Building an automated pipeline from code generation to testing, measurement, and storage.
- Analyzing the resulting dataset to understand patterns in energy usage across languages, tasks, or implementations.
This topic is well suited if you are interested in software engineering, programming languages, automation, and AI/LLMs, and would like to contribute to open research infrastructure for sustainable computing.
Energy usage machine prediction#
In practice, we often want to estimate the energy usage of a program on a machine we do not directly have access to. For example, this is important for intelligent load balancing, virtual machine placement, or capacity planning in data centers. Currently this is not possible!
The idea of this project is to use ProcPower to create energy models for multiple hardware platforms and then investigate how far measurements from one machine can be transferred or adapted to another.
Possible aspects of the thesis include:
- Collecting energy and performance traces on different machines using ProcPower.
- Building and evaluating predictive models that estimate energy usage on a target machine based on data from a source machine.
- Investigating which hardware and workload characteristics are most important for successful transfer (e.g., CPU architecture, frequency scaling, memory, I/O patterns).
- Discussing implications for scheduling, VM placement, and green cloud strategies.
This topic is a good fit if you are interested in systems, performance measurement, data analysis, and modeling, and want to work on methods that can directly inform more energy-efficient operation of servers and cloud infrastructures.
LLM Comparison#
Currently llms are run in huge data centers that are highly centralized and monopolized. Whereas modern consumer hardware (laptops/ desktops/ phones) have very advanced GPU chips and can run models locally. This has a multitude of advantages not only next to data security but it might even be more sustainable. In this project the idea is to do a proper life cycle analysis with embodied emissions and all the aspects that go into running an llm. It should also look at resigning models as the dynamics change here. There are already projects like https://ollama.com/ that make the local deploy very easy.