Funding a Revolution


Book Description

The past 50 years have witnessed a revolution in computing and related communications technologies. The contributions of industry and university researchers to this revolution are manifest; less widely recognized is the major role the federal government played in launching the computing revolution and sustaining its momentum. Funding a Revolution examines the history of computing since World War II to elucidate the federal government's role in funding computing research, supporting the education of computer scientists and engineers, and equipping university research labs. It reviews the economic rationale for government support of research, characterizes federal support for computing research, and summarizes key historical advances in which government-sponsored research played an important role. Funding a Revolution contains a series of case studies in relational databases, the Internet, theoretical computer science, artificial intelligence, and virtual reality that demonstrate the complex interactions among government, universities, and industry that have driven the field. It offers a series of lessons that identify factors contributing to the success of the nation's computing enterprise and the government's role within it.




Theoretical Aspects of Evolutionary Computing


Book Description

This book is the first in the field to provide extensive, entry level tutorials to the theory of Evolutionary Computing, covering the main approaches to understanding the dynamics of Evolutionary Algorithms. It combines this with recent, previously unpublished research papers based on the material of the tutorials. The outcome is a book which is self-contained to a large degree, attractive both to graduate students and researchers from other fields who want to get acquainted with the theory of Evolutionary Computing, and to active researchers in the field who can use this book as a reference and a source of recent results.




Theoretical Aspects of Object-oriented Programming


Book Description

Although the theory of object-oriented programming languages is far from complete, this book brings together the most important contributions to its development to date, focusing in particular on how advances in type systems and semantic models can contribute to new language designs.The fifteen chapters are divided into five parts: Objects and Subtypes, Type Inference, Coherence, Record Calculi, and Inheritance. The chapters are organized approximately in order of increasing complexity of the programming language constructs they consider - beginning with variations on Pascal- and Algol-like languages, developing the theory of illustrative record object models, and concluding with research directions for building a more comprehensive theory of object-oriented programming languages.Part I discusses the similarities and differences between "objects" and algebraic-style abstract data types, and the fundamental concept of a subtype. Parts II-IV are concerned with the "record model" of object-oriented languages. Specifically, these chapters discuss static and dynamic semantics of languages with simple object models that include a type or class hierarchy but do not explicitly provide what is often called dynamic binding. Part V considers extensions and modifications to record object models, moving closer to the full complexity of practical object-oriented languages.Carl A. Gunter is Professor in the Department of Computer and Information Science at the University of Pennsylvania. John C. Mitchell is Professor in the Department of Computer Science at Stanford University.




The Elements of Computing Systems


Book Description

This title gives students an integrated and rigorous picture of applied computer science, as it comes to play in the construction of a simple yet powerful computer system.




Elements of Quantum Computing


Book Description

A quantum computer is a computer based on a computational model which uses quantum mechanics, which is a subfield of physics to study phenomena at the micro level. There has been a growing interest on quantum computing in the 1990's and some quantum computers at the experimental level were recently implemented. Quantum computers enable super-speed computation and can solve some important problems whose solutions were regarded impossible or intractable with traditional computers. This book provides a quick introduction to quantum computing for readers who have no backgrounds of both theory of computation and quantum mechanics. “Elements of Quantum Computing” presents the history, theories and engineering applications of quantum computing. The book is suitable to computer scientists, physicists and software engineers.







Theory of Reversible Computing


Book Description

This book describes reversible computing from the standpoint of the theory of automata and computing. It investigates how reversibility can be effectively utilized in computing. A reversible computing system is a “backward deterministic” system such that every state of the system has at most one predecessor. Although its definition is very simple, it is closely related to physical reversibility, one of the fundamental microscopic laws of Nature. Authored by the leading scientist on the subject, this book serves as a valuable reference work for anyone working in reversible computation or in automata theory in general. This work deals with various reversible computing models at several different levels, which range from the microscopic to the macroscopic, and aims to clarify how computation can be carried out efficiently and elegantly in these reversible computing models. Because the construction methods are often unique and different from those in the traditional methods, these computing models as well as the design methods provide new insights for future computing systems. Organized bottom-up, the book starts with the lowest scale of reversible logic elements and circuits made from them. This is followed by reversible Turing machines, the most basic computationally universal machines, and some other types of reversible automata such as reversible multi-head automata and reversible counter machines. The text concludes with reversible cellular automata for massively parallel spatiotemporal computation. In order to help the reader have a clear understanding of each model, the presentations of all different models follow a similar pattern: the model is given in full detail, a short informal discussion is held on the role of different elements of the model, and an example with illustrations follows each model.




Advanced Intelligent Computing Theories and Applications


Book Description

The International Conference on Intelligent Computing (ICIC) was formed to p- vide an annual forum dedicated to the emerging and challenging topics in artificial intelligence, machine learning, bioinformatics, and computational biology, etc. It aims to bring together researchers and practitioners from both academia and ind- try to share ideas, problems and solutions related to the multifaceted aspects of intelligent computing. ICIC 2008, held in Shanghai, China, September 15–18, 2008, constituted the 4th International Conference on Intelligent Computing. It built upon the success of ICIC 2007, ICIC 2006 and ICIC 2005 held in Qingdao, Kunming and Hefei, China, 2007, 2006 and 2005, respectively. This year, the conference concentrated mainly on the theories and methodologies as well as the emerging applications of intelligent computing. Its aim was to unify the picture of contemporary intelligent computing techniques as an integral concept that highlights the trends in advanced computational intelligence and bridges theoretical research with applications. Therefore, the theme for this conference was “Emerging Intelligent Computing Technology and Applications”. Papers focusing on this theme were solicited, addressing theories, methodologies, and applications in science and technology.




What Can Be Computed?


Book Description

An accessible and rigorous textbook for introducing undergraduates to computer science theory What Can Be Computed? is a uniquely accessible yet rigorous introduction to the most profound ideas at the heart of computer science. Crafted specifically for undergraduates who are studying the subject for the first time, and requiring minimal prerequisites, the book focuses on the essential fundamentals of computer science theory and features a practical approach that uses real computer programs (Python and Java) and encourages active experimentation. It is also ideal for self-study and reference. The book covers the standard topics in the theory of computation, including Turing machines and finite automata, universal computation, nondeterminism, Turing and Karp reductions, undecidability, time-complexity classes such as P and NP, and NP-completeness, including the Cook-Levin Theorem. But the book also provides a broader view of computer science and its historical development, with discussions of Turing's original 1936 computing machines, the connections between undecidability and Gödel's incompleteness theorem, and Karp's famous set of twenty-one NP-complete problems. Throughout, the book recasts traditional computer science concepts by considering how computer programs are used to solve real problems. Standard theorems are stated and proven with full mathematical rigor, but motivation and understanding are enhanced by considering concrete implementations. The book's examples and other content allow readers to view demonstrations of—and to experiment with—a wide selection of the topics it covers. The result is an ideal text for an introduction to the theory of computation. An accessible and rigorous introduction to the essential fundamentals of computer science theory, written specifically for undergraduates taking introduction to the theory of computation Features a practical, interactive approach using real computer programs (Python in the text, with forthcoming Java alternatives online) to enhance motivation and understanding Gives equal emphasis to computability and complexity Includes special topics that demonstrate the profound nature of key ideas in the theory of computation Lecture slides and Python programs are available at whatcanbecomputed.com