Computers are everywhere: desktops, laptops, iPods, smart phones, gaming consoles, etc. Although different, they are constructed based on a single versatile design: the programmable computer. Becoming prevalent in the late twentieth century, the programmable computer was invented in the beginning of the nineteenth century by Charles Babbage—a major result of his foundational work in computer science.
This course starts with a chronological overview of how Babbage invented the programmable computer, a design so versatile that a whole science is required to organize the principles of its use. The second part looks closely at the inductive method Babbage used and describes successful uses of similar inductive methods in computer science in the twentieth century. The third part is a comparison of Babbage’s ideas with those of Alan Turing, who in the 1930s—inspired by the intellectual trends at the time—set forth a different foundation for computer science.