The Craft of Programming
by John C. Reynolds
Publisher: Prentice Hall 1981
Number of pages: 434
The modern computer is so powerful that a casual knowledge of programming suffices for most of its users. However, a variety of circumstances can abruptly require a much deeper understanding: the need to structure a program carefully to avoid being overwhelmed by its complexity, the need to insure reliability beyond what can he achieved by debugging, or the need to utilize computing resources efficiently. Beyond such practical considerations, there is an inherent intellectual satisfaction in mastering the fundamental concepts of programming. The aim of this book is to provide such mastery concept by concept. For example, the reader is expected to understand proofs of correctness and order-of-magnitude time requirements for simple integer algorithms - such as log n exponentiation - before the concept of arrays is introduced. A similarly thorough understanding of array manipulating algorithms is expected before the introduction of procedures.
Home page url
Download or read it online for free here:
by Stephen Muggleton, Luc de Raedt - ScienceDirect
Inductive Logic Programming is a new discipline which investigates the inductive construction of first-order clausal theories from examples and background knowledge. The authors survey the most important theories and methods of this new field.
by Chris Pine - Pragmatic Bookshelf
Pine teaches you how to program in Ruby with a minimum of fuss or bother. Starting with simple one-line programs, you'll see how to have your webpage send you email, to shuffle your music, to rename your photos from your digital camera, and more.
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 Sergey A. Babkin - CreateSpace
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.