The course \Introduction to computer science" is usually one of the first courses when studying computer science in Germany. This course typically includes basic concepts on programming, data structures and algorithms on an introductory level. This book is based on such a course and covers all the material on more than 700 pages consisting of 5 major parts and an appendix.
The first part on basic concepts provides the introductory algorithms for computing the greatest common divisor and for insertion sort as well as an introduction to programming in the programming language C, data representation methods and architectural structures of computer systems. The second part on algorithms introduces a naive and a more formal definition of an algorithm and defines the important aspect of efficiency and complexity of an algorithm. Basic data structures, such as lists, stacks, queues and heaps, are treated in Part III together with algorithms for searching and sorting. Part IV is devoted to graph data structures, their properties, and algorithms on graphs, such as depth-first or breadth-first search.
More advanced material from graph theory as well as networks is also given. Part V is a comparatively short part on parallel hardware and parallel programming. The appendix provides more mathematical background material on sets, relativity and number theory. The book is written in German. The author mentions that the material presented is especially inuenced by the books from Aho and Ullmann, Cormen, Leiserson and Rivest, Knuth, and Kowalk.
Gudula Rünger (Chemnitz)
Einführungswerk zur Informatik, das auf Vorlesungen an der Universität Oldenburg (WS 1998 und SS 1999) beruht und der Schulung im fonnalen Denken viel Platz einräumt. Die Programmbeispiele sind in C geschrieben. Interessante Alternative zu dem Klassiker H.P. Gumm (10. Auflage: ID-B 52/12). Hinzuweisen ist auch auf T. Häberlein (ID-G 3/12), der sich stärker der praktischen Informatik zuwendet und sich auf die Linux-Shell Bash und die Sprache Python stützt. Das zu besprechende Buch stützt sich auf viele gut nachzuvollziehende Beispiele und bringt zu fast jedem Kapitel Übungsaufgaben (oft mit Lösungsskizzen im Anhang) und Literaturhinweise. Sehr hilfreich sind auch die vielen Anhänge, die z.B. Grundlagen der Mengenlehre und der Zahlentheorie kurz zusammnenfassen oder das Bearbeitungssystem für Graphen GHS vorstellen. Ein Verzeichnis aller behandelten Algorithmen mit Kurzbeschreibungen ist ebenfalls zu erwähnen. Schwerpunkte liegen bei einfachen Datenstrukturen, Algorithmen und Graphen. Gut berücksichtigt werden aber auch Parallelität in Rechensystemen und Netzen einschließlich ihrer Programmierung. (2)
Klaus Barckow