Best of
Computers

1996

Introduction to the Theory of Computation


Michael Sipser - 1996
    Sipser's candid, crystal-clear style allows students at every level to understand and enjoy this field. His innovative "proof idea" sections explain profound concepts in plain English. The new edition incorporates many improvements students and professors have suggested over the years, and offers updated, classroom-tested problem sets at the end of each chapter.

Feynman Lectures On Computation


Richard P. Feynman - 1996
    Feynman gave his famous course on computation at the California Institute of Technology, he asked Tony Hey to adapt his lecture notes into a book. Although led by Feynman, the course also featured, as occasional guest speakers, some of the most brilliant men in science at that time, including Marvin Minsky, Charles Bennett, and John Hopfield. Although the lectures are now thirteen years old, most of the material is timeless and presents a “Feynmanesque” overview of many standard and some not-so-standard topics in computer science such as reversible logic gates and quantum computers.

The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling


Ralph Kimball - 1996
    Here is a complete library of dimensional modeling techniques-- the most comprehensive collection ever written. Greatly expanded to cover both basic and advanced techniques for optimizing data warehouse design, this second edition to Ralph Kimball's classic guide is more than sixty percent updated.The authors begin with fundamental design recommendations and gradually progress step-by-step through increasingly complex scenarios. Clear-cut guidelines for designing dimensional models are illustrated using real-world data warehouse case studies drawn from a variety of business application areas and industries, including:* Retail sales and e-commerce* Inventory management* Procurement* Order management* Customer relationship management (CRM)* Human resources management* Accounting* Financial services* Telecommunications and utilities* Education* Transportation* Health care and insuranceBy the end of the book, you will have mastered the full range of powerful techniques for designing dimensional databases that are easy to understand and provide fast query response. You will also learn how to create an architected framework that integrates the distributed data warehouse using standardized dimensions and facts.This book is also available as part of the Kimball's Data Warehouse Toolkit Classics Box Set (ISBN: 9780470479575) with the following 3 books:The Data Warehouse Toolkit, 2nd Edition (9780471200246)The Data Warehouse Lifecycle Toolkit, 2nd Edition (9780470149775)The Data Warehouse ETL Toolkit (9780764567575)

Purely Functional Data Structures


Chris Okasaki - 1996
    However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functional data structures. The author includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs are easily adaptable to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.

JavaScript: The Definitive Guide


David Flanagan - 1996
    This book is both an example-driven programmer's guide and a keep-on-your-desk reference, with new chapters that explain everything you need to know to get the most out of JavaScript, including:Scripted HTTP and Ajax XML processing Client-side graphics using the canvas tag Namespaces in JavaScript--essential when writing complex programs Classes, closures, persistence, Flash, and JavaScript embedded in Java applicationsPart I explains the core JavaScript language in detail. If you are new to JavaScript, it will teach you the language. If you are already a JavaScript programmer, Part I will sharpen your skills and deepen your understanding of the language.Part II explains the scripting environment provided by web browsers, with a focus on DOM scripting with unobtrusive JavaScript. The broad and deep coverage of client-side JavaScript is illustrated with many sophisticated examples that demonstrate how to:Generate a table of contents for an HTML document Display DHTML animations Automate form validation Draw dynamic pie charts Make HTML elements draggable Define keyboard shortcuts for web applications Create Ajax-enabled tool tips Use XPath and XSLT on XML documents loaded with Ajax And much morePart III is a complete reference for core JavaScript. It documents every class, object, constructor, method, function, property, and constant defined by JavaScript 1.5 and ECMAScript Version 3.Part IV is a reference for client-side JavaScript, covering legacy web browser APIs, the standard Level 2 DOM API, and emerging standards such as the XMLHttpRequest object and the canvas tag.More than 300,000 JavaScript programmers around the world have made this their indispensable reference book for building JavaScript applications."A must-have reference for expert JavaScript programmers...well-organized and detailed."-- Brendan Eich, creator of JavaScript

ANSI Common Lisp


