Thinking in C++, Vol. 2: Practical Programming


Bruce Eckel - 2003
    Learn practical programming and best practices. Meet the difficult challenges of C++ development. Build reliable and robust programs. Design Patterns chapter shows sophisticated use of objects, composition and polymorphism. Provides a gentle introduction to multithreaded programming, a feature being considered for the next version of Standard C++. Defensive Programming chapter includes a simple unit-testing framework and debugging techniques. In-depth treatment of Standard C++ Library facilities including strings, iostreams, and the "STL" algorithms and containers. Modern usage of templates, including template metaprogramming. Unravels the perplexities of multiple inheritance. Shows practical uses for RTTI. Explores exception handling in depth and clearly explains exception-safe design. Compliant with the official ISO C++ Standard. Presents results of current research being considered for inclusion in the next revision of Standard C++. All code examples freely downloadable, tested on multiple platforms and compilers including the free GNU C++ compiler on Windows/Mac/Linux. On www.BruceEckel.com: Annotated Solutions Guide Seminars and consulting Free Download—Volume I of this book Annotation Thinking in C++ is ideal for anyone already familiar with C who now wants to learn C++. Eckel has synthesized more than five years of C++ teaching and programming experience into a well-structured course that moves step-by-step through each important C++ concept. He highlights poorly-understood C++ features like virtual functions, which can improve productivity. Editorial Reviews The Barnes & Noble Review Bruce Eckel, one of the world's best programming trainers, has thoroughly updated his classic THINKING IN C++—the book that won the Software Development Magazine Jolt Cola award in its first iteration. The new version is better than ever—which is to say, it's

MATLAB: An Introduction with Applications


Amos Gilat - 2003
    The first chapter describes basic features of the program and shows how to use it in simple arithmetic operations with scalars. The next two chapters focus on the topic of arrays (the basis of MATLAB), while the remaining text covers a wide range of other applications. Computer screens, tutorials, samples, and homework questions in math, science, and engineering, provide the student with the practical hands-on experience needed for total proficiency.

Learning Perl


Randal L. Schwartz - 1993
    Written by three prominent members of the Perl community who each have several years of experience teaching Perl around the world, this edition has been updated to account for all the recent changes to the language up to Perl 5.8.Perl is the language for people who want to get work done. It started as a tool for Unix system administrators who needed something powerful for small tasks. Since then, Perl has blossomed into a full-featured programming language used for web programming, database manipulation, XML processing, and system administration--on practically all platforms--while remaining the favorite tool for the small daily tasks it was designed for. You might start using Perl because you need it, but you'll continue to use it because you love it.Informed by their years of success at teaching Perl as consultants, the authors have re-engineered the Llama to better match the pace and scope appropriate for readers getting started with Perl, while retaining the detailed discussion, thorough examples, and eclectic wit for which the Llama is famous.The book includes new exercises and solutions so you can practice what you've learned while it's still fresh in your mind. Here are just some of the topics covered:Perl variable typessubroutinesfile operationsregular expressionstext processingstrings and sortingprocess managementusing third party modulesIf you ask Perl programmers today what book they relied on most when they were learning Perl, you'll find that an overwhelming majority will point to the Llama. With good reason. Other books may teach you to program in Perl, but this book will turn you into a Perl programmer.

The Atomic Chef: And Other True Tales of Design, Technology, and Human Error


Steven Casey - 2006
    The 20 stand-alone chapters of this new work describe how technological failures result from the incompatibilities between the way things are designed and the way people actually perceive, think, and act. New technologies will succeed or fail based on our ability to minimize these incompatibilities between the characteristics of people and the characteristics of the things we create and use.This book is the quintessential 'must read' for all those who deal with technology in any fashion. From the frustration of an awkward ATM machine to the threat of accidental, nuclear Armageddon, Casey shows how the same crucial factors come into play told through the very eyes of those people who saw and experienced these things. No student of design, psychology, behavioral science, or technology should be without this book, and neither should any intelligent member of society who wants to know what goes on with the successes and failures of modern technology.Sit ringside to the action where compelling events unfold. The stories in this book will take you to airports and airline cabins, an amusement park, a fertility clinic, a pharmaceutical plant, an emergency dispatch center, the Olympic games, and a bank; to hospitals, spacecraft, ships, and cars. From the coasts of Peru and Monterey, in orbit aboard the International Space Station, the freeways of Southern California and the back roads of France, the battlefields of Afghanistan, and a nuclear fuel plant in Japan this is The Atomic Chef.

Make: Analog Synthesizers


Ray Wilson - 2013
    If you’re a musician or a hobbyist with experience in building electronic projects from kits or schematics, this do-it-yourself guide will walk you through the parts and schematics you need, and how to tailor them for your needs. Author Ray Wilson shares his decades of experience in synth-DIY, including the popular Music From Outer Space (MFOS) website and analog synth community.At the end of the book, you’ll apply everything you’ve learned by building an analog synthesizer, using the MFOS Noise Toaster kit. You’ll also learn what it takes to create synth-DIY electronic music studio. Get started in the fun and engaging hobby of synth-DIY without delay.With this book, you’ll learn:The differences between analog and digital synthesizersAnalog synthesizer building blocks, including VCOs, VCFs, VCAs, and LFOsHow to tool up for synth-DIY, including electronic instruments and suggestions for home-made equipmentFoundational circuits for amplification, biasing, and signal mixingHow to work with the MFOS Noise Toaster kitSetting up a synth-DIY electronic music studio on a budget

