Mathematical Surprises

This open access book provides plenty of pleasant mathematical surprises. There are many fascinating results that do not appear in textbooks although they are accessible with a good knowledge of secondary-school mathematics. This book presents a selection of these topics including the mathematical formalization of origami, construction with straightedge and compass (and other instruments), the five- and six-color theorems, a taste of Ramsey theory and little-known theorems proved by induction.

Elements of Robotics

Elements of Robotics

Springer, 2017
ISBN 978-3-319-62533-1, ISBN 978-3-319-62532-4.

The book presents an overview of different types of robots and the components used to build robots, but focuses on robotic algorithms: simple algorithms like odometry and feedback control, as well as algorithms for advanced topics like localization, mapping, image processing, machine learning and swarm robotics.

Computer Science Concepts in Scratch

Michal Armoni and Moti Ben-Ari.
Weizmann Institute of Science, 2010.

This textbook is intended to teach concepts of computer science using Scratch. Each concept is introduced through a sequence of tasks, each task adding a bit more functionality or modifying the animation in some way. The solutions of each task are explained in full, gory detail. We envision that teachers will present the students with sequences of tasks to try to solve on their own, but we firmly believe that full explanations must be available. Each task and exercise as been completely solved in Scratch and an archive containing about 150 working programs can be freely download.

Ada for Software Engineers (Second Edition with Ada 2005)

Springer, 2009. ISBN 978-1-84882-313-6.

Ada for Software Engineers teaches the language as it is used in practice through relatively large case-studies such as a discrete event simulation. The presentation emphasizes the features for object-oriented and systems programming that were introduced in Ada 95, as well as the new features in Ada 2005. A graduated introduction to the terminology and style of the language reference manual makes this an ideal textbook for practicing software engineers.

Just a Theory: Exploring the Nature of Science

Prometheus Books, 2005. ISBN 1-59102-285-1.

Some people derogatively claim that evolution is "just a theory," as if it were a fanciful idea that may be accepted or disregarded based on personal taste. But as science well knows, to say that an idea is "just a theory" is actually to pay it a great tribute! Just a Theory is an overview of the modern conception of the nature of science that will enable readers to distinguish the claims of science from the claims of pseudosciences such as creationism and astrology (which illegitimately wrap themselves in the mantle of science). With a light (even humorous) tone and a text that is easy to read, readers are invited to explore the key concepts of the nature of science.

Books out of print

  • Mathematical Logic for Computer Science (Second Edition)
  • Ada for Software Engineers
  • Understanding Programming Languages
  • Principles of Concurrent and Distributed Programming
  • Mathematical Logic for Computer Science
  • Principles of Concurrent Programming