Paul Graham - 1996
    Beginners will find that its careful explanations and interesting examples make Lisp programming easy to learn. Professional programmers will appreciate its thorough, practical approach.FEATURES:• An up-to-date reference manual for ANSI Common Lisp.• An in-depth look at object-oriented programming. Explains the Common Lisp Object System (CLOS), and also shows how to write your own object-oriented language.• Over 20 substantial examples, including programs for ray-tracing, text generation, pattern-matching, logical inference, generating HTML, sorting and searching, file I/O, compression, and date arithmetic.• Special attention to critical concepts, including prefix syntax, code vs. data, recursion, functional programming, types, implicit pointers, dynamic allocation, closures, macros, class precedence, and generic functions vs. message-passing.• A complete guide to optimization.• The clearest and most thorough explanation of macros in any introductory book.• Examples that illustrate Lisp programming styles, including rapid prototyping, bottom-up programming, object-oriented programming, and embedded languages.• An appendix on debugging, with examples of common errors.

The Design and Implementation of the 4.4 BSD Operating System


Marshall Kirk McKusick - 1996
    This book explains key design decisions, and also details the concepts, data structures, and algorithms used in implementing the system's facilities.

Inside the C++ Object Model


Stanley B. Lippman - 1996
    Aimed at the beginner/intermediate C++ programmer who wants to understand the semantic implications of the C++ object model and how the model affects their programs, Inside the C++ Object Model explains where overhead costs reside, and what they actually consist of.

Rain Of Iron And Ice: The Very Real Threat Of Comet And Asteroid Bombardment


John S. Lewis - 1996
    This study examines such impacts and the implications for future life on Earth.

Object-Oriented Design Heuristics


Arthur J. Riel - 1996
    This book offers insight into object-oriented design improvement. The more than sixty guidelines presented in this book are language-independent and allow you to rate the integrity of a software design.

API Design for C++


Martin Reddy - 1996
    It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long term. It presents patterns and practices that provide real value to individual developers as well as organizations.API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing. Each concept is illustrated with extensive C++ code examples, and fully functional examples and working source code for experimentation are available online.This book will be helpful to new programmers who understand the fundamentals of C++ and who want to advance their design skills, as well as to senior engineers and software architects seeking to gain new expertise to complement their existing talents. Three specific groups of readers are targeted: practicing software engineers and architects, technical managers, and students and educators.

History of Programming Languages II


Thomas J. Bergin, Jr. - 1996
    The book looks at successful languages, as well as those which aren't so well known.

Tcp/IP Illustrated, Volume 3: TCP for Transactions, Http, Nntp, and the Unix Domain Protocols


W. Richard Stevens - 1996
    As in the previous two volumes, the book is filled with examples and implementation details within the 4.4BSD-Lite networking code. The TCP/IP Illustrated series provides a complete picture of the protocol suite that drives the Internet, and gives programmers, system administrators, and serious users the information, understanding, and skills they need to remain at the forefront of networking technology.

Core Java


Gary Cornell - 1996
    The book is perfect for C/C++ programmers who want to add Java to their skill set, Visual Basic programmers who want to learn Java to broaden their marketability, and COBOL programmers who want to "retool" by learning Java.

Garbage Collection: Algorithms for Automatic Dynamic Memory Management


Richard Jones - 1996
    Garbage collection eliminates many of these bugs. This reference presents each of the most important algorithms in detail, often with illustrations of its characteristic features and animations of its use.

Protected Mode Software Architecture


Tom Shanley - 1996
    This book is organized into three parts. Part One: Background introduces the reader to the problems faced by a multitasking operating system. Part Two: Register Set and Real Mode provides an overview of Real Mode operation. Part Three: Protected Mode takes a building-block approach to explaining the protection mechanisms and multitasking capabilities of the post-286 Intel processors, including segmentation, virtual paging, the flat model, and virtual 8086 mode. Protected Mode Software Architecture extends MindShares coverage of x86 processor architecture to the software environment and complements the previously published 80486 System Architecture and Pentium Processor System Architecture (both from Addison-Wesley). If you design or test multitasking operating systems, real-time operating systems, or device drivers for these systems, Protected Mode Software Architecture is an essential, time-saving tool. The PC System Architecture Series is a crisply written and comprehensive set of guides to the most important

Dan Appleman's Visual Basic 5.0 Guide to the WIN32 API with CD


Daniel Appleman - 1996
    It is intended to be a definitive reference for Visual Basic Programmers using the Win32 API's.

LAN Wiring


James Trulove - 1996
    It has information to help design, install and maintain structured cabling systems for data networking.

Interface Design with Photoshop


Scott Hamlin - 1996
    That's why Interface Design with Photoshop focuses on creating not only attractively designed web and multimedia interface work, but elements that are truly functional as well. Step-by-step projects, technical tips and tricks, and expert advice on topics such as creating interface elements, choosing colors, and organizing content will have you creating work that is a cut above the competition.

