\input zb-basic \input zb-ioport \iteman{io-port 00194975} \itemau{Mandrioli, Dino; Ghezzi, Carlo} \itemti{Theoretical foundations of computer science.} \itemso{New York etc.: John Wiley \& Sons Ltd. XXV, 504 p. (1987).} \itemab From the preface: ``The main purpose of the book is to present theoretical computer science as a unitary basis for all computer science studies. {\it Chapter 0} covers mathematical prerequisites. The level of coverage is shallow - in the form of a glossery - for the most standard topics such as basic concepts of algebra and combinatorics. It is self- explanatory for less common topics such as mathematical logic, axiomatization of arithmetic, and the theory of recursive functions. {\it Chapter 1} deals with the basic formalisms of theoretical computer science: automata and grammars. It also covers less standard topics, such as equations in language spaces and Petri nets. The style of the chapter is not a model-by-model or theorem-by-theorem description of theoretical concepts. Rather, its purpose is to enhance the reader's attitude to defining formal models and reasoning about them. {\it Chapter 2} deals with the concept of computational power of a formalism, specifically the issue of decidable and undecidable problems in the light of the fundamental Church's thesis. {\it Chapter 3} introduces computational complexity as a refinement of decidability. Complexity is a measure of cost of problem solutions, which depends on the computational device used for implementation of an algorithm. The differences and relationships between different models in complexity analysis are throughly investigated. {\it Chapter 4} deals with tools for formally defining semantics of programming languages. We introduce and contrast two main approaches: operational and denotational semantics. {\it Chapter 5} is an application of the concepts developed in {\it Chapter 4}, formally proving program properties; in particular, program correctness. {\it Chapter 6} deals with nondeterminism and concurrency. It is an introduction to the problems, difficulties, and impact on formal models, arising in the description of nondeterministic and (or) concurrent computations.'' \itemrv{~} \itemcc{} \itemut{decidable and undecidable problems; Church's thesis; computational complexity; semantics of programming languages; proving program properties; nondeterminism and concurrency} \itemli{} \end