Best of
Computer-Science

2000

Quantum Computation and Quantum Information


Michael A. Nielsen - 2000
    A wealth of accompanying figures and exercises illustrate and develop the material in more depth. They describe what a quantum computer is, how it can be used to solve problems faster than familiar "classical" computers, and the real-world implementation of quantum computers. Their book concludes with an explanation of how quantum states can be used to perform remarkable feats of communication, and of how it is possible to protect quantum states against the effects of noise.

Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition


Dan Jurafsky - 2000
    This comprehensive work covers both statistical and symbolic approaches to language processing; it shows how they can be applied to important tasks such as speech recognition, spelling and grammar correction, information extraction, search engines, machine translation, and the creation of spoken-language dialog agents. The following distinguishing features make the text both an introduction to the field and an advanced reference guide.- UNIFIED AND COMPREHENSIVE COVERAGE OF THE FIELDCovers the fundamental algorithms of each field, whether proposed for spoken or written language, whether logical or statistical in origin.- EMPHASIS ON WEB AND OTHER PRACTICAL APPLICATIONSGives readers an understanding of how language-related algorithms can be applied to important real-world problems.- EMPHASIS ON SCIENTIFIC EVALUATIONOffers a description of how systems are evaluated with each problem domain.- EMPERICIST/STATISTICAL/MACHINE LEARNING APPROACHES TO LANGUAGE PROCESSINGCovers all the new statistical approaches, while still completely covering the earlier more structured and rule-based methods.

UNIX Network Programming, Volume 1: The Sockets Networking API


W. Richard Stevens - 2000
    Whether you write Web servers, client/server applications, or any other network software, you need to understand networking APIS-especially sockets in greater detail than ever before. You need UNIX Network Programming, Volume 1, Third Edition. In this book, the Authors offer unprecedented, start-to-finish guidance on making the most of sockets, the de facto standard for UNIX network programming with APIs - as well as extensive coverage of the X/Open Transport Interface (XTI).

Multiple View Geometry in Computer Vision


Richard Hartley - 2000
    This book covers relevant geometric principles and how to represent objects algebraically so they can be computed and applied. Recent major developments in the theory and practice of scene reconstruction are described in detail in a unified framework. Richard Hartley and Andrew Zisserman provide comprehensive background material and explain how to apply the methods and implement the algorithms. First Edition HB (2000): 0-521-62304-9

Understanding the Linux Kernel


Daniel P. Bovet - 2000
    The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:Memory management, including file buffering, process swapping, and Direct memory Access (DMA)The Virtual Filesystem layer and the Second and Third Extended FilesystemsProcess creation and schedulingSignals, interrupts, and the essential interfaces to device driversTimingSynchronization within the kernelInterprocess Communication (IPC)Program executionUnderstanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.

Numerical Optimization


Jorge Nocedal - 2000
    One can trace its roots to the Calculus of Variations and the work of Euler and Lagrange. This natural and reasonable approach to mathematical programming covers numerical methods for finite-dimensional optimization problems. It begins with very simple ideas progressing through more complicated concepts, concentrating on methods for both unconstrained and constrained optimization.

Thinking in C++, Volume One: Introduction to Standard C++


