This book presents in their basic form the most important models of computation their basic
programming paradigms and their mathematical descriptions both concrete and abstract. Each
model is accompanied by relevant formal techniques for reasoning on it and for proving some
properties. After preliminary chapters that introduce the notions of structure and meaning
semantic methods inference rules and logic programming the authors arrange their chapters
into parts on IMP a simple imperative language HOFL a higher-order functional language
concurrent nondeterministic and interactive models and probabilistic stochastic models.The
authors have class-tested the book content over many years and it will be valuable for
graduate and advanced undergraduate students of theoretical computer science and distributed
systems and for researchers in this domain. Each chapter of the book concludes with a list of
exercises addressing the key techniques introduced solutions to selected exercises are offered
at the end of the book.