Programming from Specifications
by Carroll Morgan
Publisher: Prentice-Hall 1998
Number of pages: 260
Programming from Specifications presents a rigorous treatment of most elementary program-development constructs, including iteration, recursion, procedures, parameters, modules and data refinement. The second edition retains the simple approach of the original: the integration of specification, development and coding, and the use of ordinary (classical) logic. Additions include more material on data refinement, a complete chapter on recursively defined types, and two further extended case studies.
Home page url
Download or read it online for free here:
(multiple PS files)
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 Karthik Naidu - GitBook
These are engineer's notes on problem solving. They are ideally suited as practice material for coding interviews. Each post has 5 sections: problem statement, examples, algorithm, code, test cases, and a discussion on time-complexity.
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.