Best of
Computer-Science

1998

The Art of Computer Programming, Volumes 1-3 Boxed Set


Donald Ervin Knuth - 1998
    For the first time, these books are available as a boxed, three-volume set. The handsome slipcase makes this set an ideal gift for the recent computer science graduate or professional programmer. Offering a description of classical computer science, this multi-volume work is a useful resource in programming theory and practice for students, researchers, and practitioners alike. For programmers, it offers cookbook solutions to their day-to-day problems.

Reinforcement Learning: An Introduction


Richard S. Sutton - 1998
    Their discussion ranges from the history of the field's intellectual foundations to the most recent developments and applications.Reinforcement learning, one of the most active research areas in artificial intelligence, is a computational approach to learning whereby an agent tries to maximize the total amount of reward it receives when interacting with a complex, uncertain environment. In Reinforcement Learning, Richard Sutton and Andrew Barto provide a clear and simple account of the key ideas and algorithms of reinforcement learning. Their discussion ranges from the history of the field's intellectual foundations to the most recent developments and applications. The only necessary mathematical background is familiarity with elementary concepts of probability.The book is divided into three parts. Part I defines the reinforcement learning problem in terms of Markov decision processes. Part II provides basic solution methods: dynamic programming, Monte Carlo methods, and temporal-difference learning. Part III presents a unified view of the solution methods and incorporates artificial neural networks, eligibility traces, and planning; the two final chapters present case studies and consider the future of reinforcement learning.

Thinking in Java


Bruce Eckel - 1998
    The author's take on the essence of Java as a new programming language and the thorough introduction to Java's features make this a worthwhile tutorial. Thinking in Java begins a little esoterically, with the author's reflections on why Java is new and better. (This book's choice of font for chapter headings is remarkably hard on the eyes.) The author outlines his thoughts on why Java will make you a better programmer, without all the complexity. The book is better when he presents actual language features. There's a tutorial to basic Java types, keywords, and operators. The guide includes extensive source code that is sometimes daunting (as with the author's sample code for all the Java operators in one listing.) As such, this text will be most useful for the experienced developer. The text then moves on to class design issues, when to use inheritance and composition, and related topics of information hiding and polymorphism. (The treatment of inner classes and scoping will likely seem a bit overdone for most readers.) The chapter on Java collection classes for both Java Developer's Kit (JDK) 1.1 and the new classes, such as sets, lists, and maps, are much better. There's material in this chapter that you are unlikely to find anywhere else. Chapters on exception handling and programming with type information are also worthwhile, as are the chapters on the new Swing interface classes and network programming. Although it adopts somewhat of a mixed-bag approach, Thinking in Java contains some excellent material for the object-oriented developer who wants to see what all the fuss is about with Java.

The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation


Gary William Flake - 1998
    Distinguishing agents (e.g., molecules, cells, animals, and species) from their interactions (e.g., chemical reactions, immune system responses, sexual reproduction, and evolution), Flake argues that it is the computational properties of interactions that account for much of what we think of as beautiful and interesting. From this basic thesis, Flake explores what he considers to be today's four most interesting computational topics: fractals, chaos, complex systems, and adaptation.Each of the book's parts can be read independently, enabling even the casual reader to understand and work with the basic equations and programs. Yet the parts are bound together by the theme of the computer as a laboratory and a metaphor for understanding the universe. The inspired reader will experiment further with the ideas presented to create fractal landscapes, chaotic systems, artificial life forms, genetic algorithms, and artificial neural networks.

Readings in Database Systems


Joseph M. Hellerstein - 1998
    Many of the professionals and students who used it have asked for a revised collection reflecting the current state of the field... After carefully reevaluating the available research literature and incorporating many helpful comments from readers and instructors, the result is this second edition of Readings in Database Systems." Readings in Database Systems, 2d Edition is a comprehensive collection of essential articles illustrating the breadth and depth of database technology. Dr. Stonebraker is a recognized authority in database research and commercial database applications. The selection of contributions, combined with his thoughtful and provocative Introductions, offers insights to the current state of the art in database systems and their potential for future development. The many new papers in this edition reflect areas where there has been substantial activity in the last few years. These areas include: active databases, parallelism, transaction management, and storage systems. Fifty-nine key articles are included in this volume, 32 of which are new to this edition. Many of the articles are from unavailable or limited circulation journals or technical reports. Like its acclaimed predecessor, the second edition has been thoroughly reviewed to ensure a selection that represents the breadth of databases today. This book will provide a comprehensive introduction to students and professionals wanting an overview of database systems, and a deeper understanding to anyone already active in the field who wants to be current on significant researchthemes and developments.

