Lectures on computer science. Vol. 2: Object oriented programming and algorithms (Q5917775)
From MaRDI portal
scientific article; zbMATH DE number 867333
| Language | Label | Description | Also known as |
|---|---|---|---|
| English | Lectures on computer science. Vol. 2: Object oriented programming and algorithms |
scientific article; zbMATH DE number 867333 |
Statements
Lectures on computer science. Vol. 2: Object oriented programming and algorithms (English)
0 references
17 April 1996
0 references
The second volume of Gerhard Goos' lectures on computer science focuses on the construction of sequential systems and algorithms. The presented material continues that of the first volume and grew out of lectures given by the author for undergraduate computer science students at the University of Karlsruhe. In the first chapter of this second volume, Chapter 8, the autors discusses the state oriented programming style as realized in imperative programming languages. Basic notions, like variables and constants, scope, lifetime, value and type of a variable, statements, program units and programs are introduced at hand of the programming language SATHER. The introduction comes together with an introduction of the basics to the Hoare/Dijkstra calculus. In Chapter 9, the principles of structured programming are introduced. Beside the principle of stepwise refinement, the methods of refined data abstraction which is discussed at hand of the example of the sorting problem and the method of programming with objects are discussed in detail. In Chapter 10, the basic principles of object-oriented programming are introduced and discussed. The introduction of basic notions like objects, classes, and a comprehensive discussion of object-oriented modeling is completed by the presentation of a very detailed example. Then, the implementation of an object-oriented model by a program is discussed. The chapter concludes with a detailed presentation of various data structures. At hand of the machine language SIMPLICIUS, in Chapter 11, the following questions are addressed: How do processors perform programs; What has to be observed when creating compilers and interpreters; First experiences in writing assembler programs; Precise definition of the notion of computability. The last chapter of the second volumes, Chapter 12, continues the discussions of Chapter 7 and introduces further methods for constructing efficient algorithms, like dynamic programming, amortized analysis, precomputations and randomized algorithms. The volume concludes with an appendix which presents a comprehensive introduction of the syntax of the programming language SATHER. Similar to the first volume, each chapter ends with a section that gives some relevant references and short extending remarks. Exercises and examples throughout the presentation serve for illustrating the treated concepts. A lot of philosophical remarks inside the text give valuable hints for a better and deeper understanding of the presented material.
0 references
programming language SATHER
0 references
object-oriented programming
0 references