Winter Term 2021/22

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 12.10.2021 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.

Kommunikationsnetze 1

Dozent: Prof. Dr. Pedro José Marrón, Übungen: Dr. Matteo Zella

Diese Vorlesung behandelt die Grundlagen von Kommunikationssystemen und erklärt die wichtigsten Konzepte, Komponenten, Technologien und Protokolle, die das Internet ermöglichen.

Inhalte im Einzelnen:

  • Einführung; Trend bei der Entwicklung von Kommunikationsnetzen; Dienste und Anwendungen
  • Grundlagen; Bit und digitale Bandbreite; Typen von Kommunikationsnetzen; Verbindungslose/verbindungsorientierte Kommunikation; Kanal- und Paketorientierte Kommunikation, Netztopologien; Einführung OSI-Modell
  • Kabeltypen; Multiplex-Verfahren; MAC-Protokolle; IEEE 802.3/Ethernet inkl. Adressierung; Netzstrukturen
  • Das Internet-Protokoll (IPv6 & IPv4); IP-Adressierung; IP-Header; IP-Subnetting; Migration von IPv4 zu IPv6; Router und Routingprotokolle; Grundprinzip des IP-Routing
  • Transportprotokolle: UDP und TCP; Eigenschaften von TCP; Verbindungs- und Flusssteuerung bei TCP; NAT
  • Protokolle der Anwendungsschicht; Vorstellung von HTTP, SMTP und DNS

In den Übungen bearbeiten die Studierenden praktische Aufgaben, die sich auf die Inhalte der Vorlesung beziehen.

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. Weitere Online-Angebote werden zu Beginn des Kurses diskutiert.

Die Vorlesung findet Dienstags von 8.00 – 10.00 Uhr in Raum S07 S00 D07 statt.
Die erste Vorlesung findet am 12.10. statt.

Die Übungen finden Montags von 18.00 – 20.00 Uhr in Raum S07 S00 D07 statt.
Die erste Übung findet am 18.10. statt.

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 für die Selbsteinschreibung (bis Ende Oktober) lautet: KN1-WiSe2122
Bei Fragen oder Problemen mit der Einschreibung wenden Sie sich bitte an matteo.zella@uni-due.de.

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: 120 bis 150 Minuten). Die erfolgreiche Teilnahme an der Übung ist als Prüfungsvorleistung Zulassungsvoraussetzung zur Modulprüfung.

Für weitere Informationen über den Kurs können Sie sich gerne an Matteo Zella (matteo.zella@uni-due.de) wenden.

Moodleseite: Link.
Die Anmeldung zum Moodle-Kurs wird zu Beginn der Vorlesungszeit möglich sein.

Einträge im LSF: Vorlesung und Übung

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:

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 Mittwochs von 12.00 – 14.00 Uhr in Raum S-A 215 statt.

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

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

Das Passwort zur Selbsteinschreibung ist CPPWT2122. Die Selbsteinschreibung ist bis Ende Oktober möglich. Bei Fragen oder Problemen mit der Einschreibung wenden Sie sich bitte an marcus.handte@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: Web Data Mining

Tutors: Dr. Marcus Handte, Arman Arzani

An important goal of the University Duisburg-Essen is to increase the number of startups that transform innovative research results of the university into sustainable businesses. To reach this goal, it is necessary to connect the researchers that have generated promising results with the business advisors and innovation coaches of the university that help scientists to successfully launch a new business.

The goal of this project group is to design and implement a web-based tool that supports the advisors and coaches of the university in identifying research groups or researchers that are working on innovative topics. As primary input the tool shall process the web pages of the university to automatically extract relevant information. Some examples are:

  • The organization and structure of the university (names of the faculties, research groups and researchers, etc.)
  • The research projects of the different research groups (project name and topic, project duration, funding scheme and budget, etc.)
  • The publications of the different researchers (authors, title, type of publication, etc.)

In addition, the project group shall develop a simple web-based application that enables the business advisors and innovation coaches to browse and search the extracted information.

From a technical perspective, the project will encompass the development and integration of a web-crawler, a search index, a data mining framework with the associated templates to extract the desired information and a web application to access the data. For the web-crawler and search index, we are currently planning on using Apache Nutch and Elasticsearch. The technologies used to perform the actual data mining can be freely defined by the students.

From a theoretical perspective, the project group covers fundamental concepts related to web search and data mining in theory and practice. This includes web crawling and search as well as data extraction and information integration. In addition, the participants will prepare individual seminar talks and papers on selected research topics related to web search and data mining.

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 Golkowski, Valentin Fitz

Die Vorlesung ist zweigeteilt. Die Vorlesungsinhalte mit dem Schwerpunkt Rechnerstrukturen werden vom Lehrstuhl Prof. Dr. Stefan Schneegaß 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:

Die Einführungsveranstaltung findet nun wieder wie gewohnt am 13.10.2021 um 18:00 Uhr im R14R Hörsaalzentrum – R14 R02 B07 in Präsenz statt.

Die regelmäßigen Termine und Vorlesungsräume im Semester lauten:

  • Mittwochs 18-20 Uhr R14 R02 B07
  • Donnerstag 18-20 Uhr SH 601

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

Coronabedingter Hinweis zur Teilnahme in Präsenz:

Für die Teilnahme an den Vorlesungen und Übungen wird ein 3G-Nachweis über das UDE-Boarding System benötigt.

Seminar: Internet of Things

Tutor: Dr. Matteo Zella

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. 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. In this way we can realise the vision of the Internet of Things (IoT).

In this seminar, we will learn about the technology on which the IoT is based and the main challenges involved in its adoption. The topics will be including, but not limited to, (a) applications and deployments, (b) programming abstractions and middleware, (c) communication protocols and standards, (d) security, (e) battery and battery-less operation, (f) hardware platforms. Participants can select their preferred topics from the set of available ones.

Based on the number of participants, the seminar will be organized as a set of scientific papers on selected topics, which are distributed by us. The topics are then selected and worked on by participants based on areas of interest. At the end of the seminar, each student writes a scientific survey as well as holds a presentation on the selected topic.

As long as places are still available, it is possible to join the seminar until the end of October. In order to join, it is necessary for the participants to send an email to Matteo Zella (matteo.zella@uni-due.de) for the initial registration. You will then be added to the Moodle course, where the procedures and the seminar material will be made available.

This seminar is suitable for students at the bachelor’s 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 want to join the seminar or have questions, please contact Matteo Zella (matteo.zella@uni-due.de).

Systemnahe Informatik (Systems Programming)

Lecturer: Prof. Dr. Pedro José Marrón, Exercises: Dr. Matteo Zella

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, 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 Thursdays from 12 p.m. to 2 p.m. in Room SA 215.
The first lecture takes place on October, 14th.

The excercises will take place on Mondays from 10 a.m. to 12 p.m. in Room SE 108.
The first exercise session takes place on October, 18th.

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-enrolment (valid until the end of October) is: SysProg-WiSe2122
If you have any questions or problems with enrolment, please contact matteo.zella@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 Matteo Zella (matteo.zella@uni-due.de).

Moodle page: Link.
Registration to the Moodle course will be possible near the start of the lecture period.

LSF entry: Lecture and Exercises