Current Term
Tutors: Carlos Medina and Simon Janzon
Join Our Bachelor Project in Advanced Robotics and AI
Are you ready to build robots that don’t just navigate the world, but truly understand and interact with it? Our cutting-edge bachelor project combines robotics, computer vision, and artificial intelligence to create the next generation of intelligent mobile manipulation systems.
What You’ll Build
You’ll work with a state-of-the-art robotic platform featuring a TurtleBot 2 mobile base with powerful Jetson Orin AGX computing, a 6-DOF robotic arm for precise object manipulation, and advanced sensors including RGB-D cameras and laser scanners. Using your existing 3D scene graph pipeline as the foundation, we’ll transform this hardware into an intelligent agent that can explore environments, understand object relationships, and perform complex manipulation tasks autonomously.
The Challenge: Teaching Robots to Understand Affordances
Current robots see objects but don’t understand how to interact with them. A door handle isn’t just a geometric shape—it’s something that can be grasped, turned, and pulled. A drawer isn’t just a box—it’s a container that can be opened to reveal hidden objects inside.
Your mission is to create robots that understand these affordances—the possibilities for interaction that objects offer. You’ll build systems that can discover interactive elements in everyday environments, plan complex manipulation sequences like opening a drawer to retrieve a hidden object, learn from experience and improve through interaction, and collaborate with humans to understand new objects and tasks.
This project is designed for students passionate about robotics, AI, and solving complex technical challenges. Prior experience with ROS, computer vision, or robotics is helpful but not required—we’ll provide comprehensive training and support throughout the journey. The kick-off meeting will take place on 14.10 10:00 in room SA-316, further registration is not possible. Participation in the kickoff meeting is mandatory.
This course may be held in English. The project is suitable for students at the bachelor level. If you are not sure whether you fulfill the requirements or if you have any questions, please send an email to carlos.medina-sanchez@uni-due.de
All spots for this course have been filled. We are no longer accepting registrations at this time.
Lecturer: Prof. Dr. Pedro José Marrón, Exercises: Theodor Josef Vogl, Bijan Shahbaz Nejad & Peter Roch
In dieser Vorlesung werden grundlegende Programmiertechniken in einer objektorientierten, modernen Programmiersprache (Java) besprochen.
Inhalte im Einzelnen:
- Einführung und grundlegende Struktur von Programmen
- Lexikalische Elemente, Datentypen und Variablen, Ausdrücke und Anweisungen
- Objektorientierte Programmierung: Klassen, Methoden, Vererbung, Interfaces, Abstrakte Klassen, Polymorphismus
- Standard und Utilityklassen
- Ein- und Ausgabe mittels Streams
- Ausnahmebehandlung
- Rekursion
- Datenstrukturen: Zeichenketten, Listen und Stapel, Suchbäume, Assoziative Datenfelder
- Generische Datentypen – Anwendung von Standardtypen
- Graphische Oberflächen – Einführung und Ereignisbehandlung
Die Übungen sollen die Studierenden anregen die in der Vorlesung gelernten theoretischen Konzepte praktisch anzuwenden. Dabei werden grundlegende Programmierkenntnisse erworben und die Studierenden werden in die Lage versetzt, einfache Programmieraufgaben selbstständig zu bearbeiten. Zusätzlich zu den Übungen werden Tutorien angeboten, welche Studierende mit besonderem Lernbedarf weiter unterstützen und die Inhalte der Vorlesung frühzeitig wiederholen.
Weitere Informationen zur Organisation sind auf der Moodleseite des Kurses zu finden. Den Einschreibeschlüssel erhalten Sie in der ersten Vorlesung.
Zeit und Ort:
Vorlesungen: Freitags 8 – 10 Uhr, Raum R14 R00 A04 (Start 17.10.2025)
Übungen: Freitags 10 – 12 Uhr, Raum R14 R00 A04 (Start 17.10.2025)
Programmierberatung:
Mittwochs 8 – 10 Uhr, Raum SE 108 (Start 22.10.2025)
Donnerstags 8 – 10 Uhr, Raum SA 215 (Start 23.10.2025)
Testate: Detailierte Auflistung der Termine über Moodle
Eintrag in LSF: Vorlesung, Übungen, und Testate
The objective of reaching net zero emissions of greenhouse gases set out by the European Climate Law requires a significant transformation of the mobility sector. Today, most emissions in this sector are caused by individual motorized trips. When compared with public transportation, these trips typically cause 3-4 times higher emissions. Interestingly, many persons tend to rely on individual motorized trips, even if more sustainable alternatives are readily available. An important reason for this is unconscious and habitual behavior (i.e., they use their car without thinking about alternatives because they are used to travel this way).
The goal of the project group SuMoC (Supporting Sustainable Mobility Choices) is to develop a set of high-quality mobile applications for devices running Android and iOS that actively incentivize users to reduce the environmental footprint caused by their mobility choices. Towards this goal, the apps shall be able to track the mobility of their users continuously during the day and to propose more sustainable alternatives for past trips, if they are available. To minimize friction, the tracking performed by the apps must be both, energy-efficient and privacy-preserving. For the latter, the apps shall rely primarily on on-device processing. For the former, the apps shall implement appropriate sensor control schemes to balance the tracking accuracy and energy usage.
From a theoretical perspective, the project group will cover the fundamentals of context recognition with mobile devices (i.e., sensing, preprocessing, ML-based classification). The focus will be on motion-related sensors (i.e., GPS, IMU) as well as techniques to increase the energy-efficiency and to protect the privacy of users. The practical part will encompass modern mobile application development using native frameworks (e.g., Jetpack Compose, Swift UI) as well as applied machine learning using Python. Students taking this course must be fluent in at least one object-oriented programming language (e.g., Python, C++, Swift, Java) and should be able to apply their knowledge to other languages quickly.
Dozent: Prof. Dr. Pedro José Marrón, Übungen: Simon Janzon
Die Vorlesung ist zweigeteilt. Die Vorlesungsinhalte mit dem Schwerpunkt Rechnerstrukturen werden vom Lehrstuhl HCI von Prof. Dr. Stefan Schneegaß vermittelt, die Inhalte mit dem Schwerpunkt Betriebssysteme vom Lehrstuhl NES von Prof. Dr. Pedro Marrón.
Folgende Qualifikationen werden in der Vorlesung vermittelt:
Die Studierenden
- können den Aufbau und die Funktion von Rechen- und Betriebssystemen sowie die grundlegenden Konzepte erläutern
- sind in der Lage, ein einfaches Hardwaresystem aus digitalen Basiskomponenten zu entwerfen und Grundfunktionen eines sehr einfachen Betriebssystems selbst zu entwickeln
- können sich in vorgegebene Systeme einarbeiten, diese einordnen und ihre wesentlichen Eigenschaften erkennen
- können die grundlegenden Aufgaben und Arbeitsweisen von Rechensystemen ebenso wie den prinzipiellen Aufbau aus digitalen Basiskomponenten erläutern
- kennen kombinatorische Schaltungen, Bool’sche Funktionen, Schalter und einfache Gatter
- sind vertraut mit der binären Arithmetik und Zahlendarstellung und können sie anwenden
- verstehen, was Prozesse sind und können erläutern, wie sie verwaltet, ausgeführt und synchronisiert werden und wie eine Kommunikation zwischen Prozessen erfolgen kann
- sind in der Lage zu erklären, wie Prozessor, Speicher und Ein-/Ausgabefunktionen verwaltet werden
- sind befähigt, ein einfaches Hardwaresystem und Grundfunktionen eines sehr einfachen Betriebssystems selbst zu entwerfen
- verfügen über die Fähigkeit, effizienzsteigernde Techniken in Hardware und Betriebssystem zu konzipieren
- besitzen eine vertiefte Kenntnis von Rechnerstrukturen und sind in der Lage, diese praktisch anzuwenden
- können maschinennahe Programme entwerfen, implementieren, diese auf geeignete Hardware portieren und ausführen, besitzen ein vertieftes Verständnis von Funktion und Aufbau von Hardware und zugehöriger Betriebssoftware, und können diese erläutern und zielgerichtet einsetzen
Ort und Zeit:
Die Vorlesungen finden statt:
Mittwochs von 18.00 – 20.00 Uhr im Raum SH 601
Die Übungen finden statt:
Freitags von 12.00 – 14.00 Uhr im Raum S05 T00 B32
Weitere Informationen zur Organisation sind auf der Moodleseite des Kurses zu finden. Der Einschreibeschlüssel wird in der Einführungsveranstaltung am 15.10.2025 bekanntgegeben.
Prüfung:
Zum Modul erfolgt eine modulbezogene Prüfung in der Gestalt einer Klausur über die gemeinsamen Ziele von Vorlesung und Übung (in der Regel: 90 bis 120 Minuten). Die erfolgreiche Teilnahme an der Übung ist als Prüfungsvorleistung Zulassungsvoraussetzung zur Modulprüfung.
Einträge im LSF: Vorlesung und Übung.
Tutors: Carlos Medina Sánchez, Simon Janzon
Have you ever watched a movie where robots and persons share the same environment, collaborating together in a natural and socially-acceptable manner? Have you asked yourself which technological background would be required for making such futuristic vision possible in reality?
In this seminar, we are going to investigate the technological bases necessary to make robots and humans share physical and social spaces. Due to the inherent diversity of social robotics, the seminar is going to touch a variety of topics, e.g., robotics, embedded systems, artificial intelligence, computer vision, machine learning, human-robot interaction, as well as cognitive and social sciences.
Depending on the number of participants, the seminar will be organized either as a set of written surveys on selected topics, followed by corresponding presentations, or as a full-fledged scientific event including a reviewing process.
This seminar is suitable for students at the bachelor and master level. However, it cannot be chosen by master AI-SE students. This seminar is given in English. Please also note that the maximum number of participants is limited to 12. If you have questions regarding this seminar, please send an email to carlos.medina-sanchez@uni-due.de.
Seminar language: English
The kickoff meeting for this seminar will take place in SA 316 on October, 14th from 8h to 10h. Please check this information for updates or send an email to carlos.medina-sanchez@uni-due.de to be notified about changes. Participation in this meeting is mandatory.
All spots for this course have been filled. We are no longer accepting registrations at this time.
Lecturer: Prof. Dr. Pedro José Marrón, Exercises: Sayedsepehr Mosavat, Bijan Shahbaz Nejad, Peter Roch
In contrast to application programming whose focus is to develop software providing services to the user, systems programming addresses software that interacts with computer systems on a low-level. In this sense, systems programming uncovers the dependency between software and the hardware executing it and forces the programmer to deal with low-level system knowledge. This knowledge is relevant not only to developing efficient software but also in systems with limited resources, e.g., embedded systems like robots, vehicles, and IoT devices. This lecture and the exercises provide the basis to understand and develop such system programs. In this course, the following topics will be discussed:
- Basics of computer systems
- Machine-level representation of programs
- Optimizing program performance
- Memory hierarchy
- Linking
- System-Level I/O
- Network programming
- Concurrent programming
The exercises will provide hands-on experience in systems programming to understand the interdependence between software and the computer system executing it. Basic knowledge of the C language is required.
Place and Time:
At the present time, we are planning on offering this course in presence for every student that can and wants to participate. In addition, we will provide access to video recordings prepared during the previous semesters via the Moodle page of this course.
The lecture will take place on Thursdays from 10:00 to 12:00 in Room S-A 215.
The first lecture takes place on October 16th, 2025.
The exercises will take place on Wednesdays from 12:00 to 14:00 in Room S-A 215.
The first exercise session takes place on October 22nd, 2025.
Please make sure to register at the Moodle of the course so that we can inform you about changes.
The password for the self-enrollment (valid until the end of October) is: SysProg-WiSe2526
If you have any questions or problems with enrollment, please contact sayedsepehr.mosavat@uni-due.de.
Exam:
The module is accompanied by a corresponding examination in the form of a written exam on the common goals of lecture and exercises (usually 90 minutes). Successful participation in the exercises is a prerequisite for admission to the module examination. The students collecting 80-89% of the points in the exercises receive a grade bonus of 0.3/0.4, for 90% of the points or more a grade bonus of 0.6/0.7.
The lecture and exercises will be held in English. For more information about the course, feel free to contact Sayedsepehr Mosavat.
Moodle page: Link.
Registration to the Moodle course will be possible near the start of the lecture period.
All Terms
- Winter Term 2025/26
- Summer Term 2025
- Winter Term 2024/25
- Summer Term 2024
- Winter Term 2023/24
- Summer Term 2023
- Winter Term 2022/23
- Summer Term 2022
- Winter Term 2021/22
- Summer Term 2021
- Winter Term 2020/21
- Summer Term 2020
- Winter Term 2019/20
- Summer Term 2019
- Winter Term 2018/19
- Summer Term 2018
- Winter Term 2017/18
- Summer Term 2017
- Winter Term 2016/17
- Summer Term 2016
- Winter Term 2015/16
- Summer Term 2015
- Winter Term 2014/15
- Summer Term 2014
- Winter Term 2013/14
- Summer Term 2013
- Winter Term 2012/13
- Summer Term 2012
- Winter Term 2011/12
- Summer Term 2011
- Winter Term 2010/11
- Summer Term 2010
- Winter Term 2009/10