Vorlesung mit Übung im Bachelor AI Programmieren mit C/C++

Dozent: Prof. Dr. Gregor Schiele (Vorlesung)
Stephan Schmeißer (Übung)
Sprache: Deutsch
Turnus: Sommersemester
Zeit: Mittwoch, 10:00 - 12:00 (Vorlesung)
Dienstag, 12:00 - 14:00 (Übung)
Ort: LC 137 (Vorlesung)
LC 137 (Übung)
Beginn: 17.04.2019

Diese Bachelor-Vorlesung vermittelt die Grundlagen der Programmierung in der Programmiersprache C. Ergänzend wird ein kurzer Ausblick auf die auf C aufbauende Programmierung in C++ gegeben. Trotz seiner langen Geschichte ist C auch heute noch einer der verbreitetsten und wichtigsten Programmiersprachen überhaupt, besonders für systemnahe Programmierung. Sie ist einfach zu lernen aber schwer zu meistern, da sie nur wenige Schlüsselwörter und Konzepte enthält, mit diesen aber viele moderne Programmiertechniken nachgebildet werden können.

Im Einzelnen werden behandelt: Allgemeine Konzepte von Programmiersprachen, Variablen und Typen in C, Operatoren und Ausdrücke, Kontrollstrukturen und Funktionen, der Präprozessor, Zeiger, statische und dynamische Speicherverwaltung, Fehlerbehandlung, Bitmanipulationen, Module und abstrakte Datentypen, Unit-Tests und Test-Driven-Development in C, Objektorientierung mit C++.

Die Vorlesung baut auf den Veranstaltungen „Grundlegende Programmiertechniken“ und „Fortgeschrittene Programmiertechniken“ auf, d.h. grundlegende Programmierkenntnisse (z.B. Variablen und Typen, Schleifen, Unterprogramme und Rekursion) und Basiswissen über Datenstrukturen und Algorithmen werden vorausgesetzt.

Vorlesung mit Übung im Master AI / ISE Internet of Things: Protocols and System Software

Dozent: Prof. Dr. Gregor Schiele (Vorlesung)
Sprache: Englisch
Turnus: Sommersemester
Zeit: Dienstag 16:00 - 18:00 (Vorlesung)
Mittwoch 14:00 - 16:00 (Übung)
Ort: LE 120 (Vorlesung)
LC 137 (Übung)
Beginn: 16.04.2019

Diese Master-Vorlesung vermittelt eine Einführung in das Themengebiet des „Internet der Dinge“ (IoT), in dem Milliarden eingebetteter Systeme (Sensoren, Aktuatoren) in Echtzeit kontinuierlich Daten über die reale Welt im Internet verfügbar machen. Behandelte Themen sind insbesondere: Hardwareplattformen (z.B. SBCs, Sensorknoten), Kommunikationsprotokolle (z.B. IEEE 802.15.4(e), 6LoWPAN, CoAP, MQTT), Datenmodellierung (z.B. linked data, RDF, SSN), Datenverwaltung und –zugriff (z.B. SPARQL, kontinuierliche Anfragen mit CQELS, „Big Data“), Systemsoftware und Softwareplattformen (z.B. Eclipse Ponte, Xively, BASE, PCOM), Zukunfts-ausblick: „programmable world“. Neben der Vermittlung theoretischen Wissens, wird in der Übung auch die praktische Programmierung von IoT-Systemen vermittelt, z.B. mit Arduino-Geräten, Raspberry Pies oder Beagle Bones.

Praxisprojekt Hear No Evil: Ubiquitous Audio Classification through AI

Dozent: Prof. Dr. Gregor Schiele
Alwyn Burger
Sprache: Englisch
Turnus: Sommersemester
Zeit: Dienstag, 12:00 - 14:00
Ort: BC 523
Beginn: 09.04.2019
Project description

Embedded devices listening in on every moment at home has become the norm, with multiple technologies such as Siri and Alexa surfacing to assist us. The basic principle of these systems is that the device constantly “listens in” and sends interesting audio to cloud services for processing. To combat this intrusion on people’s privacy, one could avoid some of the cloud dependence if the local device can process the audio directly.

The goal of this project is to investigate a first step towards this by classifying audio to identify speaking, music, noise etc. Since AI is a logical choice for such a sophisticated system, we will use Convolutional Neural Networks to “teach” the device to recognize different sounds.