Data Structures and Algorithms in Java


Robert Lafore - 1998
    Algorithms are the procedures that software programs use to manipulate data structures. Besides clear and simple example programs, the author includes a workshop as a small demonstration program executable on a Web browser. The programs demonstrate in graphical form what data structures look like and how they operate. In the second edition, the program is rewritten to improve operation and clarify the algorithms, the example programs are revised to work with the latest version of the Java JDK, and questions and exercises will be added at the end of each chapter making the book even more useful. Educational Supplement Suggested solutions to the programming projects found at the end of each chapter are made available to instructors at recognized educational institutions. This educational supplement can be found at www.prenhall.com, in the Instructor Resource Center.

OSPF: Anatomy of an Internet Routing Protocol


John T. Moy - 1998
    Part I of this book defines Internet routing in general, and discusses a variety of protocols in addition to OSPF. As an introduction to Internet routing, Moy describes both unicast and multicast routing protocols, along with the techniques to monitor and debug routing in a TCP/IP network. This will be very valuable to a large audience.Part II then delves into the details of one particular routing protocol -- the OSPF protocol. This book provides a detailed description of OSPF (Open Shortest Path First), which was developed by the author. The book explains why OSPF was developed and how it greatly improves network efficiency. It will help engineers to be able to get a better understanding of how to efficiently implement algorithms used in OSPF. It provides a good understanding of how the protocol operates. Each chapter contains exercises to help readers with the subject. This book is unique as it is an up-to-date look at the important topic of routing -- plus it provides the most detail on OSPF available. OSPF is very widely deployed in the Internet, with OSPF implementations offered by virtually all router vendors.

Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching


Robert Sedgewick - 1998
    Christopher Van Wyk and Sedgewick have developed new C++ implementations that both express the methods in a concise and direct manner, and also provide programmers with the practical means to test them on real applications. Many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. The third edition retains the successful blend of theory and practice that has made Sedgewick's work an invaluable resource for more than 250,000 programmers! This particular book, Parts 1n4, represents the essential first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. Although the substance of the book applies to programming in any language, the implementations by Van Wyk and Sedgewick also exploit the natural match between C++ classes and ADT implementations. Highlights Expanded coverage of arrays, linked lists, strings, trees, and other basic data structures Greater emphasis on abstract data types (ADTs), modular programming, object-oriented programming, and C++ classes than in previous editions Over 100 algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT (searching) implementations New implementations of binomial queues, multiway radix sorting, randomized BSTs, splay trees, skip lists, multiway tries, B trees, extendible hashing, and much more Increased quantitative information about the algorithms, giving you a basis for comparing them Over 1000 new exercises to help you learn the properties of algorithms Whether you are learning the algorithms for the first time or wish to have up-to-date reference material that incorporates new programming styles with classic and new algorithms, you will find a wealth of useful information in this book.

Instructor's Manual to Accompany Structure and Interpretation of Computer Programs


Julie Sussman - 1998
    It contains discussions of exercises and other material in the text as well as supplementary material, additional examples and exercises, and teaching suggestions. An appendix summarizes the Scheme programming language as used in the text, showing at what point in the text each element of Scheme is introduced.

Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids


Richard Durbin - 1998
    For example, hidden Markov models are used for analyzing biological sequences, linguistic-grammar-based probabilistic models for identifying RNA secondary structure, and probabilistic evolutionary models for inferring phylogenies of sequences from different organisms. This book gives a unified, up-to-date and self-contained account, with a Bayesian slant, of such methods, and more generally to probabilistic methods of sequence analysis. Written by an interdisciplinary team of authors, it is accessible to molecular biologists, computer scientists, and mathematicians with no formal knowledge of the other fields, and at the same time presents the state of the art in this new and important field.

