The Black Art of Programming
by Mark McIlroy
Publisher: Blue Sky Technology 2013
Number of pages: 672
This e-book is an introduction to computer programming. It covers the essential information of a Computer Science course. Recommended for beginners and intermediate programmers. Contents: Program Structure; Topics from Computer Science; The Craft of Programming.
Download or read it online for free here:
by Lawrence C Paulson - University of Cambridge
This text teaches programming and presents some fundamental principles of computer science, especially algorithm design. The programming in this course is based on the language ML and mostly concerns the functional programming style.
by Peter Van Roy, Seif Haridi - The MIT Press
Covered topics: concurrency, state, distributed programming, constraint programming, formal semantics, declarative concurrency, message-passing concurrency, forms of data abstraction, building GUIs, transparency approach to distributed programming.
by Robert M. Keller - Harvey Mudd College
This book is intended for a second course in computer science, one emphasizing principles wherever it seems possible. It is not limited to programming, it attempts to use various programming models to explicate principles of computational systems.
by John C. Reynolds - Prentice Hall
Read this book if you need a much deeper understanding of programming: the need to carefully structure a program to avoid being overwhelmed by its complexity, or the need to insure reliability beyond what can he achieved by debugging.