Master Practical Course: Edge Computing and the Internet of Things

Important Information

  • Pre-meeting: 16:00 on Monday 31.1.2022: Slides
  • Registration: 10 Feb 2022 to 15 Feb 2022 using the matching system
  • Duration: 25 Apr 2022 to 29 July 2022 with:
    • 1 weekly theory lecture
    • 1 biweekly meeting to check student's practical progress
    • 2 demo and presentation sessions
    • final documentation and project artifacts that have to be submitted in August (date TBD).
    • We plan to hold all lectures and meetings in person (depending on the current situation and regulations)!
  • ECTS: 10.
  • Capacity: 12.
  • Concept: Teams of max 3 students will be given a set of equipment (mobile devices, RaspberryPis, microcontrollers, sensors, ...) to build a networked Internet of Things service out of them.

Course Description

The Internet interconnects people globally and allows access to networked services pretty much anytime, anywhere. The notion of the Internet of Things (IoT) extends this to pervasive devices (i.e. the "Things"), which are increasingly networked and connected to the Internet. These devices can act as sensors or actuators can interact with other devices, e.g. including mobile phones, and with the global Internet.

Edge Computing is an upcoming infrastructure paradigm where computation is pushed closer to the data source and executed on a broad range of devices ranging from RPIs to small microservers. It enables faster connections, data preprocessing and cleansing, and faster reaction time compared to cloud services. As sensors can create massive amounts of data, the interplay between IoT devices and edge networks assumes a fundamental role in the process of reducing core network saturation by offering an offloading platform where to deploy smart services independent from the cloud.

The Edge Computing and the Internet of Things course aims to build local services based on IoT devices relevant to the people at a given place and time using Raspberry Pis and enhanced WLAN access points, mobile devices and local sensors.

The goal of this practical course is threefold:

  1. Understand the background and underlying concepts of IoT and Edge Computing based on sensing and Internet connectivity. We will provide introductory lectures and practical sessions for the background and the tools.
  2. Conceptualize an application/service that fits some definition of localized IoT and edge computing with particular interest in exploiting sensing and location.
  3. Design and implement your idea in a team and demonstrate it at the end of the class by documenting your system.

To illustrate the above, examples of applications could be:

  • A service to analyse vehicle data inside a vehicle or in an edge computing device, depending on the current load and network condition.
  • A digital version of geocaching where content can be retrieved and posted via short range radio rather than exchanging physical goods with the cache.
  • A local music sharing tool that allows exploring what people around you (e.g., in a certain café) would listen to.
  • A basic edge analytics application using images or video feeds to do people counting (e.g. in a cafe).

Topics covered during the lectures:

  • Programming things: IoT OS, hardware abstractions, IoT programming frameworks
  • Connecting things: lower layers, IPv6, transport protocols
  • Web of things: REST, MQTT, CoAP
  • IoT service architectures: Cloud-based, edge-based, device-to-device
  • IoT services: Mashups, big data, machine learning
  • Overview of security and IoT: privacy, threat models, attacks, mechanisms

Learning outcomes / study goals

After successful completion of this module, students will remember the motivation for and types of localized IoT networks and understand the (technical) foundations and mechanisms of such systems including sensors and their services. They understand the differences to cloud-based Internet services and are able to infer requirements for and the limitations of localized IoT services. They understand designing such services and implementing those as prototype on a real-world platform.

Teaching and learning methods

The class is conducted as lab course during Summer term 2022. The class comes in two parts: lectures on the topic of IoT and DIY elements will be given weekly. In parallel, groups of max 3 students will be formed, who will define and pitch their own DIY/IoT project topic within the first month of the class. The groups will then design, implement, and present their project results. During the term, weekly progress review meetings will be conducted in which all groups present their status, recent achievements, next steps, and issues, for which they will get feedback.

Available devices

Each team will receive equipment for their pitched project for the duration of the course consisting of RaspberryPis, microcontrollers, sensors etc. out of which to build their systems. The non-comprehensive list of the devices at our disposal can be found here  and, in case you have interesting use-cases, we can provide additional hardware on-demand (e.g., embedded boards with GPU to do ML at the edge for IoT).

Contacts

  • Prof. Jörg Ott
  • PD Dr. Christian Prehofer
  • Raphael Hetzel
  • Mehmet Mert Beşe

If you're very interested in taking this course, please send an email of motivation to hetzel [at] in.tum.de to increase your chance of getting matched to the course.

Material and concept by Teemu Kärkkäinen