Assembly Language for Intel-Based Computers


Kip R. Irvine - 1998
    This complete and fully updated study of assembly language for the IBM-PC teaches students how to write and debug programs at the machine level. Based on the Intel processor family, the text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture or operating systems courses.

The Pattern on the Stone: The Simple Ideas that Make Computers Work


William Daniel Hillis - 1998
    What they don't realize—and what Daniel Hillis's short book brilliantly demonstrates—is that computers' seemingly complex operations can be broken down into a few simple parts that perform the same simple procedures over and over again.Computer wizard Hillis offers an easy-to-follow explanation of how data is processed that makes the operations of a computer seem as straightforward as those of a bicycle. Avoiding technobabble or discussions of advanced hardware, the lucid explanations and colorful anecdotes in The Pattern on the Stone go straight to the heart of what computers really do.Hillis proceeds from an outline of basic logic to clear descriptions of programming languages, algorithms, and memory. He then takes readers in simple steps up to the most exciting developments in computing today—quantum computing, parallel computing, neural networks, and self-organizing systems.Written clearly and succinctly by one of the world's leading computer scientists, The Pattern on the Stone is an indispensable guide to understanding the workings of that most ubiquitous and important of machines: the computer.

Graph Theory and Its Applications (Discrete Mathematics and Its Applications)


Jonathan L. Gross - 1998
    Nearly 200 pages have been added for this edition, including nine new sections and hundreds of new exercises, mostly non-routine. What else is new? New chapters on measurement and analytic graph theory Supplementary exercises in each chapter - ideal for reinforcing, reviewing, and testing. Solutions and hints, often illustrated with figures, to selected exercises - nearly 50 pages worth Reorganization and extensive revisions in more than half of the existing chapters for smoother flow of the exposition Foreshadowing - the first three chapters now preview a number of concepts, mostly via the exercises, to pique the interest of readerGross and Yellen take a comprehensive approach to graph theory that integrates careful exposition of classical developments with emerging methods, models, and practical needs. Their unparalleled treatment provides a text ideal for a two-semester course and a variety of one-semester classes, from an introductory one-semester course to courses slanted toward classical graph theory, operations research, data structures and algorithms, or algebra and topology.

Feynman And Computation


Anthony J.G. Hey - 1998
    Feynman made profoundly important and prescient contributions to the physics of computing, notably with his seminal articles “There’s Plenty of Room at the Bottom” and “Simulating Physics with Computers.” These two provocative papers (both reprinted in this volume) anticipated, decades before their time, several breakthroughs that have since become fields of science in their own right, such as nanotechnology and the newest, perhaps most exciting area of physics and computer science, quantum computing.The contributors to this book are all distinguished physicists and computer scientists, and many of them were guest lecturers in Feynman’s famous CalTech course on the limits of computers. they include Charles Bennett on Quantum Information Theory, Geoffrey Fox on Internetics, Norman Margolus on Crystalline Computation, and Tommaso Toffoli on the Fungibility of Computation.Both a tribute to Feynman and a new exploration of the limits of computers by some of today’s most influential scientists, Feynman and Computation continues the pioneering work started by Feynman and published by him in his own Lectures on Computation. This new computation volume consists of both original chapters and reprints of classic papers by leaders in the field. Feynman and Computation will generate great interest from the scientific community and provide essential background for further work in this field.

Cryptography and Network Security: Principles and Practice


William Stallings - 1998
    William Stallings offers a practical survey of both the principles and practice of cryptography and network security, reflecting the latest developments in the field.

C++ FAQs


Marshall P. Cline - 1998
    In this book, the authors concentrate on those issues most critical to the professional programmer's work, and they present more explanatory material and examples than is possible on-line. This book focuses on the effective use of C++, helping programmers avoid combining seemingly legal C++ constructs in incompatible ways. Each question-and-answer section contains an overview of the problem and solution, fuller explanations of concepts, directions for proper use of language features, guidelines for best practices and practices to avoid, and plenty of working, stand-alone examples. This edition is thoroughly cross-referenced and indexed for quick access.

