Winter Term 2022/23

Bachelor Project: Vision-based Traffic-Scene Surveillance

Tutors: Bijan Shahbaz Nejad and Peter Roch

The goal of this bachelor project is to familiarize students with basic problems related to the surveillance of traffic-scenes. Within the project, participants will be implementing different surveillance-related tasks, such as speeding detection on highways or parking lot monitoring.

Thereby, students will get in touch with the OpenCV library that implements a broad range of computer vision algorithms, most notably neural networks, feature-matching or image manipulation.

Participants in this course are expected to be highly motivated and must have a solid understanding of one programming language, knowledge of programming in Java or C++ are of advantage. Note that the number of participants in this project is strictly limited. If you want to participate in this course, please send an email to peter.roch@uni-due.de or bijan.shahbaz-nejad@uni-due.de to indicate your interest. You will then be added to the Moodle course, where the procedures and the project material will be made available. The kick-off meeting will take place on 11.10.2022 at 12.00 am in room SA-215, further registration is not possible. Participation in the kickoff meeting is mandatory.

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 peter.roch@uni-due.de or bijan.shahbaz-nejad@uni-due.de.

Programmieren in C/C++

Dozent: Prof. Dr. Pedro José Marrón, Übungen: Carlos Medina Sanchez

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:

Zum gegenwärtigen Zeitpunkt planen wir diesen Kurs für alle Studierenden, die daran teilnehmen möchten und können, als Präsenzveranstaltung anzubieten. Zusätzlich werden wir über die Moodle Seite des Kurses Videoaufzeichnungen bereitstellen, die in den vorangegangenen Semestern erstellt wurden.

Die Vorlesungen finden Donnerstags von 12.00 – 14.00 Uhr in Raum S-E 407 statt. (Deutsch)

Die Übungen finden Donnerstags von 16.00 – 18.00 Uhr in Raum S-A 215 statt. (Englisch)

Bitte melden Sie sich auf der Moodle Seite des Kurses an, damit wir Sie über etwaige Änderungen auf dem Laufenden halten können.

Das Passwort zur Selbsteinschreibung wird in der Vorlesung bekannt gegeben. Die Selbsteinschreibung ist bis Ende Oktober möglich. Bei Fragen oder Problemen mit der Einschreibung wenden Sie sich bitte an carlos.medina-sanchez@uni-due.de.

Prüfung:

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

Project Group: Acoustic Indoor Localization

Tutors: Dr. Marcus Handte, Alexander Julian Golkowski

Pervasive Computing envisions context-aware systems and applications that adapt autonomously to the needs of their users. Knowledge about the location of persons and objects is often believed to be one of the most important prerequisites for context-aware adaptation. In outdoor settings, coarse grained location information can be gathered using satellite-based positioning systems such as GPS or Galileo. In indoor settings, WLAN- or BLE-based localization systems can achieve a more fine-grained accuracy in the range of meters. While this accuracy may be sufficient to implement applications in large or complex buildings such as airports, malls or storage facilities, most WLAN- and BLE-based systems are still too inaccurate for applications targeting smaller spaces such as offices or home environments.

The goal of this project group is to design and build several embedded systems that can send and receive audio signals to support localization tasks that require accuracies in the range of a few centimeters. Using these systems, the participants will develop application prototypes that demonstrate their benefits and limitations. The prototype applications can be freely designed by the participants and may range from simple acoustic beacons, e.g., to replace QR codes to 2D indoor localization with mobile phones, e.g., to support complex home automation scenarios.

From a technical perspective, the project encompasses embedded system design and construction as well as the application design, implementation, and validation. The participants will build models for PCBs and cases, solder hardware components and write software for microcontrollers and other application-dependent system components (e.g., mobile phones). For the hardware construction and application validation, the participants can use labs and offices of the Networked Embedded Systems group.

The admission to this course is managed centrally. If you have any questions, please contact marcus.handte@uni-due.de.

Rechnerstrukturen und Betriebssysteme

Dozent: Prof. Dr. Pedro José Marrón, Übungen: Alexander Julian Golkowski

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 S07S – S07 S00 D07

Donnerstags von 18.00 – 20.00 Uhr im Raum S05T Hörsaalzentrum – S05 T00 B08

 

Die Übungen finden statt:

Freitags von 12.00 – 14.00 Uhr im Raum S05T Hörsaalzentrum – S05 T00 B08

 

Weitere Informationen zur Organisation sind auf der Moodleseite des Kurses zu finden. Der Einschreibeschlüssel wird in der Einführungsveranstaltung am 12.10.2022 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.

 

Seminar: Intelligent Web

Tutors: Dr. Marcus Handte, Arman Arzani

Artificial intelligence has been conquering the industry in the last decade. It powers most of today’s high-tech products. It fuels our smartphone’s speech/face recognition, ranks our web search results as in a simple google search, and recommends relevant videos and content to its users. It even beats the world champion at the game of Go. Before we know it, it will be driving our car into the sunset.

In this seminar, we will be examining the artificial intelligence behind the world wide web, investigating AI-based search and recommendation engines. Considering the immensity of AI, we will narrow it down to a sub-genre of AI: “web-based AI”. There we would tackle a variety of topics such as natural language detection, voice-based search, technology and innovation index prediction, recommendation-based systems, AI in search engines, User experience, and chatbot reply predictions.

The kickoff meeting for the seminar will take place on October 18th, 2022 from 9.00h to 10.00h in SA-126. The participation in the kickoff meeting is mandatory.

This seminar is suitable for students at the bachelor level. The students attending this seminar can prepare their material in either English or German, depending on their language preference. Please also note that the maximum number of participants is limited. If you have questions regarding this seminar, please send an email to marcus.handte@uni-due.de.

Systemnahe Informatik (Systems Programming)

Lecturer: Prof. Dr. Pedro José Marrón, Exercises: Sayedsepehr Mosavat, Bijan Shahbaz Nejad

Differently from application programming, whose focus is to develop software providing services to the user, systems programming addresses software that interacts with computer systems. In this sense, systems programming exposes 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 develop efficient software but also in systems with limited resources, e.g., embedded systems like robots, vehicles, and IoT devices. The lecture and the exercises provide the basis to understand and develop system programs. In the 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 interdependency 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 also 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 a.m. to 12 p.m. in Room S-A 215.
The first lecture takes place on October, 13th.

The exercises will take place on Wednesdays from 12 pm. to 2 p.m. in Room S-A 215.
The first exercise session takes place on October, 19th.

Please make sure to register at the Moodle page 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-WiSe2223
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.

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.

LSF entry: Lecture and Exercises