Mining of Massive Datasets


Anand Rajaraman - 2011
    This book focuses on practical algorithms that have been used to solve key problems in data mining and which can be used on even the largest datasets. It begins with a discussion of the map-reduce framework, an important tool for parallelizing algorithms automatically. The authors explain the tricks of locality-sensitive hashing and stream processing algorithms for mining data that arrives too fast for exhaustive processing. The PageRank idea and related tricks for organizing the Web are covered next. Other chapters cover the problems of finding frequent itemsets and clustering. The final chapters cover two applications: recommendation systems and Web advertising, each vital in e-commerce. Written by two authorities in database and Web technologies, this book is essential reading for students and practitioners alike.

The Idea Factory: Bell Labs and the Great Age of American Innovation


Jon Gertner - 2012
    From the transistor to the laser, it s hard to find an aspect of modern life that hasn t been touched by Bell Labs. Why did so many transformative ideas come from Bell Labs? In "The Idea Factory," Jon Gertner traces the origins of some of the twentieth century s most important inventions and delivers a riveting and heretofore untold chapter of American history. At its heart this is a story about the life and work of a small group of brilliant and eccentric men Mervin Kelly, Bill Shockley, Claude Shannon, John Pierce, and Bill Baker who spent their careers at Bell Labs. Their job was to research and develop the future of communications. Small-town boys, childhood hobbyists, oddballs: they give the lie to the idea that Bell Labs was a grim cathedral of top-down command and control.Gertner brings to life the powerful alchemy of the forces at work behind Bell Labs inventions, teasing out the intersections between science, business, and society. He distills the lessons that abide: how to recruit and nurture young talent; how to organize and lead fractious employees; how to find solutions to the most stubbornly vexing problems; how to transform a scientific discovery into a marketable product, then make it even better, cheaper, or both. Today, when the drive to invent has become a mantra, Bell Labs offers us a way to enrich our understanding of the challenges and solutions to technological innovation. Here, after all, was where the foundational ideas on the management of innovation were born. "The Idea Factory" is the story of the origins of modern communications and the beginnings of the information age a deeply human story of extraordinary men who were given extraordinary means time, space, funds, and access to one another and edged the world into a new dimension."

The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage


Clifford Stoll - 1989
    citizen recognized its ominous potential. Armed with clear evidence of computer espionage, he began a highly personal quest to expose a hidden network of spies that threatened national security. But would the authorities back him up? Cliff Stoll's dramatic firsthand account is "a computer-age detective story, instantly fascinating [and] astonishingly gripping" (Smithsonian). Cliff Stoll was an astronomer turned systems manager at Lawrence Berkeley Lab when a 75-cent accounting error alerted him to the presence of an unauthorized user on his system. The hacker's code name was "Hunter" -- a mysterious invader who managed to break into U.S. computer systems and steal sensitive military and security information. Stoll began a one-man hunt of his own: spying on the spy. It was a dangerous game of deception, broken codes, satellites, and missile bases -- a one-man sting operation that finally gained the attention of the CIA...and ultimately trapped an international spy ring fueled by cash, cocaine, and the KGB.

Computational Complexity


Christos H. Papadimitriou - 1993
    It offers a comprehensive and accessible treatment of the theory of algorithms and complexity—the elegant body of concepts and methods developed by computer scientists over the past 30 years for studying the performance and limitations of computer algorithms. The book is self-contained in that it develops all necessary mathematical prerequisites from such diverse fields such as computability, logic, number theory and probability.

Tools for Thought: The History and Future of Mind-Expanding Technology


