Why did you follow the interaction between humans and computers

Why are computers so difficult to understand? Many people have experienced how difficult computers are to use and that they never seem to do what they are really supposed to do, simply go wrong and make absurd mistakes. Computers seem to be made for magicians, not "normal" people. But they should be made for all people because computers are everyday tools that help us learn, work and play better.

The area of ​​a computer system that one interacts with is called the "user interface." That is the most important thing! Although you probably know what the program does and what the user interface looks like, a program is not at all appealing if you don't know what it is and it doesn't do what you want. User interfaces are very difficult to design and create, and it is believed that much more effort goes into creating interfaces when writing programs than any other part of the program. Some software has great user interfaces, that is, interfaces that do not require complicated instructions and are almost invisible when you use the application. But countless software products that are otherwise very good turn out to be flops because they have unusual user interfaces. Entire industries are around clever interface ideas n, like word processors or smartphones that promote access to arithmetic functions that are of fundamental importance.

But why do we need to have user interfaces at all? Why can't we just talk to our computers like we do to our friends? Good question. Maybe one day we'll do it; but maybe not. But certainly not now: There are tremendous practical limitations to how "smart" computers could be today. The following activities will help you understand the problems of user interface design, think more clearly about the limitations of computers, and help you avoid the misleading Beware of hoopla, often used to promote computer products.

For teachers

On the computer it's less about calculation and more about communication. Arithmetic in itself has no intrinsic value; it is only worthwhile if the results are somehow communicated to the world outside the computer and have an influence there. Perhaps surprisingly, this means that computer science is less about computers and more about people - in the end, a computer is useless if it doesn't help people in some way. All of the ideas we've looked at to make computers work quickly and efficiently are only needed because people need computers to be quick and economical.

The interface is how humans and computers communicate. Many of the activities in this book are about communication. The representation of data (here) shows how different types of information can be transferred to a computer or between computers. The representation of processes (here) is about communicating with processes to a computer in order to tell it how certain tasks are to be done - after all, "programming" only means speaking to a computer in its own language! In cryptography (here) is about how to communicate secretly or communicate parts of secrets without revealing everything.

The following activities are about how people communicate with computers. While all parts of the book have been based on well-understood, technical ideas from the start, this is no longer the case for this part. This makes it easier, on the one hand, because no special knowledge is required from the students, and on the other hand, more difficult, because a certain level of maturity is required to understand what the activities are about and to relate them to a broader context. These activities are much more detailed than most of the others, as it is necessary that you, the teacher, be given enough background material to be able to draw conclusions in the group discussion.

There are two activities in this section. The first concerns the area known as "human-computer interaction", commonly abbreviated as HCI. To "separate" this activity. to unplug), i.e. without depending on prior knowledge of a particular example of a computer system, we came up with a design exercise that does not really concern computers, but introduces basic principles that are used in the design of human-computer interactions. Since human-computer design is culture-dependent, there are no necessarily "right" answers in this activity, which may frustrate some students. The second activity is in the area known as "artificial intelligence" or AI. It includes a guessing game that stimulates students to think about what computers can and cannot do.

For the technically minded

Human-computer interaction has become one of the most topical research areas in computer science as people have recognized how much the success of a software product depends on its user interface. The topic draws on a wide range of disciplines outside of computer science, such as psychology, cognitive science, linguistics, sociology - including anthropology. Few computer scientists are trained in these areas, and HCI is a major growth area for people interested in the "gentler" side of the subject.

Artificial intelligence (AI) is a topic that often leads to controversy. In this book we have tried to strike a balance between AI supporters who believe that intelligent machines are already in the immediate vicinity and AI skeptics who believe that machines in principle cannot be intelligent. Our aim is to encourage students to think independently about such problems and to promote a balanced perspective.

The activities here relate to two very readable books that we highly recommend if you want to pursue these topics further: "The design of everyday things" by Don Norman and "Artificial intelligence: the very idea" by John Haugeland. Prof. Thomas Eiter and Prof. Stefan Woltran (Vienna University of Technology), fellows of the European Association for Artificial Intelligence (EURAI), also write "Thinking Machines" for a wide audience.

Computers involve another important type of communication that is not covered in this book: communication between the people who build a computer system. Pupils who learn about computers and find their way into the job market - perhaps with a university degree in computer science - are always surprised at how much interpersonal communication their job entails. Computer programs are the most complex objects humans have ever designed, with millions or perhaps billions of components intertwined, and programming projects are carried out by tightly knit teams that work together and spend much of their time communicating. Once the product is ready, the task of communicating with customers through user manuals, courses, "help" telephones, online support, and the like - not to mention the problem of communicating with prospects through presentations, exhibitions, and advertisements. We have not yet found a way to realistically “unplug it” (to unplug it) the interpersonal communication aspect of computer science, so that it will not be discussed in this book are able to describe things from their own experience and to stimulate discussions.