1. Types and Programming Languages by Benjamin C. Pierce. This is a book about implementing type systems in programming languages. It uses λ-calculus. 2. Information Theory, Inference, and Learning Algorithms by David MacKay. This is a book on Information Theory. It covers probability, inference, coding of data, and neural nets. 3. Verification of Reactive Systems : Formal Methods and Algorithms by Klaus Schneider. This is a book about verification of real time systems. 4. Algorithmic Learning in a Random World by Vovk, Gammerman, and Shafer. This is a book about Machine Learning that takes that randomness of the world into account. 5. The Random Projection Method by Santosh Vempala. The method in the title involves taking a high-dimensional problem and randomly projecting it to one-dimensional. This technique is used in combinatorial optimization, learning, and information retrieval.