Required skills:

An in-depth understanding of AI and neural networks is not required, since existing libraries and frameworks will be employed. Some of the work in this project will be done on traditional laptops, while others will be using embedded devices. Therefore programming experience is required, while embedded programming is advised.

Kickoff-Meeting:

The kickoff meeting for this project will be on the 09.04.2019, 12:00 in Room BC 523. Attendance in the kickoff meeting is mandatory for participation in this project.

This project is limited to MAI and ISE M-CE.

Praxisprojekt RGB IoT - Visualising your surroundings

Dozent: Prof. Dr. Gregor Schiele
Christopher Cichiwskyj
Stephan Schmeißer
Sprache: Deutsch/Englisch
Turnus: Sommersemester
Zeit: Mittwoch 12:00-14:00
Ort: BC 303
Beginn: 10.04.2019
Thema:

Im Internet der Dinge (IoT) werden eine enorme Anzahl an kleinste Computersysteme in alltäglichen Objekte eingebettet, die miteinander und dem Internet kommunizieren können. Ein solches IoT System kann unmengen unterschiedlichster Informationen über seine Umgebung sammeln. Eines der großen Herausforderungen dabei ist jedoch, wie diese Information Nutzern auf eine unaufdringliche Art und Weise präsentiert werden können.

Ziel dieses Projekt ist es, mit einer bereits existierenden Hardware-Platform ein IoT-System aufzusetzen und die damit gesammelten Daten mit einer im Labor des Fachbereichs installiereten RGB-Lichtanlage zu visualisieren.

Notwendige Fähigkeiten:

Es wird ein gutes Vorwissen im Arbeiten mit C vorausgesetzt. Dieses Projekt beinhaltet zu großen Teilen die (Weiter-)Entwicklung von eingebetteter Software aus vorherigen Projekten in embedded C.  Ein Vorwissen von eingebetteten Funktechnologien wie 802.15.4, sowie grundlegende Chipkommunikationsstandards wie SPI oder I2C sind vorteilhaft aber keine Voraussetzung.

Gute Vorkenntnisee in Java werden vorausgesetzt, da eine schon bestehende Gateway-Softwarebibliothek in Java weiterentwickelt werden soll.

Das Kickoff Meeting für dieses Projekt wird am 10.04.2019 um 12:00 im Raum BC 303 stattfinden. Für die Teilnahme an diesem Projekt ist die Anwesenheit im Kickoff Meeting verpflichtend.

Dieses Projekt ist begrenzt auf BAI/MAI und ISE B-CE/M-CE.

Bachelor- und Masterseminar Seminar Eingebettete Systeme

Dozent: Prof. Dr. Gregor Schiele
Christopher Cichiwskyj
Sprache: Deutsch/Englisch
Turnus: Sommersemester
Zeit: Dienstag, 14:00 - 16:00
Ort: BC 103
Beginn: 09.04.2018

Um die kommenden Herausforderungen von Applikationen im Internet of Things bewältigen zu können, müssen weitere Hardwareklassen mit einbezogen werden, die gewisse Problemklassen effizienter berechnen können. Eine Alternative zu den klassischerweise eingesetzten Microcontrollern stellen rekonfigurierbare Hardware wie Field-Programmable Gate Arrays (FPGA) dar. Thema dieses Seminars ist die Entwicklung von Applikationen für rekonfigurierbare Hardware mit Fokus auf FPGAs. Dabei werden nicht nur die theoretischen Grundlagen des FPGAs und der Entwicklungssprache VHDL beleuchtet, sondern es soll auch praktisch mit diesen Geräten im Seminar gearbeitet und in VHDL programmiert werden, um die theoretisch erlernten Konzepte direkt und praktisch zu vertiefen. Während des Seminars soll ein Extended Abstract geschrieben und eine in VHDL geschriebene Applikation entwickelt werden.

Die Vorbesprechung für dieses Seminar wird am 09.04.2018 von 14:00-16:00 im Raum BC 103 stattfinden. Für die Teilnahme ist die Answesenheit im Kickoff-Meeting erforderlich, da ausschließlich dort Formalitäten für eine Anmeldung bekanntgegeben werden.