Related papers: The First Computer Program
This paper provides an overview of the successive stages in the development of Charles Babbage's Analytical Engine, based on the blueprints held in the Babbage Papers Archive, accessible online through the Science Museum in London. The…
This chapter makes needed corrections to an unduly negative scholarly view of Ada Lovelace. Credit between Lovelace and Babbage is not a zero-sum game, where any credit added to Lovelace somehow detracts from Babbage. Ample evidence…
The history of computability theory and and the history of analysis are surprisingly intertwined since the beginning of the twentieth century. For one, \'Emil Borel discussed his ideas on computable real number functions in his introduction…
Automatic Programming is one of the most important areas of computer science research today. Hardware speed and capability have increased exponentially, but the software is years behind. The demand for software has also increased…
Computational Logic is the use of computers to establish facts in a logical formalism. Originating in 19th-century attempts to understand the nature of mathematical reasoning, the subject now comprises a wide variety of formalisms,…
Incomputability as a mathematical notion arose from work of Alan Turing and Alonzo Church in the 1930s. Like Turing himself, it attracted less attention than it deserved beyond the confines of mathematics. Today our experiences in computer…
Computer programs are part of our daily life, we use them, we provide them with data, they support our decisions, they help us remember, they control machines, etc. Programs are made by people, but in most cases we are not their authors, so…
I recount some of my memories of the early development of quantum computation, including the discovery of the factoring algorithm, of error correcting codes, and of fault tolerance.
Quantum computer programming is emerging as a new subject domain from multidisciplinary research in quantum computing, computer science, mathematics (especially quantum logic, lambda calculi, and linear logic), and engineering attempts to…
Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring…
The study of computability has its origin in Hilbert's conference of 1900, where an adjacent question, to the ones he asked, is to give a precise description of the notion of algorithm. In the search for a good definition arose three…
The difficulty of simulating quantum systems, well-known to quantum chemists, prompted the idea of quantum computation. One can avoid the steep scaling associated with the exact simulation of increasingly large quantum systems on…
Would it be possible to explain the emergence of new computational ideas using the computation itself? Would it be feasible to describe the discovery process of new algorithmic solutions using only mathematics? This study is the first…
The primordial model of quantum computation was introduced over thirty years ago and the first quantum algorithms have appeared for over twenty years. Yet the exact architectures for quantum computer seem foreign to an undergraduate student…
Computation, the use of a computer to solve, simulate, or visualize a physical problem, has revolutionized how physics research is done. Computation is used widely to model systems, to simulate experiments, and to analyze data. Yet, in most…
The principle goal of computational mechanics is to define pattern and structure so that the organization of complex systems can be detected and quantified. Computational mechanics developed from efforts in the 1970s and early 1980s to…
A computer code or simulator is a mathematical representation of a physical system, for example a set of differential equations. Running the code with given values of the vector of inputs, x, leads to an output y(x) or several such outputs.…
Turing's (1936) paper on computable numbers has played its role in underpinning different perspectives on the world of information. On the one hand, it encourages a digital ontology, with a perceived flatness of computational structure…
The concept of ``countable set'' is attributed to Georg Cantor, who set the boundary between countable and uncountable sets in 1874. The concept of ``computable set'' arose in the study of computing models in the 1930s by the founders of…
The unification algorithm is at the core of the logic programming paradigm, the first unification algorithm being developed by Robinson [5]. More efficient algorithms were developed later [3] and I introduce here yet another efficient…