Advanced C Programming by Example


John W. Perry - 1998
    The book builds on readers' existing background in C to complete their knowledge of ANSI C libraries, and the conceptual and syntactic structures needed to master dynamic data structures, string parsing and numeric conversion, memory management, bit-level manipulation, interactions with operating systems, and other advanced techniques. What sets this book apart from traditional data structures books is it's "blue collar" approach to the art of programming — how to master the "down in the trenches" C details to implement abstract ideas successfully. In recognition of this approach, the book presents actual C code rather than pseudocode.

Introduction to Computational Chemistry


Frank Jensen - 1998
    Although comprehensive in its coverage, this textbook focuses on calculating molecular structures and (relative) energies and less on molecular properties or dynamical aspects. No prior knowledge of concepts specific to computational chemistry are assumed, but the reader will need some understanding of introductory quantum mechanics, linear algebra, and vector, differential and integral calculus.

Wittgenstein's Remarks on the Foundations of AI


Stuart G. Shanker - 1998
    Wittgenstein's Remarks on the Foundations of AI is a valuable contribution to the study of Wittgenstein's theories and his controversial attack on artifical intelligence, which successfully crosses a number of disciplines, including philosophy, psychology, logic, artificial intelligence and cognitive science, to provide a stimulating and searching analysis.

Statistical Shape Analysis


I.L. Dryden - 1998
    The book lays the foundations of the subject discussing key ideas and the very latest developments, as well as offering practical guidance and comparisons of techniques. There is a vast range of applications of shape analysis and the authors introduce the field to statisticians and applied researchers through important examples and data analysis in Biology, Medicine and Image Analysis. The text primarily concentrates on landmark data key points of correspondence located on each object. Careful consideration of the similarity invariances requires methods appropriate for non-Euclidean data analysis. In particular, multivariate statistical procedures cannot be applied directly, but can be adapted in certain instances. The book begins with introductory material on shape, size and coordinate systems. Planar Procrustes analysis is then discussed to highlight the main components of shape analysis. The shape space and general Procrustes methods are introduced, probability distributions for shape are described and statistical inference is discussed. Some deformation methods for shape change are also given and a special chapter is devoted to shape in image analysis. Finally, various alternative procedures including landmark-free methods are critically discussed and compared. Definitions and important results are highlighted throughout to assist the reader in learning about this new, exciting and important area.

Ones and Zeros: Understanding Boolean Algebra, Digital Circuits, and the Logic of Sets


John R. Gregg - 1998
    Ones and Zeros follows the development of this logic system from its origins in Victorian England to its rediscovery in this century as the foundation of all modern computing machinery. Readers will learn about the interesting history of the development of symbolic logic in particular, and the often misunderstood process of mathematical invention and scientific discovery, in general. Ones and Zeros also features practical exercises with answers, real-world examples of digital circuit design, and a reading list. Ones and Zeros will be of particular interest to software engineers who want to gain a comprehensive understanding of computer hardware. Outstanding features include: a history of mathematical logic, an explanation of the logic of digital circuits, and hands-on exercises and examples.

Term Rewriting and All That


Franz Baader - 1998
    Baader and Nipkow cover all the basic material--abstract reduction systems, termination, confluence, completion, and combination problems--but also some important and closely connected subjects: universal algebra, unification theory, Grobner bases, and Buchberger's algorithm. They present the main algorithms both informally and as programs in the functional language Standard ML (An appendix contains a quick and easy introduction to ML). Key chapters cover crucial algorithms such as unification and congruence closure in more depth and develop efficient Pascal programs. The book contains many examples and over 170 exercises. This is also an ideal reference book for professional researchers: results spread over many conference and journal articles are collected here in a unified notation, detailed proofs of almost all theorems are provided, and each chapter closes with a guide to the literature.

Effective Com: 50 Ways to Improve Your Com and MTS-Based Applications


