All five the course days were planned to have identical structure, except that the last afternoon ended with drinks in the faculty garden. The mornings were spent plenary in a lecture hall. In the afternoons the students exercised in the lab.
The morning started with a brainstorm around the theme of the day: What is it essentially? What are the parts from which it is composed? How can the essence be captured in some simple statements?
From Tuesday onwards, every brainstorm started from where the one on the previous day had stopped, taking into account what had been learned during the previous day.
The second section consisted of a demonstration of a wide spectrum of phenomena. The guiding questions were: “what is essential?” and: “what is the state of the art?” Various examples of hardware were physically exhibited in the lecture hall, while the software demonstrations were done by means of a Macintosh PowerBook (laptop) connected to the Internet and to a beamer projector.
The third and most important section, again in discussion form, was dedicated to analysis of the phenomena seen. How is it possible that this works? What is necessary to make it work? How can we learn to structure what we see? Can we understand it in a simple way, without getting lost in detail?
Not only principles from informatics (protocols, programming languages, data structures, etc.) were addressed. Attention was also explicitly paid to more general tools of academic reasoning, like abstraction, structuring, Occam’s razor, languages, recursive definitions, etc. whenever concrete instances of these passed along.
4. Exemplary research questions
The fourth section consisted of the presentation and discussion of one or two exemplary research questions. Why is it far from trivial to understand or make this? What are the pitfalls? Which achievements of mathematics and science are necessary to solve this?
The five days
This is a chronicle of what happened in the lecture hall from day to day. The reader will notice that the line of discussion was influenced strongly by the students’ questions and observations. With some careful stimulation they could detect many essential questions by themselves.
The phenomena demonstrated and discussed had been carefully selected and prepared in advance, of course. In this chronicle, they are marked by “” in order to give an impression of the planning. Of course, the selection depended on what was available. The teachers of this course should feel free to adapt the list to the local possibilities—as long as the spectrum remains broad.
The principles of the tool-box of academic reasoning that came along are marked by “•”.
1. Monday. Networks
The lecturers introduce themselves to the new students. One of them does this via an amateur video conferencing connection with CU-SeeMe and a QuickCam, demonstrating some of the possibilities but also limitations of this technology.
Thereafter, goals and the structure of the course are explained briefly. Emphasis is put on the importance of discussion, questions, and critical remarks. Scientists are people who love to formulate difficult questions and to challenge each other, and we are now starting together to exercise this. Do not hesitate to ask any question whatsoever. You may find that you already know much of what is demonstrated here. But are you sure that you can explain it to your aunt? Let us try to understand what informatics is al about, and, above all, let us try to separate the essential from incidentals.
Today we will investigate computer networks. What is a computer network? To stimulate the brainstorm, five different networks are—at least to some extent—present in the lecture hall: (1) a Macintosh PowerBook, connected to the Internet, to a camera and to a beame; at closer notice the PowerBook turns out to be a network by itself, containing various PC-cards and more. (2) a radio clock receiving time signals via long wave from Frankfurt. (3) a banking card plus a small chip-card reader to be worn on a key ring. (4) the campus telephone network. (5) the GSM-telephone network.
What are we studying?
What, essentially, is a computer network? Obviously the physics of information transmission can vary: it can be done via all kinds of cables or via radio. There even are packet radio satellites that physically carry computer data around half the Earth, to let them “drop” on the place of destination.
The common aspect is that a variety of computers exchange information along suitable channels. The specific nature of the connections tends to become less and less important: Internet can come via tv cable, telephone, Ethernet, GSM or whatever.
What are its components?
What, then, are the “computers” that form the nodes of a network? They can come in extremely different shapes and sizes, but obviously they al have something in common. What is that? It has to do with information processing and with communication; most of them are programmable in some way or other; in any case they are objects designed for a purpose. Whether they have a keyboard and a screen is less essential. Even a modem turns out to be a complete computer at closer look.
A number of Internet-applications are demonstrated and discussed. It turns out that, although being impressive, most of them are nothing new.
Under certain reasonable assumptions most of them can be understood easily. Provided that the Internet is a network that can transport all kinds of information between any two computers and provided that a computer can be programmed to behave as almost any other technical device, Internet-phone is just telephone, news is essentially nothing but a clever pin-board, irc is a textual version of the chat boxes known from telephone, e-mail is mail. Tell me what kind of communication you need, and it can be done via Internet.
One Internet-application, however, brings something completely new into the world: the world-wide web with its clickable hyperlinks and its anarchic structure. Nevertheless, it is based on a couple of principles which are not difficult to understand.
For a clear discussion of the essence of the Internet it is important to stay at the highest level. If we look at bits on cables and in computer programs the great lines get out of sight.
• Abstraction is the first example from the toolbox of academic reasoning.
So let us assume that computers somehow or other can be programmed to do what we want them to do and that messages can be exchanged between two adjacent nodes in a network. What, then, is necessary to make an Internet?
The following basic ideas are explained and discussed.
and their hierarchic structure which allows addressing of the whole world without one central office that gives out all addresses. Compare: bar codes, ISBN, telephone numbers.
as a transparent protocol for all kinds of information. Data packets with address and type.
Name servers and routers
to connect the whole world without having a central office.
Uniform resource locators
as a means to address an arbitrary resource within an arbitrary computer.
to make meaningful use of that general, transparent network. To communicate via the net, the partners need (1) a computer with Internet access and (2) suitable application programs to allow the form of communication they want.
1.4. Exemplary research questions
In the old days, a system administrator had to provide each computer in a network with a table describing the network structure and the nature of all nodes. Whenever the network was changed, all tables had to be changed. More elegant is a network in which all nodes configure themselves by finding out what their neighbours are. After some reasoning it becomes clear that when the nodes of such a network are switched on, they will have to elect a leader who can take some decisions for the whole network. How can all nodes be provided with identical programs in such a way that they can be guaranteed to decide on a leader? The discussion of this question brings a number of essential concepts and problems to consciousness: specification vs. design; verification; the importance of protocols; algorithms vs. concrete programs, etc.
The participants experience that it is a long way from the general idea (“just determine the computer with the highest serial number and make it the leader”) to a protocol which actually achieves it, and that it might be even more difficult to actually prove that such a protocol is correct.