Deep Learning
An introduction to a broad range of topics in deep learning, covering mathematical and conceptual background, deep learning techniques used in industry, and research perspectives.
Learning Deep Architectures for AI
Analyzing and comparing recent results with different learning algorithms for deep architectures, explanations for their success are proposed and discussed, highlighting challenges and suggesting avenues for future explorations in this area.
Neural Networks for Speech and Sequence Recognition
This book applies the techniques of neural networks and hidden Markov models to problems of pattern and speech recognition, using real-world examples throughout.
Computer Organization and Design: The Hardware/Software Interface
The best-selling computer organization book is thoroughly updated to provide a new focus on the revolutionary change taking place in industry today: the switch from uniprocessor to multicore microprocessors.
The RISC-V Reader: An Open Architecture Atlas
Concise introduction and reference for embedded systems programmers, students, and the curious to a modern, popular, open architecture.
Computer Architecture: A Quantitative Approach
True to its original mission of demystifying computer architecture, this edition continues the longstanding tradition of focusing on areas where the most exciting computing innovation is happening, while always keeping an emphasis on good engineering design.
Computer Organization and Design MIPS Edition: The Hardware/Software Interface
Computer Organization and Design, Fifth Edition, is the latest update to the classic introduction to computer organization. The text now contains new examples and material highlighting the emergence of mobile computing and the cloud.
Computer Organization and Design RISC-V Edition: The Hardware/Software Interface
The new RISC-V Edition of Computer Organization and Design features the RISC-V open source instruction set architecture, the first open source architecture designed to be used in modern computing environments such as cloud computing, mobile devices, and other embedded systems.
Computer Organization and Design ARM Edition: The Hardware/Software Interface
The new ARM Edition of Computer Organization and Design features a subset of the ARMv8-A architecture, which is used to present the fundamentals of hardware technologies, assembly language, computer arithmetic, pipelining, memory hierarchies, and I/O.
Leading Matters: Lessons from My Jourey
In Leading Matters, former Chairman of Alphabet (Google's parent company), former President of Stanford University, and "Godfather of Silicon Valley," John L. Hennessy shares the core elements of leadership that helped him become a successful tech entrepreneur, esteemed academic, and venerated administrator.
Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web
In Weaving the Web, this low-profile genius tells his own story of the Web's origins - from its radical introduction and the creation of the now ubiquitous "www" and "http" acronyms to how he sees the future development of this revolutionary medium.
Privacy on the Line: The Politics of Wiretapping and Encryption
Telecommunication has never been perfectly secure. The Cold War culture of recording devices in telephone receivers and bugged embassy offices has been succeeded by a post-9/11 world of NSA wiretaps and demands for data retention.
A New Map for Relationships: Creating True Love at Home and Peace on the Planet
You are invited to eavesdrop as Dorothie and Martin Hellman reveal the secrets that allowed them to transform an almost failed marriage into one where they reclaimed the true love that they felt when they first met fifty years ago.
Object-Relational DBMSs
Discover why object-relational technology is ideal for supporting a broad spectrum of data types and application areas, from financial services to multimedia data.
Readings in Database Systems
Lessons from database research have been applied in academic fields ranging from bioinformatics to next-generation Internet architecture and in industrial uses including Web-based e-commerce and search engines. The core ideas in the field have become increasingly influential.
The Ingres Papers: Anatomy of a Relational Database System
Architecture of a Database System (Foundations and Trends in Databases)
Presents an architectural discussion of DBMS design principles, including process models, parallel architecture, storage system design, transaction system implementation, query processor and optimizer architectures, and typical shared components and utilities.
LaTeX: A Document Preparation System
LaTex is a software system for typesetting documents. Because it is especially good for technical documents and is available for almost any computer system, LaTex has become a lingua franca of the scientific world.
Specifying Systems: The TLA+ Language and Tools for Harware and Software Engineers
This work shows how to write unambiguous specifications of complex computer systems.
Complexity of Lattive Problems: A Cryptographic Perspective
Lattices are geometric objects that can be pictorially described as the set of intersection points of an infinite, regular n-dimensional grid.
The Book of Why: The New Science of Cause and Effect
A Turing Award-winning computer scientist and statistician shows how understanding causality has revolutionized science and will revolutionize artificial intelligence.
Causality: Models, Reasoning, and Inference
This book provides a comprehensive exposition of modern analysis of causation. It shows how causality has grown from a nebulous concept into a mathematical theory with significant applications in the fields of statistics, artificial intelligence, economics, philosophy, cognitive science, and the health and social sciences.
Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference
Complete and accessible account of the theoretical foundations and computational methods that underlie plausible reasoning under uncertainty.
Heuristics: Intelligent Search Strategies for Computer Problem Solving
Circuits of the Mind
n this groundbreaking work, computer scientist Leslie G. Valiant details a promising new computational approach to studying the intricate workings of the human brain. Focusing on the brain's enigmatic ability to quickly access a massive store of accumulated information during reasoning processes, the author asks how such feats are possible given the extreme constraints imposed by the brain's finite number of neurons, their limited speed of communication, and their restricted interconnectivity.
Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World
Program Development in Java: Abstraction, Specification, and Object-Oriented Design
Written by a world-renowned expert on programming methodology, and the winner of the 2008 Turing Award, this book shows how to build production-quality programs--programs that are reliable, easy to maintain, and quick to modify.
Abstraction and Specification in Program Development
Abstraction and Specification in Program Development offers professionals in program design and software engineering a methodology that will enable them to construct programs that are reliable and reasonably easy to understand, modify, and maintain.
Model Checking
The main challenge in model checking is dealing with the state space explosion problem. This problem occurs in systems with many components that can interact with each other or systems with data structures that can assume many different values.
Handbook of Model Checking
Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for the verification of hardware and software in industry.
Computing: A Human Activity
Concise Survey of Computer Methods
Knowing and the Mystique of Logic and Rules
Human knowing is examined as it emerges from classical empirical psychology, with its ramifications into language, computing, science, and scholarship.
Primality Testing and Abelian Varieties Over Finite Fields
From Gauss to Gödel, mathematicians have sought an efficient algorithm to distinguish prime numbers from composite numbers. This book presents a random polynomial time algorithm for the problem.
The Endless Struggle: How Genes, Memes, and Cenes Shape Your Life and will Shape the Future of Humanity
Differential Cryptanalysis of the Data Encryption Standard
This book presents the first successful attack which can break the full 16 round DES faster than via exhaustive search. It describes in full detail, the novel technique of Differential Cryptanalysis, and demonstrates its applicability to a wide variety of cryptosystems and hash functions.
Introduction to Algorithms
This internationally acclaimed textbook provides a comprehensive introduction to the modern study of computer algorithms. It covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers.
Object-Oriented Programming in the Beta Programming Language
Object-oriented programming originated with the Simula language developed by Kristen Nygaard in Oslo in the 1960s. Now, from the birthplace of OOP, comes the new BETA programming language, for which this book is both tutorial and reference.
The Mythical Man-Moth: Essays on Software Engineering
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects.
Computer Architecture: Concepts and Evolution
Blaauw and Brooks first develop a conceptual framework for understanding computer architecture. They then describe not only what present architectural practice is, but how it came to be so.
The Design of Design: Essays from a Computer Scientist
Effective design is at the heart of everything from software development to engineering to architecture. But what do we really know about the design process? What leads to effective, elegant designs?
Transaction Processing: Concepts and Techniques
This book will show you how large, distributed, heterogeneous computer systems can be made to work reliably.
The Benchmark Handbook: For Database and Transaction Processing Systems
If you need to test the performance of an online transaction processing (OLTP) system, The Benchmark Handbook for Database and Transaction Processing Systems can help you choose the right tool and decipher its output.
Temporal Verification of Reactive Systems: Safety
This book is about the verification of reactive systems. A reactive system is a system that maintains an ongoing interaction with its environment, as opposed to computing some final value on termination.
The Temporal Logic of Reactive and Concurrent Systems: Specification
Reactive systems are computing systems which are interactive, such as real-time systems, operating systems, concurrent systems, control systems, etc. They are among the most difficult computing systems to program.
The Fifth Generation: Artificial Intelligence and Japan's Computer Challenge to the World
Analyzes the potential and the consequences for the United States of Japan's all-out effort to produce the Fifth Generation of computers within ten years (1983).
The Rise of the Expert Company
Profiles of such corporate giants as Canon and Digital Equipment Corporation, reveal how companies are benefiting from the use of artificial intelligence in performing everything from clerical duties to high-level tasks.
Computers and Thought
Computers and Thought showcases the work of the scientists who not only defined the field of Artificial Intelligence, but who are responsible for having developed it into what it is today. Originally published in 1963, this collection includes twenty classic papers by such pioneers as A. M. Turing and Marvin Minsky who were behind the pivotal advances in artificially simulating human thought processes with computers.
The Handbook of Artificial Intelligence, Volume II
Describes the basic concepts and latest techniques for the programming of computers to duplicate the human thinking process.
Algebraic Structure Theory of Sequential Machines
Distributed Systems - Architecture and Implementation: An Advanced Course
Communication and Concurrency
Communication and Concurrency develops a general calculus of concurrent programming from first principles. The book provides an understanding of concurrency through a very small number of primitive ideas and illustrates how these ideas apply to hardware and software.
The Definition of Standard ML
Standard ML is a general-purpose programming language designed for large projects. This book provides a formal definition of Standard ML for the benefit of all concerned with the language, including users and implementers.
The Space and Motion of Communicating Agents
Robin Milner presents a unified and rigorous structural theory, based on bigraphs, for systems of interacting agents.
Computing Tomorrow: Future Research Directions in Computer Science
First published in 1996, this collection of essays by distinguished computer scientists celebrates the achievements of research and speculates about the unsolved problems in computer science that require future investigation.
Communicating and Mobile Systems: The Pi-Calculus
Communication is a fundamental and integral part of computing, whether between different computers on a network, or between components within a single computer. In this book Robin Milner introduces a new way of modelling communication that reflects its position.
Spheroidal Wave Functions: Including Tables of Separation Constants and Coefficients
An introduction to the mathematical properties of the functions and describes some of their applications.
Advanced Computer Programming
Case study of an assembler-compiler program intended to be an advanced programming text for college students, system programmer trainees, and anyone trying to acquire a general understanding of system programming techniques.
Logical Effort: Designing Fast CMOS Circuits
Makes high speed design easier and more methodical, providing a simple and broadly applicable method for estimating the delay resulting from factors such as topology, capacitance, and gate sizes.
Programming Languages and Their Compilers: Preliminary Notes
Data Structures and Network Algorithms
Four classical problems in network optimization are covered in detail, including a development of the data structures they use and an analysis of their running time.
Foundations of Data Science
This book provides an introduction to the mathematical and algorithmic foundations of data science, including machine learning, high-dimensional geometry, and analysis of large networks.
Data Structures and Algorithms
The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same concept. Algorithm design techniques are also stressed and basic algorithm analysis is covered.
Introduction to Automata Theory, Languages, and Computation
This classic book on formal languages, automata theory, and computational complexity has been updated to present theoretical concepts in a concise and straightforward manner with the increase of hands-on, practical applications.
The Design and Analysis of Computer Algorithms
The book introduces the basic data structures and programming techniques often used in efficient algorithms.
Formal Languages and Their Relation to Automata
Algorithms + Data Structures = Programs
Project Oberon contains a definition of the Oberon Language and describes its relation to Modula-2 and the software tools developed with the system. This definitive, first-hand account of the design, development, and implementation of Oberon completes the Oberon trilogy.
Project Oberon: The Design of an Operating System and Compiler
Programming in Modula-2
Systematic Programming: An Introduction
Algorithms and Data Structures
Compiler Construction
Digital Circuit Design for Computer Science Students: An Introductory Textbook
Based on a course for 2nd-year students, Wirth closes the gap between hardware and software design.
C Programming Language
Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures.
Logical Foundations of Proof Complexity
This book treats bounded arithmetic and propositional proof complexity from the point of view of computational complexity.
The Relational Model for Database Management: Version 2
Written by the originator of the relational model, this book covers the practical aspects of the design of relational databases. The author defines twelve rules that database management systems need to follow in order to be described as truly relational and then gives the motivation behind these rules.
Cellular Automata
Cellular Automata presents the fundamental principles of homogeneous cellular systems. This book discusses the possibility of biochemical computers with self-reproducing capability.
A Programming Language
The Language of Machines: An Introduction to Computability and Formal Languages
An authoritative text for courses in theory of computability and languages. The authors redefine the building blocks of automata theory by offering a single unified model encompassing all traditional types of computing machines and "real world" electronic computers.
Human Problem Solving
This monumental work develops and defends the authors’ information processing theory of human reasoning. Human reasoners, they argue, can be modeled as symbolic “information processing systems”, abstracted entirely from physiological bases.
Skew Distributions and Sizes of Business Firms
Human Problem Solving
This monumental work develops and defends the authors’ information processing theory of human reasoning. Human reasoners, they argue, can be modeled as symbolic “information processing systems”, abstracted entirely from physiological bases.
Unified Theories of Cognition
In this book, Newell makes the case for unified theories by setting forth a candidate. After reviewing the foundational concepts of cognitive science--knowledge, representation, computation, symbols, architecture, intelligence, and search - Newell introduces Soar, an architecture for general cognition.
Concrete Mathematics: A Foundation for Computer Science
This book introduces the mathematics that supports advanced computer programming and the analysis of algorithms. The primary aim of its well-known authors is to provide a solid and relevant base of mathematical skills.
The Art of COmputer Programming, Volumes 1-4A
The Art of Computer Programming, Volume 1: Fundamental Algorithms
This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structures—the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently.
The Art of Computer Programming, Volume 2: Seminumerical Algorithms
The book begins with fundamental questions regarding random numbers and how to use algorithms to generate them. Subsequent chapters demonstrate efficient computation of single-precision and double-precision arithmetic calculations and modular arithmetic. The text then presents prime factorization and algorithms for calculating fractions.
The Art of Computer Programming, Volume 3: Sorting and Searching
How are good algorithms discovered? How can given algorithms and programs be improved? How can the efficiency of algorithms be analyzed mathematically? How can a person choose rationally between different algorithms for the same task?
The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1
The hallmark qualities that distinguish his previous volumes are manifest here anew: detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research.
The Art of Computer Programming, Volume 4, Fascicle 5: Mathematical Preliminaries Redux; Introduction to Backtracking; Dancing Links
The book begins with a 26-page tutorial on the major advances in probabilistic methods that have been made during the past 50 years, since those theories are the key to so many modern algorithms.
The Art of Computer Programming, Volume 4, Fascicle 6: Satisfiability
This fascicle, brimming with lively examples, forms the middle third of what will eventually become hardcover Volume 4B.
Things a Computer Scientist Rarely Talks About
How does a computer scientist understand infinity? What can probability theory teach us about free will?
Formal Development of Programs and Proofs
A collection of monographs wth Dijkstra serving as the editor.
Selected Writings on Computing: A Personal Perspective
"The circumstance that my employer and I had the Atlantic Ocean between us was a further incentive to keep a fairly complete record of what I was doing. The public part of that output found its place in what became known as "the EWD series", which can be viewed as a form of scientific correspondence, possible since the advent of the copier."
A Discipline of Programming
E. W. Dijkstra introduces A Discipline of Programming with the statement, "My original idea was to publish a number of beautiful algorithms in such a way that the reader could appreciate their beauty." In this classic work, Dijkstra achieves this goal and accomplishes a great deal more.
A Method of Programming
The book is meant as the text for an introductory programming course in a more formal, mathematical setting.
Rounding Errors in Algebraic Processes
In this book I have attempted to present a number of simple analyses in a uniform manner. This has made it necessary to be somewhat selective in the choice of material but it is hoped that, in spite of this, the analyses are reasonably representative. It is my hope that in this way the ideas will be readily assimilated by anyone who can understand the techniques which are analysed.
The Society of Mind
An authority on artificial intelligence introduces a theory that explores the workings of the human mind and the mysteries of thought.
The Emotion Machine
In this mind-expanding book, scientific pioneer Marvin Minsky continues his groundbreaking research, offering a fascinating new model for how our minds work. He argues persuasively that emotions, intuitions, and feelings are not distinct things, but different ways of thinking.
Perceptrons: An Introduction to Computational Geometry
Perceptrons has remained a classical work on threshold automata networks for nearly two decades. It marked a historical turn in artificial intelligence, and it is required reading for anyone who wants to understand the connectionist counterrevolution that is going on today.
Computation: Finite and Infinite Machines
The abstract theory - as described in this book - tells us in no uncertain terms that the machines' potential range is enormous, and that its theoretical limitations are of the subtlest and most elusive sort. There is no reason to suppose machines have any limitations not shared by man.
Semantic Information Processing
A group of experiments directed toward creating intelligent machines are collected in this book. Each of the programs described here demonstrates some aspects of behavior that anyone except a professional skeptic would agree require some intelligence.
Robotics: The First Authoritative Report
Looks at the prospects for robots used in heavy industry, as house servants and aids for the handicapped, and speculates on what life with androids will be like.
The Turing Option
A young genius is hunted by killers. His sole hope for survival lies in the brain power of the intelligent being he has created. The Earth's first machine intelligence becomes the key to a harrowing battle.
The Art of Doing Science and Engineering: Learning to Learn
Highly effective thinking is an art that engineers and scientists can be taught to develop. By presenting actual experiences and analyzing them as they are described, the author conveys the developmental thought processes employed and shows a style of thinking that leads to successful results is something that can be learned.
Numerical Methods for Scientists and Engineers
Highly regarded by experts in the field, this is a book with unlimited applications for undergraduate and graduate students of mathematics, science and engineering. Professionals and researchers will find it a valuable reference they will turn to again and again.
The Art of Probability
Offering accessible and nuanced coverage, Richard W. Hamming discusses theories of probability with unique clarity and depth. Topics covered include the basic philosophical assumptions, the nature of stochastic methods, and Shannon entropy. One of the best introductions to the topic, The Art of Probability is filled with unique insights and tricks worth knowing.
Digital Filters
This introductory text examines digital filtering, the processes of smoothing, predicting, differentiating, integrating, and separating signals, as well as the removal of noise from a signal. The processes bear particular relevance to computer applications, one of the focuses of this book.
Methods of Mathematics
Understanding calculus is vital to the creative applications of mathematics in numerous areas. This text focuses on the most widely used applications of mathematical methods, including those related to other important fields such as probability and statistics. The four-part treatment begins with algebra and analytic geometry and proceeds to an exploration of the calculus of algebraic functions and transcendental functions and applications.
Introduction to Applied Numerical Analysis
This book by a prominent mathematician is appropriate for a single-semester course in applied numerical analysis for computer science majors and other upper-level undergraduate and graduate students.
Coding and Information Theory
Computing Perspectives
In this insightful collection of essays, Maurice Wilkes shares his unique perspective on the development of computers and the current state of the art. These enlightening essays discuss the foundational ideas behind modern computing and provide a solid grounding for the appreciation of emerging computer technologies.
Memoirs of a Computer Pioneer
This autobiographical account is brimming with anecdotes of such contemporaries as Turing, Hartree, von Neumann, Aiken, and a dozen others. In it he conveys the excitement of sudden insights and long-sought breakthroughs against life's simpler pleasures and trials.