Best of
Computer-Science

1986

Programming Pearls


Jon L. Bentley - 1986
    Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem." - Steve McConnell, author, Code CompleteWhen programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience. In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on (1) testing, debugging, and timing; (2) set representations; and (3) string problems. All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, this book is sure to make your own list of favorites.

The Design of the UNIX Operating System


Maurice J. Bach - 1986
    The leading selling UNIX internals book on the market.

The C++ Programming Language


Bjarne Stroustrup - 1986
    For this special hardcover edition, two new appendixes on locales and standard library exception safety (also available at www.research.att.com/ bs/) have been added. The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components. For example:abstract classes as interfaces class hierarchies for object-oriented programming templates as the basis for type-safe generic software exceptions for regular error handling namespaces for modularity in large-scale software run-time type identification for loosely coupled systems the C subset of C++ for C compatibility and system-level work standard containers and algorithms standard strings, I/O streams, and numerics C compatibility, internationalization, and exception safety Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable.

Compilers: Principles, Techniques, and Tools


Alfred V. Aho - 1986
    The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.

Schaum's Outline of Theory and Problems of Data Structures


Seymour Lipschutz - 1986
    This guide, which can be used with any text or can stand alone, contains at the beginning of each chapter a list of key definitions, a summary of major concepts, step by step solutions to dozens of problems, and additional practice problems.

The C Answer Book


Clovis L. Tondo - 1986
    Ideal for use with K&R in any course on C. Careful study of this answer book will help understand ANSI C and enhance programming skills. Tondo & Gimpel describe each solution and completely format programs to show the logical flow.

Machine Learning


Tom M. Mitchell - 1986
    Mitchell covers the field of machine learning, the study of algorithms that allow computer programs to automatically improve through experience and that automatically infer general laws from specific data.

Programmers at Work: Interviews With 19 Programmers Who Shaped the Computer Industry (Tempus)


Susan Lammers - 1986
    A classic title on the PC revolution originally published in 1986. Featuring Bill Gates, Andy Hertzfeld, Charles Simonyi, Ray Ozzie, Michael Hawley and many more.

Adaptive Filter Theory


Simon Haykin - 1986
    The fourth edition of this book has been updated and refined to stay current with the field.

Schaum's Outline of Computer Graphics


Roy A. Plastock - 1986
    Clear explanations of fundamental tasks facilitate students' understanding of important concepts. New! Chapters on shading models, shadow, and texture--including the Phong illumination model--explain the latest techniques and tools for achieving photorealism in computer graphics.

Computers & Typesetting, Volume B: Tex: The Program


Donald Ervin Knuth - 1986
    We now believe that every i has been properly dotted, every t has been properly crossed, and every bug has been properly exterminated.Donald E. Knuth, creator of the exciting TeX computer typesetting system, has made available in this volume the fully documented program listing for TeX.Readers who are already familiar with TeX and with its user's guide, The TeXbook, will find much of interest in the source code. Other readers interested in software development and in Knuth's programming style will find this a fascinating and instructive case study. Never before has a computer program of this size been spelled out so clearly and completely. Knuth presents all the algorithms and explains every detail of the TeX program, utilizing the WEB system of structured documentation that he developed as part of his TeX research project.TeX: The Program is the second in a five-volume series on Computers and Typesetting, all authored by Knuth. This series presents the results of nearly a decade of innovative research on the problems of preparing publications of high quality.

The Tao of Programming


Geoffrey James - 1986
    

No Silver Bullet Essence and Accidents of Software Engineering


Frederick P. Brooks Jr. - 1986
    Most of the big past gains in software productivity have come from removing artificial barriers that have made theaccidental tasks inordinately hard, such as severe hardware constraints, awkward programming languages, lack of machine time. How much of what software engineers now do isstill devoted to the accidental, as opposed to the essential? Unless it is more than 9/10 of all effort, shrinking all the accidental activities to zero time will not give an order ofmagnitude improvement.Therefore it appears that the time has come to address the essential parts of the softwaretask, those concerned with fashioning abstract conceptual structures of great complexity. I suggest:• exploiting the mass market to avoid constructing what can be bought.• using rapid prototyping as part of a planned iteration in establishing software require- ·ments.• growing software organically, adding more and more function to systems as they arerun, used, and tested.• identifying and developing the great conceptual designers of the rising generation

Techniques Of Program Structure And Design


Edward Yourdon - 1986
    

A. M. Turing's ACE Report of 1946 and Other Papers


Alan Turing - 1986
    Turing's report was the first time that the notion of artificial intelligence was discussed as a real possibility and Turing went on to devote the next decade to AI. Michael Woodger's paper, The History and Present Use of Digital Computers at the National Physical Laboratory (1958) gives a brief history of the construction of the pilot ACE, the first functional version of Turing's universal machine.

Introduction to Computing for Engineers


Steven C. Chapra - 1986
    This edition again focuses on Basic and Fortran as the primary programming languages, and includes new material on word processing systems, spreadsheets, computer-aided design packages and some high-level language applications.

Abstraction and Specification in Program Development


Barbara Liskov - 1986
    Good programming involves the systematic mastery of complexity, and this book provides the first unified treatment of the techniques of abstraction and specification, which, the authors argue, are the linchpin of any effective approach to programming. They place particular emphasis on the use of data abstraction to produce highly modular programs.The authors focus on the process of decomposing large program projects into independent modules that can be assigned to independent working groups. They discuss methods of decomposition, the kinds of modules that are most useful in this process, and techniques to increase the likelihood that modules produced can in fact be recombined to solve the original programming problem. There are many examples of abstractions throughout the text, and each chapter ends with pertinent references and exercises.Most of the sample implementations in the book are written in CLU, one of a growing number of languages able to support data abstraction. Sufficient material is included, however, to allow the reader to work in Pascal as well.The material in this book was developed by the authors during a decade of teaching undergraduate, graduate, and professional-level courses. Barbara Liskov, the developer of CLU, is Professor and John Guttag an Associate Professor of Computer Science at MIT. "Abstraction and Specification in Program Development" is included in the MIT Electrical Engineering and Computer Science series.

Recommended Diagramming Standards for Analysts and Programmers: A Basis for Automation


James Martin - 1986
    

Solutions manual: Discrete mathematics


Richard Johnsonbaugh - 1986
    In this volume, which was published posthumously, Spinoza lays out his ethical philosophy in geometrical order, with axioms and definitions followed by propositions. "The Ethics" is divided into five parts: Part One - Concerning God, Part Two - On the Nature and Origin of the Mind, Part Three - On the Origin and Nature of the Emotions, Part Four - Of Human Bondage, or The Strength of The Emotions, and Part Five - Of the Power of the Understanding, or Of Human Freedom. Spinoza's "Ethics" is considered one of the most important philosophical treatises on the subject and a must read for all students of philosophy. Also contained in this volume is a representative selection from Spinoza's "On the Improvement of the Understanding".