The Macintosh Bible


Jeremy Judson - 1996
    The Macintosh Bible, 6th Edition has been completely revised and updated by 13 editors and over 70 contributors making it the ultimate reference for all things Mac. It tackles every subject area with a clear vision of what Macintosh users need to know in an engaging, no-nonsense style.New sections include: -- The Internet -- getting connected, sending email, surfing the Web, and downloading files-- Troubleshooting -- revised and expanded, including details on error message codes-- Home Offices -- using your Mac at home for fun and profitJoin hundreds of thousands of Mac users who turn to The Macintosh Bible to find the right Mac, printer, monitor, and hard disk. Discover when and how to upgrade your system, how to protect your data, and what to do when disaster strikes. Also, get the latest on fonts, word processing, spreadsheets, graphics, desktop publishing, databases, communications, utilities, multimedia, games, and more -- and benefit from hundreds of practical tips.

Upgrading And Repairing Networks


Craig Zacker - 1996
    The book includes "buyer's guide" information on software and hardware, brand contrasts and comparisons, expert advice and solutions, and much more!-- Includes a complete collection of reviews and comparisons of popular network solutions, both software and hardware-- Comprehensive coverage of products and troubleshooting not found anywhere else-- Recommendations and reviews will enable users to make the right choices when upgrading or repairing networks

Management Information Systems: A Managerial Perspective


Uma G. Gupta - 1996
    

Islands in the Sky: Bold New Ideas for Colonizing Space


Stanley Schmidt - 1996
    Contains an astonishing range of new proposals for space travel and colonization including plans for the exploration of Mars, ideas for interstellar travel at the speed of light and the process of terraforming other planets to accommodate human life. Describes the latest in space exploration research and development by the world's foremost astronautic engineers.

The Art of Systems Architecting


Eberhardt Rechtin - 1996
    This innovative text directly addresses the problems inherent in creating and building new and complex systems for electronics, computer, software, aerospace, and government purposes. Today's challenges demand that a new class of tools, heuristic and qualitative, be added to the familiar ones of analysis and optimization. Today's architecting must handle the types of systems that have been unknown until very recently, e.g., systems that are very high-quality, real-time, closed-loop, reconfigurable, interactive, software-intensive, and, for all practical purposes, autonomous. The Art of Systems Architecting provides these tools by introducing the non-qualitative architectural concepts of systems thinking, heuristics, tensions, feedback architectures, modeling, and progressive design. Move beyond the traditional science of systems engineering and into the complementary art of architecting. It's all waiting for you in this one-of-a-kind book.

1996 Annual Book of ASTM Standards: Section 11: Water and Environmental Technology


Unknown - 1996
    

The Balancing Act: Combining Symbolic and Statistical Approaches to Language


Judith L. Klavans - 1996
    At the heart of the debate are fundamental questions concerning the nature of language, the role of data in building a model or theory, and the impact of the competence-performance distinction on the field of computational linguistics. Currently, there is an increasing realization in both camps that the two approaches have something to offer in achieving common goals.The eight contributions in this book explore the inevitable balancing act that must take place when symbolic and statistical approaches are brought together--including basic choices about what knowledge will be represented symbolically and how it will be obtained, what assumptions underlie the statistical model, what principles motivate the symbolic model, and what the researcher gains by combining approaches.The topics covered include an examination of the relationship between traditional linguistics and statistical methods, qualitative and quantitative methods of speech translation, study and implementation of combined techniques for automatic extraction of terminology, comparative analysis of the contributions of linguistic cues to a statistical word grouping system, automatic construction of a symbolic parser via statistical techniques, combining linguistic with statistical methods in automatic speech understanding, exploring the nature of transformation-based learning, and a hybrid symbolic/statistical approach to recovering from parser failures.

Programming with Threads


Steve Kleiman - 1996
    The text also includes a variety of multithreading examples.

FORTRAN 90 for Engineers and Scientists


Larry R. Nyhoff - 1996
    This book emphasizes problem- solving and structured program development following basic software engineering principles. Its clear and concise presentation is perfect for readers with no previous programming experience. KEY TOPICS: 30 special Application Sections illustrate problem solving using a variety of interesting engineering and science problems. A four-step problem-solving method is used in each application. A large number of complete programs and sample runs throughout the book illustrate basic programming concepts and demonstrate good structure and style. They are selected from a wide range of areas in engineering, math, and science. Engineers and scientists using standard Fortran 90.

