Computer Science: Abstraction to Implementation
by Robert M. Keller
Publisher: Harvey Mudd College 2001
Number of pages: 627
This book is intended for a broad second course in computer science, one emphasizing principles wherever it seems possible at this level. While this course builds and amplifies what the student already knows about programming, it is not limited to programming. Instead, it attempts to use various programming models to explicate principles of computational systems.
Home page url
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 Carroll Morgan - Prentice-Hall
Rigorous treatment of most elementary program-development constructs, including iteration, recursion, procedures, parameters, modules and data refinement. Additions include more material on data refinement, recursively defined types, and case studies.
by Jon Bentley - Addison-Wesley Professional
The book focuses on choosing the right algorithms and on showing how to solve problems effectively. Each chapter frames a particular programming task (sorting numbers, creating anagrams, counting the words). Code examples are written in C and C++.