Programming Ruby: The Pragmatic Programmers' Guide


Dave Thomas - 2000
    When Ruby first burst onto the scene in the Western world, the Pragmatic Programmers were there with the definitive reference manual, Programming Ruby: The Pragmatic Programmer's Guide.Now in its second edition, author Dave Thomas has expanded the famous Pickaxe book with over 200 pages of new content, covering all the improved language features of Ruby 1.8 and standard library modules. The Pickaxe contains four major sections:An acclaimed tutorial on using Ruby.The definitive reference to the language.Complete documentation on all built-in classes, modules, and methodsComplete descriptions of all 98 standard libraries.If you enjoyed the First Edition, you'll appreciate the expanded content, including enhanced coverage of installation, packaging, documenting Ruby source code, threading and synchronization, and enhancing Ruby's capabilities using C-language extensions. Programming for the World Wide Web is easy in Ruby, with new chapters on XML/RPC, SOAP, distributed Ruby, templating systems, and other web services. There's even a new chapter on unit testing.This is the definitive reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including more than 250 significant changes since the First Edition). Coverage of other features has grown tremendously, including details on how to harness the sophisticated capabilities of irb, so you can dynamically examine and experiment with your running code. Ruby is a wonderfully powerful and useful language, and whenever I'm working with it this book is at my side --Martin Fowler, Chief Scientist, ThoughtWorks

Understanding Digital Signal Processing


Richard G. Lyons - 1996
    This second edition is appropriate as a supplementary (companion) text for any college-level course covering digital signal processing.

Computers and Intractability: A Guide to the Theory of NP-Completeness


Michael R. Garey - 1979
    Johnson. It was the first book exclusively on the theory of NP-completeness and computational intractability. The book features an appendix providing a thorough compendium of NP-complete problems (which was updated in later printings of the book). The book is now outdated in some respects as it does not cover more recent development such as the PCP theorem. It is nevertheless still in print and is regarded as a classic: in a 2006 study, the CiteSeer search engine listed the book as the most cited reference in computer science literature.

A Discipline of Programming


Edsger W. Dijkstra - 1976
    

Data Structures: A Pseudocode Approach with C


Richard F. Gilberg - 1998
    A new four-part organizational structure increases the flexibility of the text, and all material is presented in a straightforward manner accompanied by an array of examples and visual diagrams.

Introduction to Information Retrieval


Christopher D. Manning - 2008
    Written from a computer science perspective by three leading experts in the field, it gives an up-to-date treatment of all aspects of the design and implementation of systems for gathering, indexing, and searching documents; methods for evaluating systems; and an introduction to the use of machine learning methods on text collections. All the important ideas are explained using examples and figures, making it perfect for introductory courses in information retrieval for advanced undergraduates and graduate students in computer science. Based on feedback from extensive classroom experience, the book has been carefully structured in order to make teaching more natural and effective. Although originally designed as the primary text for a graduate or advanced undergraduate course in information retrieval, the book will also create a buzz for researchers and professionals alike.

An Introduction to General Systems Thinking


Gerald M. Weinberg - 1975
    Used in university courses and professional seminars all over the world, the text has proven its ability to open minds and sharpen thinking.Originally published in 1975 and reprinted more than twenty times over a quarter century -- and now available for the first time from Dorset House Publishing -- the text uses clear writing and basic algebraic principles to explore new approaches to projects, products, organizations, and virtually any kind of system.Scientists, engineers, organization leaders, managers, doctors, students, and thinkers of all disciplines can use this book to dispel the mental fog that clouds problem-solving. As author Gerald M. Weinberg writes in the new preface to the Silver Anniversary Edition, "I haven’t changed my conviction that most people don’t think nearly as well as they could had they been taught some principles of thinking.”Now an award-winning author of nearly forty books spanning the entire software development life cycle, Weinberg had already acquired extensive experience as a programmer, manager, university professor, and consultant when this book was originally published.With helpful illustrations, numerous end-of-chapter exercises, and an appendix on a mathematical notation used in problem-solving, An Introduction to General Systems Thinking may be your most powerful tool in working with problems, systems, and solutions.

Operating System Concepts


Abraham Silberschatz - 1985
    By staying current, remaining relevant, and adapting to emerging course needs, this market-leading text has continued to define the operating systems course. This Seventh Edition not only presents the latest and most relevant systems, it also digs deeper to uncover those fundamental concepts that have remained constant throughout the evolution of today's operation systems. With this strong conceptual foundation in place, students can more easily understand the details related to specific systems. New Adaptations * Increased coverage of user perspective in Chapter 1. * Increased coverage of OS design throughout. * A new chapter on real-time and embedded systems (Chapter 19). * A new chapter on multimedia (Chapter 20). * Additional coverage of security and protection. * Additional coverage of distributed programming. * New exercises at the end of each chapter. * New programming exercises and projects at the end of each chapter. * New student-focused pedagogy and a new two-color design to enhance the learning process.

The Imposter's Handbook


Rob Conery - 2016
    New languages, new frameworks, new ways of doing things - a constant struggle just to stay current in the industry. This left no time to learn the foundational concepts and skills that come with a degree in Computer Science.

Computer Architecture and Organization


John P. Hayes - 1988
    Aimed at electrical and computing engineerering and undergraduates in computer architecture. Third revised edition.