Howard Rheingold - 1985
    C. R. Licklider, Doug Engelbart, Bob Taylor, and Alan Kay.The digital revolution did not begin with the teenage millionaires of Silicon Valley, claims Howard Rheingold, but with such early intellectual giants as Charles Babbage, George Boole, and John von Neumann. In a highly engaging style, Rheingold tells the story of what he calls the patriarchs, pioneers, and infonauts of the computer, focusing in particular on such pioneers as J. C. R. Licklider, Doug Engelbart, Bob Taylor, and Alan Kay. Taking the reader step by step from nineteenth-century mathematics to contemporary computing, he introduces a fascinating collection of eccentrics, mavericks, geniuses, and visionaries.The book was originally published in 1985, and Rheingold's attempt to envision computing in the 1990s turns out to have been remarkably prescient. This edition contains an afterword, in which Rheingold interviews some of the pioneers discussed in the book. As an exercise in what he calls retrospective futurism, Rheingold also looks back at how he looked forward.

Complex Adaptive Systems: An Introduction to Computational Models of Social Life


John H. Miller - 2007
    Such systems--whether political parties, stock markets, or ant colonies--present some of the most intriguing theoretical and practical challenges confronting the social sciences. Engagingly written, and balancing technical detail with intuitive explanations, Complex Adaptive Systems focuses on the key tools and ideas that have emerged in the field since the mid-1990s, as well as the techniques needed to investigate such systems. It provides a detailed introduction to concepts such as emergence, self-organized criticality, automata, networks, diversity, adaptation, and feedback. It also demonstrates how complex adaptive systems can be explored using methods ranging from mathematics to computational models of adaptive agents. John Miller and Scott Page show how to combine ideas from economics, political science, biology, physics, and computer science to illuminate topics in organization, adaptation, decentralization, and robustness. They also demonstrate how the usual extremes used in modeling can be fruitfully transcended.

Concepts, Techniques, and Models of Computer Programming


Peter Van Roy - 2004
    The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together.After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language—a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.

An Introduction to Formal Language and Automata


Peter Linz - 1990
    The Text Was Designed To Familiarize Students With The Foundations And Principles Of Computer Science And To Strengthen The Students' Ability To Carry Out Formal And Rigorous Mathematical Arguments. In The New Fourth Edition, Author Peter Linz Has Offered A Straightforward, Uncomplicated Treatment Of Formal Languages And Automata And Avoids Excessive Mathematical Detail So That Students May Focus On And Understand The Underlying Principles. In An Effort To Further The Accessibility And Comprehension Of The Text, The Author Has Added New Illustrative Examples Throughout.

Alan Turing: Unlocking the Enigma


David Boyle - 2014
    Turing’s openness about his homosexuality at a time when it was an imprisonable offense ultimately led to his untimely lo death at the age of only forty-one. In Alan Turing: Unlocking the Enigma, David Boyle reveals the mysteries behind the man and his remarkable career. Aged just 22, Turing was elected a fellow at King's College, Cambridge on the strength of a dissertation in which he proved the central limit theorem. By the age of 33, he had been awarded the OBE by King George VI for his wartime services: Turing was instrumental in cracking the Nazi Enigma machines at the top secret code breaking establishment at Bletchley Park during the Second World War.But his achievements were to be tragically overshadowed by the paranoia of the post-War years. Hounded for his supposedly subversive views and for his sexuality, Turing was prosecuted in 1952, and forced to accept the humiliation of hormone treatment to avoid a prison sentence. Just two years later, at the age of 41 he was dead. The verdict: cyanide poisoning.Was Turing’s death accidental as his mother always claimed? Or did persistent persecution drive him to take him own life?Alan Turing: Unlocking the Enigma seeks to find the man behind the science, illuminating the life of a person who is still a shadowy presence behind his brilliant achievements.

The Apollo Guidance Computer: Architecture And Operation (Springer Praxis Books / Space Exploration)