HTML for Dummies Quick Reference


Deborah S. Ray - 1996
    The text helps users master HTML's commands and syntax. It also reviews authoring tools for UNIX, Windows, and the Macintosh.

Vicious Circles


Jon Barwise - 1996
    Barwise and Moss have undertaken to prove this assumption false. This volume is concerned with extending the modelling capabilities of set theory to provide a uniform treatment of circular phenomena. As a means of guiding the reader through the concrete examples of the theory, the authors have included many exercises and solutions: these exercises range in difficulty and ultimately stimulate the reader to come up with new results. Vicious Circles is intended for use by researchers who want to use hypersets; although some experience in mathematics is necessary, the book is accessible to people with widely differing backgrounds and interests.

A Theory of Objects


Martín Abadi - 1996
    An innovative and important approach to the subject for researchers and graduates.

Ruminations on C++: A Decade of Programming Insight and Experience


Andrew Koenig - 1996
    You need not be an expert C++ programmer to find solid fodder here, yet even experts need not fear overgrazing: You will find something worth chewing on in every chapter. This should be your next C++ book, because it *covers a broad range of C++ ideas and techniques, from detailed code examples to design principles and philosophy *shows how to think about programming in C++, not just how to follow rules *explains the motivation behind its examples; sometimes even solving the same problem in two different ways *covers both object-oriented programming and generic programming *explains the ideas behind the Standard Template Library, which is the most important recent innovation in C++. This book comes to you from two people who started using C++ when its entire user community could still fit in one room. Both of them have contributed significantly to the evolution of C++.

The Best Strategy and War Game Strategies and Secrets, with CD-ROM


Computer Game Strategy Magazine - 1996
    The CD includes playable demos for the games discussed in the book, plus bonus articles, patches, and upgrades.

Word 97 for Windows for Dummies


Dan Gookin - 1996
    Whether you're writing everyday office documents, formatting mail-merge letters, composing fancy brochures and newsletters, or creating content for the World Wide Web, Dan Gookin's humorous, insightful guide to all things Word safely steers you through the ins and outs of the wondrous ways that Word works. Word 97 For Windows For Dummies is the fun and easy way to create great-looking documents in Word (and to find out what to do when bad things happen). This book features sound advice and step-by-step details on everything from Word basics to advanced features (such as including graphics, tables, and charts in your documents and using Word's integrated wizards to make formatting, printing, and other cool Word stuff as easy as point-and-click). Plus, be sure to check out Dan's Top Ten Lists for Word 97, including ten cool tricks, ten features you don't use (but paid for anyway), ten shortcut keys worth remembering, and the ten commandments of Word.

A Laboratory Course In C++


Nell B. Dale - 1996
    The exercises are broken into three types of activities: Pre-Lab: Reading review and paper-and-pencil exercises designed to ensure understanding of the material to be covered in the exercises In-Lab: Individual lessons broken into exercises specifically mapped to the concepts covered in the chapter Post-Lab: Programming assignments which can be done independently and cover the important topics from the chapter Checklist cover sheets allow students and instructors to track the assignments, output, and grading for each exercise. Perforated pages aid in submission and grading of exercises and homework assignments.

Software Project Management: Readings and Cases


Chris Kemerer - 1996
    Focusing on measurement tools necessary for effective managerial planning and control, this text emphasizes real-world systems through integrated case studies.

Unix Internals


Steve Pate - 1996
    It provides examples in C-Shell script and assembly language, a description of hardware dependent parts of the kernel, and explores how the bootstrap and kernel routines set up and use the hardware features.

Delphi Component Design


Danny Thorpe - 1996
    The book explores the options for design-time property and component editors and experts. The companion CD-ROM contains all the code in the book.

Kasparov Versus Deep Blue: Computer Chess Comes of Age


Monty Newborn - 1996
    Kasparov went on to win the six-game match 4-2 and at the end of the match announced that he believed that chess computing had come of age. This book provides an enthralling account of the match and of the story that lies behind it: the evolution of chess-playing computers and the development of Deep Blue. The story of chess-playing computers goes back a long way and the author provides a whistlestop tour of the highlights of this history. As the development comes to its culmination in Philadelphia, we meet the Deep Blue team, Garry Kasparov and each of the historic six games is provided in full with a detailed commentary. Chess grandmaster Yasser Seirawan provided a lively commentary throughout the match and here provides a Foreword about the significance of this event.

UNIX System Programming for System VR4


Dave Curry - 1996
    Even a simple program, if practical, reads input and produces output. And, most applications have more complex needs. They need to find out the time, use the network, or start and communicate with other processes. Systems programming really means nothing more than writing software that uses these operating system services.UNIX Systems Programming for SVR4 gives you the nitty-gritty details on how UNIX interacts with applications. If you're writing an application from scratch, or if you're porting an application to any System V.4 platform, you need this book.The first part of the book presents simple functions and concepts supported by numerous code fragment examples and short demonstration programs. These examples become building blocks for the application program examples that appear later in the book to illustrate more advanced, complex functions.UNIX Systems Programming for SVR4 is thorough and complete and offers advice on:Working with low-level I/O routines and the standard I/O library Creating and deleting files and directories, changing file attributes, processing multiple input streams, file and record locking, and memory-mapped files Reading, printing, and setting the system time and date Determining who is logged in, times users log in and out, how to change a program's effective user ID or group ID, and writing set user ID programs Changing system configuration parameters for resource limits Creating processes, job control, and signal handling Using pipes, FIFOs, UNIX-domain sockets, message queues, semaphores, and shared memory for interprocess communication Reading and setting serial line characteristics including baud rate, echoing, and flow control Network programming with Berkeley sockets, Transport Layer Interface (TLI), a less popular but more flexible interface to network programming, and the data link provider interface

A Digital Signal Processing Primer: With Applications to Digital Audio and Computer Music


Ken Steiglitz - 1996
    These tools allow sophisticated manipulation of signals but do not provide an understanding of the theory or the foundation for the techniques. This work develops an approach to the development of the mathematics of DSP and uses examples from areas of the spectrum familiar to beginners, together with questions and suggested experiments

Sid Meier's Civilization III (Prima's Official Strategy Guide)


