Short introduction to the didactical concept with some historical remarks¶
What is a magician but a practicing theorist?
-- Obi-Wan Kenobi, 'Return of the Jedi'
In winter term 2003/2004 I attended a practical course at a new professor's chair in
Tübingen. This professor was Prof. Dr.-Ing. Georg Carle and his chair was the chair for
"Rechnernetze und Internet". The course was called "Internetpraktikum" and it was held by my
friend Uwe Bilger by then. The course was based on a very nice book called "Mastering Networks:
An Internet Lab Manual" by Jörg Liebeherr and Magda El Zarki. I enjoyed the course a lot.
During the semester I told Uwe several times about how the exercise could be improved and so I
was hired to work on improvement together with him for the upcoming summer term ;) We started
designing entirely new exercises based on our experience from the first run. Over the years the
exercises went through several steps of improvements by various people of whom besides Uwe Bilger
especially Joachim Schiele, Andreas Korsten, and Stephan Günther are to be named as they did
major improvements on the exercises or the hardware and software of the lab rooms. The result are
the exercises Internetpraktikum in Tübingen, since 2008 iLab and since 2010 iLab2
In 2011 more than 400 students have attended one of the named exercises. So you are in a good
tradition and as the feedback was very positive I think you will like the exercise ;)
Enough history, let's get back to the didactical concept that evolved with the contents over the
When designing this course concept we thought about "Which is the best way we know to
transport our knowledge to our students?". The quote on top expresses something very
interesting: we can only do magic -and I consider computer science as magic- if we have a solid
theoretical background. In other words: we can only understand the outcome of a practical
experiment if we know what we should see and why things could be the way they are. Many questions
in the exercises will be around this. You will find the answers to the practical questions in the
As you can see, I consider the theory very important. What I do not like is boring theory with no
application. As we will do a practical exercise together we will do hands-on, so it will be fun.
The result of several years of my practical experimentation with students is that we need theory
to master the practical part. We need incentives to work with the theory and some kind of
redundancy will help remembering the facts. The outcome is the course structure I will explain to
In the exercise we have three parts:
- lecture (~1h)
- individual preparation of the theoretical background (~4-6h)
- practical exercise as a team (6-8h)
The three parts have a different focus each:
The lecture is meant to give you an overview and a refresh about the topic of the next
exercise. It is planned as an event where all participants come together in a room and listen to
a talk. Additionally this weekly appointment is meant to give you a forum to raise questions and
discuss topics! If you already know about some things in the lecture: even better. You can use
the lecture for asking more about the topics. The small group of participants is optimal for
The individual preparation of the theoretical background is done inside this system as
so-called prelab - individually by each participant. The reason for doing this part alone and not
in a group is that you can select the speed and depth of going through each of the topics by
yourself this way. You can learn wherever and wherever you want as long as you have
Internet there since everything is linked online in this system. The topics covered by the
prelab give you more in-depth information about the topics already covered in the lecture. You
get prepared for the practical part. The content of the prelab is highly correlated to the
exercises in the lab later. It gives you the necessary knowledge to be the magician.
In the prelab you find multiple choice questions. They are meant to support you in your learning
process. Use them to control yourself if you got the important points from the texts. The prelab
is a good indicator for you to know if you are well prepared for the practical part.
The practical part, the lab is the hands-on part finally. You do it in your team in the
laboratory room. Here you do the magic by playing around with the technical equipment, going
step-by-step towards a cool result.
This part is done as a team as you can learn a lot from each other. Exchange your thoughts
and ask each other about why things are the way they are or how you can do this and that. Asking
questions and explaining things to each other will teach you hard- and soft-skills.
Having to formulate your answers in English will give you good skills here as well. Try to
be accurate and correct and not to wordy when answering... Usually a short clear answer is
Finally debugging or solving problems without external help is something to mention for
the hands-on. Of course you will encounter problems. It is a real-life hands-on. You will do
everything from cabling to setting things up to running experiments - a lot of error prone tasks.
Even if you make everything right, side-effects might tamper your experiments. How to deal with
such situations in a structured way is something you will often need during and after your
studies. This exercise will help you to improve this skill. You will notice at the end that a lot
of the problems you had at the beginning could have been solved easily with the knowledge you
have at the end. If you encounter problems try to solve them for at least half an hour in your
team first. Only then ask the tutors. This will help you improving your debugging skills a
The following table gives you a short overview of the parts and their goals:
Each exercise consists of the three parts: event (audience) [expected time horizon]
- Lecture (whole group) [~1h]
- Get the background to the upcoming exercise.
- Exchange feedback to the past exercise.
- PreLab (individual, in the web system) [~4-6h]
- Work on the background to the upcoming exercise.
- Prepare theoretically (and if necessary practically) to be able to do the upcoming
exercise without getting into trouble.
- Should make you able to understand problems that might occur during the lab.
The credits from this part are not part of your lab mark. Feel free to make errors
and learn from them!
- Lab (team, in the web system) [~6-8h]
- Use your gained theoretical knowledge from the previous parts in the practical
- Deepen your knowledge.
- Learn to identify problems and remove errors by yourself as a team.
Why do I bother you with such details? I think it is good when you know why we did the
things this way. Having that in mind you can benefit much more from the exercise!