Origins and Foundations of Computing by Friedrich L. Bauer & Norbert Ryska