Communication Systems Lab


  • SWS: 4, ECTS: 7.0, (Media Informatics students have to write a detailed project report to get 10.0)
  • Lecturer: Prof. Dr. Klaus Wehrle
  • Teaching Assistants: Jan Rüth, Helge Reelfs, René Glebke.
  • Study programs: Master Informatik (Software und Kommunikation), Master Software Systems Engineering (Communication), Master Media Informatics
  • For more information see also the event's CAMPUS page.
  • Registration for this course takes place at the central location.
  • Important dates:
    • Weekly meetings: tba, in the COMSYS Seminar Room (Floor 0, Building E3, Ahornstr. 55, Computer Science Campus, Room: 9007)
    • Introductory meeting: Update: Mid-October (exact date will be announced via email), same place and time as the weekly meetings (includes a short lecture)
    • Part I: Network programming basics and Android/Arduino
    • Part II: Individual projects
    • Presentation of results: Mid/End of February

What is the content of the Lab?

Smartphones and tablets have become widely disseminated over the last few years. The variety and amount of diverse applications also known as apps made these devices very popular. A typical operating system running on these devices is Android. In this lab you will learn how to program such applications for these devices but with network communication as an essential part. For example, you will learn to write a client and server code for Android devices. Furthermore, we are currently experiencing the advent of the IoT, small devices that surround us are becoming more and more powerful and will enhance our daily life in the future. In this lab you will gain hands on experience with these small devices.

You will gather experience in working with:

  • … network programming on Linux
  • … programming on Android
  • … network analysis tools
  • … Android devices
  • … Arduino devices and sensors
  • … projects from the last year included: a submarine, a visible light controlled train, a smart coffee machine, a smart table soccer, a karaoke app, an SSL sniffer, Bluetooth home automation, acoustic communication, a smartphone presenter, a hearing testing app, an NFC smartphone card reader, a music recommendation system, sports glasses applications, multi-room audio synchronization

Why should I take the communication systems lab?

Most of you need to take a lab anyway, so why not this one? ;)

This lab is an ideal candidate to give you a hands-on experience on mobile devices running Android, IoT devices and the communication between them.

What should I bring?

Now, this is a hands-on lab on communication systems. Thus, you should bring some knowledge in this area.
The ideal prerequisites are:

  • BSc. or equivalent (e.g. be in a masters program)
  • Some lectures in the area of Communication Systems, Distributed Systems and/or Mobile Communication
  • Taking (or having taken) our "Mobile Internet Technology" lecture, "Advanced Internet Technology", or "Communication Systems Engineering" lecture is helpful
  • Knowledge of C programming, additionally some Java or Python is helpful
  • Don't be afraid of electronics and circuits and know their very basics, if you never heard of a resistor you might be wrong here
  • Strong interest and willingness to contribute time


What will I do in the communication systems lab?

The communication systems lab consists of two parts: (1) Becoming friends with mobile/IoT devices and their programming and (2) your project on communication systems.

In the first part, we introduce you to the two most relevant operating system aspects. Lab sessions cover

  • Socket programming on Linux
  • Introduction to Android, including the software development kit
  • Programming on Android
  • Programming Arduinos


The tasks in the first session cover:

  • Programming client server applications
  • Accessing web resources and creating UIs
  • Dig into DIY home-automation
  • Accessing sensors on the mobile device/IoT devices


After this introduction the second half of the lab will be a project. Thus, you and your teammate(s) will choose a project (with the help of the teaching assistants). They will give various suggestions of projects that they consider interesting, but you are very welcome to find your own topic. All projects are supposed to address open research problems or we want to make them accessible to everyone, e.g., via Google Play or Github.

- Impressum | Datenschutz -