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:
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.
Now, this is a hands-on lab on communication systems. Thus, you should bring some knowledge in this area.
The ideal prerequisites are:
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
The tasks in the first session cover:
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.