Don Box - 1998
    With COM fully established as Microsoft's key middle-tier technology for object-oriented, distributed applications development, the lessons learned from numerous successful deployments have yielded important techniques and best practices for COM's most effective use.

Hickman's Analog and RF Circuits


Ian Hickman - 1998
    This book, along with the recent Analog Circuits Cookbook also available from Newnes, will enlighten, inform, interest and even amuse readers, and give them the ability to tackle analog and RF design problems with confidence.Based on articles published in Electronics World, this book covers such topics as RF amplifiers, oscillator design and behaviour, waveform analysis, optoelectronics, filters and op-amps, as well as offering intriguing insights in chapters such as Cautionary Tales for Circuit Designers, Circuit Reflections and Is Matching Easy?Ian Hickman is one of the world's leading analog and RF engineers. Using illustrations and examples rather than tough mathematical theory, Ian Hickman presents a wealth of ideas and tips based on his own workbench experience.

Gems of Theoretical Computer Science


Uwe Schöning - 1998
    Curious, I borrowed it for my train ride home and began reading one of the chapters. I liked the style and format of the book so much that over the course of the next few months I frequently found myself reaching for it and working through one chapter or another. This was my introduction to Peden der Theoretischen Informatik. A few of my colleagues had also seen the book. They also found it inter esting, but most of them did not read German well enough to read more than small portions of it enjoyably. I hope that the English version will rectify this situation, and that many will enjoy (and learn from) the English version as much as I enjoyed the German version. The front matter of this book says that it has been "translated, revised, and expanded." I should perhaps say a few words about each of these tasks. In translating the book, I have tried as much as possible to retain the feel of the original, which is somewhat less formal and impersonal than a typical text book yet relatively concise. I certainly hope that the "pleasure of the pursuit of understanding" has not gotten lost in the translation."

Dynamical Social Psychology


Andrzej Nowak - 1998
    With the recent advent of the dynamical approach, it is now possible to assemble sets of such mechanisms into coherent systems. This book uses innovative concepts and tools to illuminate the processes by which individuals, groups, and societies evolve and change in a systemic, self-sustaining manner, at times seemingly independent of external influences. Readers learn how the dynamical approach facilitates novel predictions and insights into such social psychological phenomena as attitudes, social judgment, goal-directed behavior, attraction, and relationships. Featuring a wealth of charts and figures derived from original research and computer simulations, the volume is grounded in classic and contemporary theories of social psychology.

Theories of Programming Languages


John C. Reynolds - 1998
    It encompasses imperative and functional programming, as well as the ways of integrating these aspects into more general languages. Basic concepts and their properties are described with mathematical rigor, but the mathematical development is balanced by numerous examples of applications, particularly of program specification and proof, concurrent programming, functional programming (including the use of continuations and lazy evaluation), and type systems (including subtyping, polymorphism, and modularization). Assuming only knowledge of elementary programming, this text is perfect for advanced undergraduate and beginning graduate courses in programming language theory, and will also appeal to researchers and professionals in designing or implementing computer languages.

Special Edition Using HTML 4


Molly E. Holzschlag - 1998
    By honing in on the daily realities of site design needs, the superfluous elements of the language are set aside, and real-world solutions are provided in a clear and concise fashion. You will learn which tools are best, how to code HTML, and the basic principles of Web publishing and graphic design. You will also learn how to take your sites into the next millennium with highly interactive and competitive technologies, including secure transactions, databases, audio and video, and practical programming techniques.

Behavior-Based Robotics


Ronald C. Arkin - 1998
    The author presents the tools and techniques central to the development of this class of systems in a clear and thorough manner. Following a discussion of the relevant biological and psychological models of behavior, he covers the use of knowledge and learning in autonomous robots, behavior-based and hybrid robot architectures, modular perception, robot colonies, and future trends in robot intelligence.The text throughout refers to actual implemented robots and includes many pictures and descriptions of hardware, making it clear that these are not abstract simulations, but real machines capable of perception, cognition, and action.

Statistics with Mathematica


