Current Term

Bachelor Project: Object Tracking with Bluetooth LE

Tutor: Stephan Wagner

In the past, Bluetooth LE has been used as basis for the development of several indoor localization systems. Typically, these systems consist of low-power transmitters (i.e. beacons) that are deployed at known positions in the indoor environment and mobile receivers (e.g. smart phones). By receiving the signals from multiple transmitters, the mobile receivers can compute their location which can then be used to develop location-based services for indoor environments.

In this project, we will rely on the inverse setup, i.e. fixed receivers and mobile transmitters, to enable cost-efficient tracking of mobile objects. During the project, participants will use the OpenWRT Linux distribution to create a number of spontaneously networked sensors based on TP-Link MR3020 routers. In addition, the participants will develop the necessary software to capture Bluetooth LE packets of mobile transmitters and to forward the packets to a central server where they are used to compute location estimates.

Participants in this course are expected to know how to use Linux (e.g. bash) and they should have a solid understanding of at least one programming language (e.g. C, C++, Java).

This course may be held in German and English depending on the participants. 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 stephan.j.wagner@uni-due.de.

Find information in LSF.

The kickoff meeting for this project will take place on Thursday, October 11th, 2018 between 9:00 and 11:00  in S-A 126. Participation in this meeting is mandatory.

Introduction to Internet of Things

Lecturer and exercises: Prof. Rasit Eskicioglu (University Manitoba, Canada)

Several marketing institutions estimate that the number of Internet-connected devices  (Internet of Things) will exceed 50 billion by the year 2030. This course will introduce the basic concepts, foundational principles and architectures behind the Internet of Things.

Topics will include:

  • Introduction to IoT
  • Hardware platforms
  • Software and application platforms
  • Communication technologies and protocols
  • Sensing and data analytics

In addition to the lectures, the exercises will complement the theoretical knowledge with hands-on experience about IoT devices, and will teach the students how to program them to collect transfer, and analyse the data.  A mini-project will further strengthen the learning.

This course is suitable for AI-SE master students and it will be taught in English. For further information, please contact Sascha Jungen (sascha.jungen@uni-due.de).

The kickoff meeting for this lecture with exercises will take place on Monday, October 8th between 10.00h and 11.30h in room S-A 126. It is mandatory to attend this kick-off meeting in order to participate.

This course will be held as a block course over 6 weeks (with 4 hrs/wk lecture and 4 hrs/wk exercises), with an oral examination at the end (between December 3rd and 7th).

Lecture weekly: Monday 10 a.m. to 12 p.m. and Wednesday 2 p.m. to 4 p.m. in Room S-A 126.
Excercises weekly: Monday 1 p.m. to 3 p.m. and Wednesday 4 p.m. to 6 p.m. in Room S-A 126

More information can be found on our Moodle2 page. The password will be announced in the Kickoff Meeting.

Entry in LSF: Lecture and exercise

Pervasive Computing

Lecturer: Dr. Marcus HandteExercises: Dr. Marcus Handte  

This lecture at the Master level covers the fundamentals of past and recent pervasive computing research with a specific focus on the following four areas:

  • System-support and programming abstractions for adaptive distributed applications
  • Recognition, modelling and management aspects of contextual information
  • Novel user interface examples and guidelines for pervasive computing applications

Students participating in this course should have at least basic knowledge in the areas of networking and database technology. Knowledge in machine learning and human-computer-interaction could be beneficial but is not mandatory.

The practical exercises will focus system-support for adaptive distributed applications. As part of the exercises, students will be developing a communication middleware for spontaneously networked devices using an object-oriented programming language such as Java or C#.

Place and Time:

  • Lecture: Tuesdays (starting in the first week of the lecture period), from 12:00h to 14:00h in SE 407
  • Exercises: Tuesdays (starting in the second week of the lecture period), from 14:00h to 16:00h in SE 407

More Information:

The moodle page of the course is available here. The subscription password will be given out during the first lecture. The course will start with the first lecture on Wednesday, October 11th. There will be no exercise during the first week. Detailed information about the contents and organization of the course will be given out during the first lecture. If you have further questions, feel free to contact marcus.handte@uni-due.de.

LSF entry: Lecture und Excercise

Programmieren in C/C++

Dozent: Prof. Dr. Pedro José Marrón, Übungen: Marcus Handte

Die Veranstaltung (2V+2Ü) setzt die in den vorherigen Semestern gelernten grundlegenden Konzepte und Methoden der objektorientierten Programmierung (OOP) in C++ um.

