Let's Design Everything Again: Thoughts on Computing and Its Teaching
Ricardo A. Baeza-Yates, Ted Nelson · 2001
Introduction and Motivation The first problem we have with our field is what name to give it. Are we talking about Computer Science and/or Computer Engineering or Informatics? Is the correct term computer, computation, computational or informatics? Where do information systems fit in or should they be they considered as a separate area? I still do not have any clear answers. Perhaps the problem is intrinsic. As the joke goes: Computer Science has two problems: Computer and Science. Have you ever heard of the science of washing machines or any other machine? Do mathematics or physics need to say they are sciences? In short it’s a problem of coming of age, of maturity, and consequently of insecurity. In any case it is clear that what we do is rooted both in engineering and basic science. Before we go on it is necessary to make something clear. Many of the things I say here are self-evident or common sense. Nevertheless, despite being obvious, many of them have not been said by anybody else and that’s why I am saying them here. Is it that they are very obvious or that they only become obvious once you know them? The ultimate aim of any software is to transmit some knowledge to the mind of the person using it and vice versa. The biggest bottleneck occurs at interfaces, at the final point of communication with the user, and the problem lies not only in bandwidth but also in the very way information is represented (Figure 1). As Djikstra said recently, we have still not been able to rise the challenge of making large software systems less complex. How to eliminate this bottleneck is the main aim of this article, which may seem like a hotchpotch of apparently unconnected arguments. However, we often forget to analyse our universe as a whole, from the point of view of an outside observer. For anything we wish to study, form and content should be given their due degree of importance and consideration. I will start by presenting an analysis of the relationship between technology and culture, and an analysis of computing itself and in the context of our profession. I will go on to talk 1