Fundamental Ideas of Computer Science

data type . Horizontal criterion: Used in all forms of specifying objects that stress operations and their properties without relating to an implementation. Vertical criterion: (P) The natural numbers may be defined as an abstract data type with constants 1 and operations +1 and -1. The same holds for the blocks world: On a table there is a number of blocks that may be piled up. Operations are putting one block onto another one and testing whether a block lies on another one or whether it lies immediately on the table. Is it possible to establish any situation by these operations (idea of completeness)? (S1) The two examples mentioned above may be made more precise here. Problems concerning consistency and completeness of an abstract data type may follow. Which laws hold for the operations in the blocks world? (S2) On this level a formal notation for abstract data types may be introduced using more complex examples (stack, queue, file). Considerations on implementation may follow. Criterion of sense: An approach similar to abstract data types appears in constructing a machine by specifying its behaviour. In particular, this principle is relevant in open calls for tenders that only specify the „abstract“ behaviour of the object without mentioning any „implementations“ specific for an eligible producer. Now it remains to show how ideas occur in the historical development of computer science (criterion of time). Some important stages of computer science since 1950 are illustrated in Figs. 10 through 12. verification, nondeterminism (Floy d) verification (Hoare) 1950