Lecture with exercise for Bachelor AI Programmieren mit C/C++

Lecturer: Prof. Dr. Gregor Schiele (lecture)
Stephan Schmeißer
Language: German
Turnus: Summer semester
Time: Wednesday, 10:00 - 12:00 (Lecture)
Tuesday, 12:00 - 14:00 (Exercise)
Place: LC 137 (Lecture)
LC 137 (Exercise)
Begin: 17.04.2019

This bachelor lecture teaches the basics of Programming in the programming language C. Complementary it will give a short prospect onto the programming language C++, which is based on C. Despite its long history C remains to be one of the most widspread and important programming languages ever, especially when doing system level programming. It is easy to learn, but hard to master, as it only has a small number of keywords and concepts, that allow to emulate many modern programming techniques.

In detail the following topics will be covered: General Concepts of programming languages, variables and types in C, operators and expressions, control structures and functions, the preprocessor, pointers, static and dynamic memory management, error handling, bit manipulation, modules and abstract data types, unit tests and test driven development in C, object orientation in C++.

The lecture builds up on the lectures "Grundlegende Programmiertechniken" and "Fortgeschrittene Programmiertechniken", i.e. basic programming skills (types and variables, loops, subroutines and recursion) and basic knowledge about data structures and algorithms is required.

Lecture with Exercise for Master AI / Master ISE Internet of Things: Protocols and System Software

Lecturer: Prof. Dr. Gregor Schiele (Lecturer)
Language: English
Turnus: Summer semester
Time: Tuesday 16:00 - 18:00 (Lecture)
Wednesday 14:00 - 16:00 (Exercise)
Place: LE 120 (Lecture)
LC 137 (Exercise)
Begin: 16.04.2018

This masters lecture will introduce the research area of the "Internet of Things" (IoT), where billions of embedded systems (actuator, sensors) make continously data in real time to about the real world available to the Internet. Topics, that will be covered are:

Hardware plattforms (e.g. SBCs, Sensor nodes), communication protocols (e.g. IEEE 802.15.4, 6LoWPAN, CoAP, MQTT), data modelling (e.g. linked data, RDF, SSN), data management and access (e.g. SPARQL, continous queries with CQELS, "Big Data"), system software and software plattforms (e.g. Eclipse Ponte, Xively, BASE, PCOM), future work ("programmable world"). An exercise will complement the theoretical knowledge with practical task of programming IoT-Systems, e.g. with Arduinos or Raspberry Pis.

Project Hear No Evil: Ubiquitous Audio Classification through AI

Lecturer: Gregor Schiele
Alwyn Burger
Language: English
Turnus: Summer Semester
Time: Tuesday, 12:00 - 14:00
Place: BC 523
Begin: 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.


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.

Project RGB IoT - Visualising your surroundings

Lecturer: Prof. Dr. Gregor Schiele
Christopher Cichiwskyj
Stephan Schmeißer
Language: German/English
Turnus: Summer semester
Time: Wednesday, 12:00 - 14:00
Place: BC 303
Begin: 10.04.2019

In the Internet of Things (IoT) an enormous number of small computer system are embedded in everyday life objects, that can communicate with each other through the Internet. Such an IoT system can collect large quantities of information about its surroundings. One of the biggest challenges there is however, how this information can be presented to users in a unobtrusive way.

The goal of this project is to use an already existing hardware platform to deploy an IoT system and visualise the collected data with a RGB-lighting installation in the laboratory of the ES department.

Required Skills:

Good prior knowledge in working with the programming language C is required. This project contains in large parts the (further) development of embedded software from previous projects in embedded C. Basic understanding of embedded wireless technologies like 802.15.4, as well as a basic understanding of chip communication standards like SPI or I2C are advantageous but not required.

Good prior knowledge of Java is required, as a pre-existing gateway software library will be extended during the project.

Kickoff meeting

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

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

Bachelor/Master Seminar Seminar: Reconfigurable Hardware for the Internet of Things

Lecturer: Prof. Dr. Gregor Schiele
Christopher Cichiwskyj
Language: German/English
Turnus: Summer semester
Time: Tuesday, 14:00 - 16:00
Place: BC 103
Begin: 09.04.2019

To be able to tackle the challenges of coming applications of the Internet of Things (IoT) different types of hardware should be included additionally, that can solve certain problem classes more efficiently. An alternative to typically used microcontrollers are reconfigurable hardware devices such as Field-Programmable Gate Arrays (FPGA). The topic of this seminar will be the development of applications for reconfigurable hardware with the focus on FPGAs. During this seminar students will learn the theoretical background behind FPGAs as well as the development language VHDL. Additionally, however, students will work on practical exercises with hardware during the seminar and program devices in VHDL to apply and deepen the learned theoretical concepts. The students will write an extended abstract as well as develop a VHDL application for the final grade. Details will be disclosed during the kickoff-meeting.

Kickoff Meeting

The kickoff-meeting for this seminar will be on the following date: 09.04.2018, 14:00-16:00, Room BC 103. Attendence in the kickoff-meeting is mandatory for the participation as all information for registering for the project will only be presented there.