Bruce Eckel - 2000
    It became an instant classic, winning the 1995 Software Development Jolt Cola Award for best book of the year. Now, Eckel has thoroughly rewritten Thinking in C++ to reflect the final ANSI/ISO C++ standard. Every page has been revisited and rethought, with many new examples and exercises -- all designed to help you understand C++ "down to the bare metal," so you can solve virtually any problem. Eckel starts with a detailed look at objects, showing how C++ programs can be constructed from off-the-shelf object libraries. This edition includes a new, chapter-length overview of the C features that are used in C++ -- plus a new CD-ROM containing an outstanding C seminar that covers all the foundations developers need before they can truly take advantage of C++. Eckel then walks through initialization and cleanup; function overloading and default arguments; constants; inline functions; name control; references and the copy constructor; operator overloading; and more. There are chapters on dynamic object creation; inheritance and composition; polymorphism and virtual functions, and templates. (Bonus coverage of string, templates, and the Standard Template Library, can be found at Eckel's web site.) Every chapter contains many modular, to-the-point examples, plus exercises based on Eckel's extensive experience teaching C++ seminars. Put simply, Eckel has made an outstanding book on C++ even better.

Computer Networking: A Top-Down Approach


James F. Kurose - 2000
    Building on the successful top-down approach of previous editions, this fourth edition continues with an early emphasis on application-layer paradigms and application programming interfaces, encouraging a hands-on experience with protocols and networking concepts.

Accelerated C++: Practical Programming by Example


Andrew Koenig - 2000
    Based on the authors' intensive summer C++ courses at Stanford University, Accelerated C++ covers virtually every concept that most professional C++ programmers will ever use -- but it turns the traditional C++ curriculum upside down, starting with the high-level C++ data structures and algorithms that let you write robust programs immediately. Once you're getting results, Accelerated C++ takes you under the hood, introducing complex language features such as memory management in context, and explaining exactly how and when to use them. From start to finish, the book concentrates on solving problems, rather than learning language and library features for their own sake. The result: You'll be writing real-world programs in no time -- and outstanding code faster than you ever imagined.

Building Electro-Optical Systems: Making It All Work


Philip C.D. Hobbs - 2000
    It includes essential information on how to build modern electro-optical instruments such as microscopes, cameras, optical inspection equipment, and spectrometers, and optical-related computer equipment.

The Universal Computer: The Road from Leibniz to Turing


Martin D. Davis - 2000
    How can today's computers perform such a bewildering variety of tasks if computing is just glorified arithmetic? The answer, as Martin Davis lucidly illustrates, lies in the fact that computers are essentially engines of logic. Their hardware and software embody concepts developed over centuries by logicians such as Leibniz, Boole, and Godel, culminating in the amazing insights of Alan Turing. The Universal Computer traces the development of these concepts by exploring with captivating detail the lives and work of the geniuses who first formulated them. Readers will come away with a revelatory understanding of how and why computers work and how the algorithms within them came to be.

Communication Networks: Fundamental Concepts and Key Architectures


Alberto León García - 2000
    The second half of the book can be used in more advanced courses. As pre-requisites the book assumes a general knowledge of computer systems and programming, and elementary calculus. The second edition expands on the success of the first edition by updating on technological changes in networks and responding to comprehensive market feedback.

Debugging Applications


John Robbins - 2000
    But with the upcoming publication of "Debugging Microsoft Windows Applications," developers finally get the practical, Windows-focused reference they need for finding and correcting costly coding errors. The book takes a holistic approach to debugging -- redefining "bugs" not just in terms of crashes and high-profile calamities, but including everything from user interface problems and performance issues to incomprehensible product manuals.The first section introduces the "Zen of Debugging, " outlining what developers need to know both before and during product development Section two demonstrates how to maximize the vastly under-utilized built-in debugging capabilities in the Visual Studio "RM" product family. The last section of the book steps readers through specific debugging situations and their solutions, covering such topics as multithreaded debugging, crash handlers, and automated regression testing. Throughout, the book focuses on practical, tested techniques -- ready for work -- in the tradition of the award-winning Microsoft Press "RM" Best Practices series.

The Beginnings and Evolution of Algebra


I.G. Bashmakova - 2000
    Today algebra stands as one of the cornerstones of modern mathematics. How then did the subject evolve? How did its constituent ideas and concepts arise, and how have they changed over the years? These are the questions that the authors address in this work. The authors challenge the existing view that the development of algebra was driven by the investigation of determinate equations and in particular their solution by radicals. In short they claim that the study of indeterminate equations was no less important. Historians of mathematics, as well as working algebraists who want to look into the history of their subject, will find this an illuminating read.

Tcp/IP Sockets in C: Practical Guide for Programmers


Michael J. Donahoo - 2000
    The book's focused, tutorial-based approach enables the reader to master the tasks and techniques essential to virtually all client-server projects using sockets in C. This edition has been expanded to include new advancements such as support for IPv6 as well as detailed defensive programming strategies.If you program using Java, be sure to check out this book's companion, TCP/IP Sockets in Java: Practical Guide for Programmers, 2nd Edition.

Comparative Programming Languages


Leslie B. Wilson - 2000
    The author compares how the major languages handle issues such as declarations, types, data abstraction, information hiding, modularity and the support given to the development of reliable software systems. The emphasis is on the similarities between languages rather than their differences. The book primarily covers modern, widely-used object-oriented and procedural languages such as C, C++, Java, Pascal (including its implementation in Delphi), Ada 95, and Perl with special chapters being devoted to functional and logic languages. The new edition has been brought fully up to date with new developments in the field: the increase in the use of object-oriented languages as a student's first language; the growth in importance of graphical user interfaces (GUIs); and the widespread use of the Internet. * * * *

3ds Max 8 Bible [With DVD]


Kelly L. Murdock - 2000
    Spark your creativity with the world's most popular animation software and the detailed instruction in this power-packed book from an industry expert. If you're new to 3ds Max, jump right in with a Quick Start program that will have you modeling and rendering a complete image your first day. Experienced users, discover exciting new Max 8 features such as a new module for hair and fur, a new cloth system, and much more. This comprehensive book covers every feature, and it's loaded with professional techniques and full color examples to inspire you.Inside, you'll find complete coverage of 3ds Max 8Model a detailed creature right away with the Quick Start tutorialAdd realistic and dynamic hair, fur, and cloth to your modelsCreate complex characters with Max's new biped featuresUse the expanded Edit Poly options to work more efficiently with Edge Ring and Edge Loop selectionsExplore Max's new Asset Tracking system including the Autodesk(r) Vault clientMake texture creation a snap with the new Pelt mapping method and the Render UVW Template featureSave, load, and retarget animation files using the supported XML Animation File (XAF) formatEasily render a series of stills from several angles with the new Batch Render toolBonus DVD IncludedFeatures a wide selection of 3D models and textures just right for your own projects, plus the Max files and examples to more than 150 tutorials. The DVD also includes a full-color electronic version of the book

Digital Image Processing: A Practical Introduction Using Java (With CD-ROM)


Nick Efford - 2000
    The material on this disc includes Java classes that can be used by programmers to build IP software, as well as a complete set of tools that will let them experiment with IP concepts. It provides a thorough introduction to current state-of-the-art IP technology while using the Java programming language. Computer scientists who want to learn more advanced topics in computer graphics.

Schaum's Outline of Data Structures with Java


John R. Hubbard - 2000
    It includes more than 260 solved problems and examples and covers the advanced placement exam in computer science, now entirely in Java.

Generative Programming: Methods, Tools, and Applications


Krzysztof Czarnecki - 2000
    GP's goal is to model software system families and build software modules such that, given particular requirements specs, highly customized and optimized intermediate or end products can be constructed on demand. This is the first book to cover Generative Programming in depth. The authors, leaders in their field, introduce the two-stage GP development cycle: one stage for designing and implementing a generative domain model, and another for using the model to build concrete systems. They review key differences between generative modeling and processes used for one-of-a-kind systems. Next, they introduce key GP concepts such as feature models, and demonstrate generic programming techniques for creating components which lend themselves to easy combination and reuse. The book also introduces Aspect Oriented Programming, which allows developers to solve key recurring problems in traditional O-O development; and presents metaprogramming techniques for building powerful program generators. Three detailed case studies demonstrate the entire generative development cycle, from analysis to implementation.

Making Collaboration Work: Lessons From Innovation In Natural Resource Managment


Julia M. Wondolleck - 2000
    Government agencies, community groups, businesses, and private individuals have begun working together to solve common problems, resolve conflicts, and develop forward-thinking strategies for moving in a more sustainable direction.Making Collaboration Work examines those promising efforts. With a decade of research behind them, the authors offer an invaluable set of lessons on the role of collaboration in natural resource management and how to make it work. The book:explains why collaboration is an essential component of resource managementdescribes barriers that must be understood and overcomepresents eight themes that characterize successful effortsdetails the specific ways that groups can use those themes to achieve successprovides advice on how to ensure accountabilityDrawing on lessons from nearly two hundred cases from around the country, the authors describe the experience in practical terms and offer specific advice for agencies and individuals interested in pursuing a collaborative approach. The images of success offered can provide ideas to those mired in traditional management styles and empower those seeking new approaches. While many of the examples involve natural resource professionals, the lessons hold true in a variety of public policy settings including public health, social services, and environmental protection, among others.Making Collaboration Work will be an invaluable source of ideas and inspiration for policy makers, managers and staff of government agencies and nongovernmental organizations, and community groups searching for more productive modes of interaction.

Handbook of Image and Video Processing


Alan C. Bovik - 2000
    It should provide both the novice and the seasoned practitioner the necessary information and skills to be able to develop algorithms and applications for the burgeoning multimedia, digital imaging, digital video, telecommunications and internet industries.

Modeling Survival Data: Extending the Cox Model


Terry M. Therneau - 2000
    Building on recent developments motivated by counting process and martingale theory, it shows the reader how to extend the Cox model to analyze multiple/correlated event data using marginal and random effects. The focus is on actual data examples, the analysis and interpretation of results, and computation. The book shows how these new methods can be implemented in SAS and S-Plus, including computer code, worked examples, and data sets.

Introduction to Java Programming


Y. Daniel Liang - 2000
    Designed for a first course in Java programming, this text covers Java 2 the newest version of this programming language, principles of programming, and core Java features. A step-by-step approach first lays a sound foundation on programming elements, control statements, and methods; then introduces object-oriented programming; moves on to graphics programming; and concludes with advanced features that enable students to develop comprehensive programs. Representative examples, abundant pedagogy, and multiple exercises provide students with an outstanding introduction to Java. *NEW UML (Unified Modeling Language) graphical notations throughout Describe classes and their relationships. *Teaches students design and development of Java programs using the industry standard modeling technique. *NEW State-of-the-art Swing components Replace all the AWT user interface components. *Students learn Java programming with state-of-the-art graphics components. *NEW More case studies. *Offers students additional examples for learning the fundamentals of programming, su

Evolutionary Computation 1: Basic Algorithms and Operators


Thomas Baeck - 2000
    Culling material from the Handbook of Evolutionary Computation, Evolutionary Computation 1: Basic Algorithms and Operators contains up-to-date information on algorithms and operators used in evolutionary computing. This volume discusses the basic ideas that underlie the main paradigms of evolutionary algorithms, evolution strategies, evolutionary programming, and genetic programming. It is intended to be used by individual researchers, teachers, and students working and studying in this expanding field.

Linux From Scratch


Gerard Beekmans - 2000
    From the author's introduction: "Having used a number of different Linux distributions, I was never fully satisfied with either of those. I didn't like the way the bootscripts were arranged, or I didn't like the way certain programs were configured by default and more of those things. I came to realize that when I want to be totally satisfied with a Linux system, I have to build my own Linux system from scratch. Ideally only using the source code. No pre-compiled packages of any kind. No help from some sort of cdrom or bootdisk that would install some basic utilities. You would use your current Linux system and use that one to build your own. This, at one time, wild idea seemed very difficult and at times almost impossible. The reason for most problems were due to my lack of knowledge about certain programs and procedures. After I sorted out all kinds of dependency problems, compilation problems, etcetera, a manually Linux system was created and fully operational. I called this system and LFS system which stands for Linux From Scratch."

Introduction to Assembly Language Programming: From 8086 to Pentium Processors


Sivarama P. Dandamudi - 2000
    The author concentrates on covering the 8086 family of processors up to and including the Pentium. The aim of the book is to provide students with a firm grasp of the main features of assembly programming, and how it can be used to improve a computer's performance.

The Logical Basis For Computer Programming. Volume II: Deductive Systems


Zohar Manna - 2000
    Systems with the ability to perform logical deduction are being applied to the synthesis, verification, and transformation of computer programs, to the understanding of natural language, and to the formation of commonsense and robotic plans. Expert systems and logic-programming systems (such as Prolog) may all be regarded as rudimentary applications of a new deductive technology.

A Programmer's Introduction to PHP 4.0


W. Jason Gilmore - 2000
    Beginning with a rapid introduction to PHP's syntax and basic functionality, you will swiftly understand PHP. The book then steers you toward advanced issues, like PHP's role in database manipulation, sessions, and user interactivity.Author W. J. Gilmore also examines how PHP can work with XML, JavaScript, and the Component Object Model (COM). He loads the book with practical examples and several projects that can be immediately incorporated on any website. The invaluable "A Programmer's Introduction to PHP 4.0" shows you how to make the most of PHP's powerful capabilities, regardless of your current scope of PHP knowledge.

Neurodynamics: An Exploration in Mesoscopic Brain Dynamics


Walter J. Freeman - 2000
    The first three steps in the anal ysis of these complex waveforms are proper placement of electrodes for recording, the proper choice of electrical or sensory stimulus parameters, and the establish ment of behavioral control. The fourth is development of techniques for reliable measurement. Measurement consists of comparison of an unknown entity with a set of standard scales or dimensions having numerical attributes in preassigned degree. A physical object can be described by the dimensions of size, mass, density, etc. In addition there are dimensions such as location, velocity, weight, hardness, etc. Some of these dimensions can be complex (e. g. size depends on three or more subsidiary coordi nates), and some can be interdependent or nonorthogonal (e. g. specification of size and mass may determine density). In each dimension the unit is defined with refer ence to a standard physical entity, e. g. a unit of mass or length, and the result of measurement is expressed as an equivalence between the unknown and the sum of a specified number of units of that entity. The dimensions of a complex waveform are elementary waveforms from which that waveform can be built by simple addition. Any finite single-valued function of time is admissible. They are called basis functions (lO, 15), and they can be expressed in numeric as well as geometric form."

Microsoft Access Developer's Guide to SQL Server


Mary Chipman - 2000
    Written by Access experts and Microsoft MVPs Mary Chipman and Andy Baron, this hands-on guide provides you with the practical knowledge you need to harness the enterprise-level power and scalability SQL Server offers, while using the Access tools you are familiar with. More than just a migration guide, you will benefit from the authors' expert discussions of topics including the new Microsoft Database Engine (MSDE), Transact SQL, building stored procedures and views, converting your applications to SQL Server, working with SQL Server security, and building Access interfaces to SQL Server databases.