Martha L. Abell - 1998
    This book introduces Mathematica for various types of statistical computations. It covers a broad range of topics, and should appeal to both students and professional statisticians. Key Features* Comprehensive: Covers the use of Mathematica for applications ranging from descriptive statistics, through multiple regression and nonparametric methods; uses virtually all of Mathematica's built-in statistical commands, as well as those contained in various Mathematica packages; Additionally, the authors have written numerous procedures to extend Mathematica's capabilities, which are also included on the CD-ROM* Easy to read: Uses "by example" approach authors have used in several other books about Mathematica: works for beginners and experts alike* Applied: Examples from diverse disciplines, including biostatistics, business, statistics, econometrics, engineering, and psychology* Up-to-date: Compatible with Mathematica Version 3* Includes CD-ROM: with all Mathematica inputs from text and also numerous procedures to extend Mathematica's built-in, statistical capabilities

A Practical Introduction to Object-Oriented Design with C++


Steven P. Reiss - 1998
    The book details the proper use of inheritance, design notations using a simplified form of OMT to describe designs, the use of object libraries such as STL, creating library classes, and the use of design patterns. You'll also find useful discussions on advanced language and programming features such as exception handling, interprocess communication, and debugging tools and techniques.

Advanced Java 2 Development for Enterprise Applications


Clifford J. Berg - 1998
    The first edition of this book was a best-seller, helping thousands of developers with their first industrial-strength Java projects. This book offers even more. Completely updated to reflect Java 2, it delivers comprehensive lifecycle coverage that addresses every key issue faced by today's enterprise developer, from legacy code and mixed platform environments to security and internationalization. Clifford Berg reviews every Java-related enterprise development technique and technology you need to master. You'll find detailed new coverage of managing Java development projects; even more coverage of Enterprise JavaBeans; new JDBC2 database connectivity information, and a detailed look at Java 2's new security capabilities, Berg presents timely, on-target information on Java-based application servers, transaction management, and distributed computing protocols -- including JTS, JTA, RMI over IIOP, JNDI, and more. The CD-ROM contains extensive sample code and great tools for building enterprise Java applications.

The Emperor's Nightingale: How the Emerging Dynamics of Corporate Complexity Will Restore Life in the New Millennium


Robert A.G. Monks - 1998
    He presents corporations as ever-changing systems of relationships between owners, managers, governments, customers and society, and shows success as the ability to manage these relationships.

Beginning Object-Oriented Analysis & Design with C++


Jesse Liberty - 1998
    It goes beyond the methodology and modeling language and talks about the entire process of professional software development.

Introductory Logic & Sets for Computer Scientists


N. Nissanke - 1998
    The text covers the areas of mathematics considered essential to computer science including: logic, set theory, modern algebra, graph theory and combinatorics. In line with undergraduate curricula the book uses logic extensively, together with set theory, in the mathematical specification of software - using languages such as Z and VDM for this purpose.

Combinatorial Algorithms: Generation, Enumeration, and Search


Donald L. Kreher - 1998
    Topics include backtracking and heuristic search methods applied to various combinatorial structures, such as: CombinationsPermutationsGraphsDesignsMany classical areas are covered as well as new research topics not included in most existing texts, such as: Group algorithmsGraph isomorphismHill-climbingHeuristic search algorithmsThis work serves as an exceptional textbook for a modern course in combinatorial algorithms, providing a unified and focused collection of recent topics of interest in the area. The authors, synthesizing material that can only be found scattered through many different sources, introduce the most important combinatorial algorithmic techniques - thus creating an accessible, comprehensive text that students of mathematics, electrical engineering, and computer science can understand without needing a prior course on combinatorics.

VI Editor Pocket Reference (Pocket Reference


Arnold Robbins - 1998
    Even those who know vi often make use of only a small number of its features.The vi Editor Pocket Reference is a companion volume to O'Reilly's updated sixth edition of Learning the vi Editor, a complete guide to text editing with vi. New topics in Learning the vi Editor include multi-screen editing and coverage of four vi clones: vim, elvis, nvi, and vile.This small book is a handy reference guide to the information in the larger volume, presenting movement and editing commands, the command-line options, and other elements of the vi editor in an easy-to-use tabular format.