Communication Systems Lab


  • SWS: 4, ECTS: 7.0, (Media Informatics stduents have to write a detailed project report to get 10.0)
  • Lecturer: Prof. Dr. Klaus Wehrle
  • Teaching Assistants: Jan Rüth, Jó Ágila Bitsch, tba.
  • 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: Probably 1. October, same place and time as the weekly meetings (includes a short lecture)
    • Part I: Network programming basics and Android
    • 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 divers 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.

You will gather experience in working with:

  • … network programming on Linux
  • … programming on Android
  • … network analysis tools
  • … Android devices
  • … projects from the last year included: 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 and 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
  • 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 devices and their programming and (2) your project on Android-based 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

The tasks in the first session cover:

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

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.