Frank O'Brien - 2010
    In the 1960s most computers filled an entire room, but the spacecraft's computer was required to be compact and low power. Although people today find it difficult to accept that it was possible to control a spacecraft using such a 'primitive' computer, it nevertheless had capabilities that are advanced even by today's standards.This is the first book to fully describe the Apollo guidance computer's architecture, instruction format and programs used by the astronauts. As a comprehensive account, it will span the disciplines of computer science, electrical and aerospace engineering. However, it will also be accessible to the 'space enthusiast'. In short, the intention is for this to be the definitive account of the Apollo guidance computer.Frank O'Brien's interest in the Apollo program began as a serious amateur historian. About 12 years ago, he began performing research and writing essays for the Apollo Lunar Surface Journal, and the Apollo Flight Journal. Much of this work centered on his primary interests, the Apollo Guidance Computer (AGC) and the Lunar Module. These Journals are generally considered the canonical online reference on the flights to the Moon. He was then asked to assist the curatorial staff in the creation of the Cradle of Aviation Museum, on Long Island, New York, where he helped prepare the Lunar Module simulator, a LM procedure trainer and an Apollo space suit for display. He regularly lectures on the Apollo computer and related topics to diverse groups, from NASA's computer engineering conferences, the IEEE/ACM, computer festivals and university student groups.

The Mythical Man-Month: Essays on Software Engineering


Frederick P. Brooks Jr. - 1975
    With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 45 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."

You Don't Know JS: Up & Going


Kyle Simpson - 2015
    With the "You Don’t Know JS" book series, you’ll get a more complete understanding of JavaScript, including trickier parts of the language that many experienced JavaScript programmers simply avoid.The series’ first book, Up & Going, provides the necessary background for those of you with limited programming experience. By learning the basic building blocks of programming, as well as JavaScript’s core mechanisms, you’ll be prepared to dive into the other, more in-depth books in the series—and be well on your way toward true JavaScript.With this book you will: Learn the essential programming building blocks, including operators, types, variables, conditionals, loops, and functions Become familiar with JavaScript's core mechanisms such as values, function closures, this, and prototypes Get an overview of other books in the series—and learn why it’s important to understand all parts of JavaScript

Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering


Steven H. Strogatz - 1994
    The presentation stresses analytical methods, concrete examples, and geometric intuition. A unique feature of the book is its emphasis on applications. These include mechanical vibrations, lasers, biological rhythms, superconducting circuits, insect outbreaks, chemical oscillators, genetic control systems, chaotic waterwheels, and even a technique for using chaos to send secret messages. In each case, the scientific background is explained at an elementary level and closely integrated with mathematical theory.About the Author:Steven Strogatz is in the Center for Applied Mathematics and the Department of Theoretical and Applied Mathematics at Cornell University. Since receiving his Ph.D. from Harvard university in 1986, Professor Strogatz has been honored with several awards, including the E.M. Baker Award for Excellence, the highest teaching award given by MIT.

Code Complete


Steve McConnell - 1993
    Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Revolution in The Valley: The Insanely Great Story of How the Mac Was Made


Andy Hertzfeld - 2004
    Revolution in the Valley traces this vision back to its earliest roots: the hallways and backrooms of Apple, where the groundbreaking Macintosh computer was born. The book traces the development of the Macintosh, from its inception as an underground skunkworks project in 1979 to its triumphant introduction in 1984 and beyond.The stories in "Revolution in the Valley" come on extremely good authority. That's because author Andy Hertzfeld was a core member of the team that built the Macintosh system software, and a key creator of the Mac's radically new user interface software. One of the chosen few who worked with the mercurial Steve Jobs, you might call him the ultimate insider.When "Revolution in the Valley" begins, Hertzfeld is working on Apple's first attempt at a low-cost, consumer-oriented computer: the Apple II. He sees that Steve Jobs is luring some of the company's most brilliant innovators to work on a tiny research effort the Macintosh. Hertzfeld manages to make his way onto the Macintosh research team, and the rest is history.Through lavish illustrations, period photos, and Hertzfeld's vivid first-hand accounts, Revolution in the Valley reveals what it was like to be there at the birth of the personal computer revolution. The story comes to life through the book's portrait of the talented and often eccentric characters who made up the Macintosh team. Now, over 20 years later, millions of people are benefiting from the technical achievements of this determined and brilliant group of people.