Books

The Geometry of Ellipses and Planetary Orbits

Springer, 2026 ISBN 978-3-032-26271-4, ISBN 978-3-032-26272-1.

This is an open-access book.

This book gives bird's-eye view of ellipses and planetary orbits. The only background required is secondary-school Euclidean geometry, analytic geometry, and trigonometry. From the time of the Greeks, proof meant proof by geometry. The book contains Newton's detailed geometric proof of the inverse-square law of orbits. Turning to planetary orbits, the book presents Kepler's geometric proof of his First Law, as well as his equations for computing the position, speed and direction of a planet in orbit. Next, the computation of Lagrange points is given. These are points in an orbit where a spacecraft can be placed so that its period is the same as a planet. Euclid is well known but mathematicians were equally familiar with Conics by Apollonius of Perga. Some of his results are given in modern notation, although the presentation is faithful to his style. The final chapters present challenging theorems on ellipses: the Steiner inellipse, Marden's Theorem, the theorems of Pascal and Brianchon, and Newton's Ellipse Theorem.

  • Download PDF or order printed copies from Springer.
  • Download LaTeX source from GitHub.

Mathematical Surprises

Springer, 2022, ISBN 978-3-031-13565-1, ISBN 978-3-031-13566-8.

This is an open-access book.

The book presents a selection of surprising topics in mathematics: the formalization of origami, little-known constructions with straightedge and compass, the five- and six-color theorems and a taste of Ramsey theory. The highlight of the book is a detailed presentation of Gauss's purely algebraic proof that a regular heptadecagon (a regular polygon with seventeen sides) can be constructed with straightedge and compass.

  • Download PDF or order printed copies from Springer.
  • Download LaTeX source from GitHub.
  • A German translation has been published. Download PDF or order printed copies from Springer.
  • French, Hebrew and Spanish translations are available from GitHub.

Elements of Robotics

Mordechai Ben-Ari and Francesco Mondada.

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

This is an open-access book.

The book focuses on robotic algorithms: odometry, feedback control, localization, mapping, image processing, machine learning and swarm robotics. These algorithms are demonstrated in simplified contexts that enable detailed computations to be performed. The theory is supplemented with over 100 activities, most of which can be successfully implemented using inexpensive educational robots.


Mathematical Logic for Computer Science (Third edition)

Springer, 2012, ISBN 978-1-4471-4128-0.

This book is about mathematical logic that has applications in computer science: tableaux, SAT solving and model checking. 

  • Prolog implementation of the algorithms on GitHub.
  • LearnSAT is a software program for learning SAT solving.

Principles of Concurrent and Distributed Programming (Second edition)

Addison-Wesley, 2006. ISBN 0-321-31283-X.

An introduction to concurrent and distributed algorithms that use the synchronization primitives: semaphores, monitors, channels, rendezvous, spaces and token passing.  Another major topic is verification using deductive methods, temporal logic and model checking. 

  • Source code of the example programs on GitHub.

Computer Science Concepts in Scratch

Michal Armoni and Moti Ben-Ari.

Weizmann Institute of Science, 2010.

This textbook presents concepts of computer science using Scratch, where each concept is introduced through a sequence of tasks. An archive containing about 150 programs in Scratch can be freely download.

English website.
Hebrew website.


Ada for Software Engineers (Second Edition with Ada 2005)

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

Ada for Software Engineers teaches the language 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 features from Ada 2005. 

  • Source code of the case studies and the quizzes on GitHub.

Principles of the Spin Model Checker

Springer, 2008. ISBN: 978-1-84628-769-5.

This is an introductory textbook on the use of the Spin Model Checker for modeling and verifying concurrent and distributed systems.

The following may be found on GitHub:

  • Document with update for Spin 6.
  • Source code of the Promela programs.
  • Source code of the Promela programs for the Erigone Model Checker.

Just a Theory: Exploring the Nature of Science

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

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. It will give curious readers a good grasp of what real science is, as well as a better understanding of why so many of the claims we hear and read about everyday fall far short of being "just a theory."


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