David B. Ellis - 1996
    Explore, Expand, Conquer! • Complete coverage of all civilization advances • Tips for building and controlling your armies • Essential strategy for diplomacy, politics, and commerce • How to use Great Leaders • Tactics for understanding and developing the new Culture element • Advice for immersive single-player gaming • Detailed information on the game editor

Programming Windows 95 with MFC: Create Programs for Windows Quickly with the Microsoft Foundation Class Library


Jeff Prosise - 1996
    This book authoritatively lays the foundation for developers using MFC. Just as Programming Windows has become a classic for all Windows programmers using C and SDK, this book will become a must-have for Windows programmers using C++ with MFC libraries.

Perl 5 Desktop Reference


Johan Vromans - 1996
    The guide is current with Perl version 5.003.Perl, having previously established itself as the UNIX scripting tool of choice, is establishing itself as the tool of choice in numerous programming spheres, ranging from the World Wide Web to general-purpose programming. Perl combines in one language virtually all the functionality of the C, sed, and awk programming languages, as well as many functions of a shell.The Perl 5 Desktop Reference provides a complete overview of Perl, from variables to input and output, from flow control to regular expressions -- all packaged into a convenient, carry-around guide that can easily be inserted into your favorite Perl programming manual.

Exploring Java (O'Reilly Java)


Patrick Niemeyer - 1996
    This book covers the essentials of hot topics like Beans and RMI and shows you how to get up speed writing Java applets and other applications, including networking programs, content and protocol handlers, and security managers.Even before the first release of Java, companies from Oracle to Netscape and Microsoft licensed Java to integrate with their Internet products. What makes this new language so important? It's truly portable. The same code runs on any machine that provides a Java interpreter, whether Windows 95, Windows NT, the Macintosh, or any flavor of UNIX. And, potentially, Java is designed to be as fast as programs written in C and C++.The ability to create animated World Wide Web pages has also sparked the rush to Java. But, the story does not end with the Web. Sophisticated large applications, such as spreadsheets or word processors, can also be written with Java. An early example is Sun's self-extensible Web browser, HotJava.With a practical, hands-on approach characteristic of O'Reilly's Nutshell Handbooks(R), "Exploring Java" shows you how to write dynamic Web pages. But that's only the beginning. This book also shows you how to write content and protocol handlers, networking programs, and other stand-alone applications.Part of O'Reilly's definitive set of Java documentation, "Exploring Java, 2nd Edition" covers: History and principles of JavaHow to write simple appletsHow to integrate applets into the World Wide WebJava Class LibrariesUsing threadsUsing arraysNetwork programmingContent and protocol handlingUsing the Abstract Windowing Toolkit (AWT)Writing a security manager