The Practice of Parallel Programming
by Sergey A. Babkin
Publisher: CreateSpace 2010
Number of pages: 422
This book provides an advanced guide to the issues of the parallel and multithreaded programming. It goes beyond the high-level design of the applications, into the details that are often overlooked but vital to make the programs work. The content is oriented towards the programming of the operating systems, servers and business applications.
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 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 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.
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.