Inhalte im Einzelnen:

  • OO-Analyse, -Design und -Modellierung mit UML
  • C++ als Erweiterung von C
  • Zeigerkonzepte
  • Klassen, Klassen-Hierarchien, einfache und mehrfache Vererbung, Zugriffsschutzmechanismen, virtuelle Basisklassen, virtuelle Funktionen, statisches und dynamisches Binden, Typisierung und Typkonvertierungen
  • Funktions- und Operator-Überladen
  • Exception Handling
  • Templates
  • Modularität, Namespaces
  • Threads
  • Streams
  • Standard Template Library (z.B. Algorithmen, Iteratoren, Container)
  • kleine Projektbeispiele aus den Anwendungsbereichen der Ingenieurwissenschaften.

Die Veranstaltung findet auf deutsch statt.

Ort und Zeit:

  • Vorlesung: Wöchentlich Mittwochs 12:00-14:00 Uhr in SE 407.
  • Übung: Wöchentlich Donnerstags 16:00-18:00 Uhr in SE 407. 


Um zur Prüfung zugelassen zu werden, sind 60% der möglichen Punkte in den Übungsaufgaben erforderlich. Bei 80-89% der Punkte erhält der Prüfling einen Notenbonus von 0,3/0,4, bei 90% der Punkte oder mehr einen Notenbonus von 0,6/0,7.

Einträge im LSF: Vorlesung und Übung
Der Zugangscode zur Moodle-Seite für Materialien und Übungsabgabe wird in der ersten Vorlesung bekanntgegeben.

Rechnerstrukturen und Betriebssysteme

Dozent: Prof. Dr. Pedro José Marrón, Übungen: Sascha Jungen

Die Vorlesung ist zweigeteilt. Die Vorlesungsinhalte mit dem Schwerpunkt Rechnerstrukturen werden vom Lehrstuhl Prof. Dr. Klaus Echtle vermittelt, die Inhalte mit dem Schwerpunkt Betriebssysteme vom Lehrstuhl 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:

  • Vorlesung: Wöchentlich mittwochs 18:00-20:00 Uhr in R14 R02 B07 und donnerstags 18:00-19:30 Uhr in SH 601
  • Übung:Wöchentlich freitags 12:15-13:45 Uhr in SH 601


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

Systemnahe Programmierung (Systems Programming)

Lecturer: Prof. Dr. Pedro José Marrón, Lab Tutor: Matteo Ceriotti

This lecture and the associated practical lab convey the fundamentals of system-level application development. The lecture provides a brief review of embedded systems applications and hardware. The covered topics include: microcontroller architecture, buses, I/O, interrupts and timers, firmware development, peripheral driver development and examples of applications involving embedded systems and host system programming.

The lab exercises will provide hands-on experience in system programming to support various peripherals connected to a system unit. Students are required to have basic knowledge about the C language. For more information about the lab exercises, please contact Matteo Ceriotti (matteo.ceriotti@uni-due.de).

LSF entry: Lecture and lab

The first lecture will take place in Room SE 407 at 14:00h on Thursday, October 11, 2018. The access key to the moodle page of the lecture/lab will be announced in the first lecture.

The first lab will take place in Room SE 407 at 12:00h on Monday, October 15, 2018. The access key to the moodle page of the lab will be announced in the first lecture.


Wireless Sensor Network Seminar

Tutor: Dr. Matteo Ceriotti

Computing and communicating devices become smaller and smaller; they moved from desks to everybody’s pocket; ultimately, they become embedded in the environment that surrounds our everyday life. This vision has been addressed under different names, Wireless Sensor Networks (WSNs) being one of them. As this happens, we become capable of monitoring in real-time the evolution of complex physical phenomena, as well as observing and controlling composite industrial processes. We can also instrument objects and scenarios to understand the current situation and smartly react to it. Unfortunately, the complexity of these systems, the limited visibility in system behaviour and the constrained available resources make the design and realisation of reliable systems challenging.

This seminar aims at familiarizing students with important research topics in this field. The covered topics include, among others, security, routing, localization, sensing, communication, simulation, modelling, programming abstractions, applications and systems of low-power wireless embedded networks. Participants will have to do a literature research and they will have to create a high quality written report. Furthermore, they will have to give an oral presentation of their topics.

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. If you have questions regarding this seminar, please send an email to matteo.ceriotti@uni-due.de.

LSF entry: Seminar

Moodle Page can be found here.

The kickoff meeting for this seminar will take place on Tuesday, 09.10.2018 between 14.00h and 15.00h in Room S-A 126.  This date is still tentative, please check this information for updates or send an email to matteo.ceriotti@uni-due.de to be notified about changes. Participation in this meeting is mandatory.