Logic in Computer Science: Modelling and Reasoning about Systems
Constraint Handling Rules
Steps in Scala: An Introduction to Object-Functional Programming
Python for Software Design: How to Think Like a Computer Scientist