Computational thinking is a relatively new approach to education, centered on problem solving as well as system design and analysis based on the paradigms of computer science [1]. By stressing computational thinking at all levels of education, people learn to think with more rationality and act more appropriately on problems of all kinds. Under the umbrella of computational thinking, this book was written by Robert Kowalski, an authoritative scholar in artificial intelligence and mathematical logic for more than 40 years.

Kowalski’s book centers on computational logic, a subset of symbolic logic that enables computationally effective representation of knowledge and reasoning. His main thesis is that computational logic can be intended as the language of human thought. By understanding that the language of our thoughts is mostly based on computational logic, we can reason, communicate, and act more rationally and effectively.

To make his thesis convincing in this slippery field, Kowalski takes a number of fascinating paths that make this book very pleasant to read. One of the most intriguing paths starts by considering a number of psychological experiments that are classically used to show that human beings do not always think logically. The author shows that the behavior of people involved in such experiments is actually consistent with computational logic under different interpretations of the experimental rules, namely, as beliefs or goals. The two interpretations are indistinguishable in classical logic, but are well separated in computational logic.

The analysis of psychological experiments is not the only method the author uses to explain how computational logic is central to human thought. He takes a number of real-world examples, such as the emergency notice in the London Underground, an excerpt from the British Nationality Act, and a lease termination clause from the University of Michigan, to show how such statements adhere to computational logic and, then, how effectively they communicate clear and unambiguous information.

Kowalski makes an effort to converge a number of artificial intelligence methods into computational logic, with the aim of showing the generality of the latter in dealing with problems that are classically tackled with specialized methods. Production systems, agent models, situation calculus, abductive systems, metalogic, and other topics are reviewed under the computational logic paradigm. All such methods are used by human beings and artificial agents to deal with problems and situations. By showing that these models are subsumed by computational logic, the author strengthens his thesis of computational logic as the core of human thought. All arguments are made in an informal way with simple examples described in natural language. A rich set of appendices provides the interested reader with a more formal treatment of many of the subjects discussed in the book.

The book tries to connect computational logic to human thinking with informal and easily accessible arguments. In principle, the book could be of great use to anyone wishing to improve their ways of thinking and communicating (computer scientists, lawyers, and physicians, to cite just a few), but in my opinion many chapters become too technical to be really appreciated by people without a basic knowledge of computer science. On the other hand, the position of the author that computational logic and human thinking are almost coincident is quite strong, and gives cognitive scientists and philosophers an easy target for criticism. The author does not consider the perceptive nature of most human knowledge, which has a granular and gradual characterization that can be hardly caught by computational logic. He also does not allocate the necessary space deserved by nonclassical logical systems--such as deontic logic, intuitionistic logic, and polyvalent logic--which model parts of human thinking.

In sum, this book could be of greatest value to computer science students and professionals who want to improve their computational thinking and have come to see that artificial intelligence is no longer an arid branch to be left in academic labs, but a topical discipline to be applied to everyday problems and situations.