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 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 Nils M Holm - Lulu Press
This book introduces the concept of functional programming, describes a language that fulfills all the requirements, and shows how to solve simple problems in it. The book shows how to apply these techniques to some problems of varying complexity.
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++.
by Allen Cypher - The MIT Press
Programming by Demonstration is a method that allows users to create programs by demonstrating what the program should do. The book describes 18 implementations of Programming by Demonstration, and discusses the problems for this method.