# Origin of Computer Science

**Overview :**

Computer Science** **is the science of computers how computers work and do computations. Laptops, desktops, quantum computers, microprocessors, etc. are all the physical aspects of a computer, but there are also theoretical aspects like algorithms, software, computability, complexity theory etc. But have you ever wondered what led to the discovery of computer science?

**Formal System :**

Computer Science is a result of applied mathematics as it was created from trying to answer very abstract questions about the* *foundation of Mathematics. Back in the 1900s, mathematics did not have certain fixed rules. The philosophers proposed that mathematical objects, shapes, numbers and the relationships between them belong to their ideal world and referred to it as the ‘world of forms’ and referred to mathematics as a mental construct and all gave different intuitions about Mathematics. But the German mathematician David Hilbert proposed to axiomatize all of mathematics. He proposed that Mathematics should be treated as a Formal System. A

**Formal system**

**is an alphabet or set of symbols which can be manipulated with a set of rules for ex-chess.**

**Concepts :**

The 3 main concepts that Hilbert put up in the Foundational System of Mathematics were as follows.

**Consistency –**

No contradictions can be proven within the system.

**Completeness-**

A proof was required that all true mathematical statements which existed within the system could be proven within the system.

**Decidability-**

An effective procedure for deciding the truth or falsity of any mathematical statement. Decidability is one of the fascinating concept which laid the foundation of computation and computer science.

**Turing Test :**

The famous Mathematician** ****Alan Turing** (also known as the father of Computer science) tried to understand the question of decidability deeper and thought that “Did there exist an effective procedure for deciding the truth or falsity of any mathematical statement.” Throughout his life, Turing was fascinated with the relationship between humans and machines. He came up with the most revolutionizing idea which he named the Turing Test- a test for determining whether a machine is capable of thinking like a human and defined the term effective procedures. He thought about the basic components of what humans do while computing as follows.

- They read instructions.
- They read and write symbols according to the instructions and also occasionally erase symbols and replace them with new symbols.
- When finished with computation, they stop.

**Theoretical machine :**

After observing all this, Turing recognized that every step that a human do can be replicated by a very simple theoretical machine. He thought to replace humans with a scanning head that could read, write, and erase one symbol at a time, and a piece of paper consisting of an infinitely long piece of tape that contains a single symbols per square space. Also, like humans use their state of mind for executing steps of instruction, Turing devised the idea of internal states, which tells the machine what to do. And he presented this idea using visual diagrams and various examples. And, to program the machine to carry out this task, he builds it with internal state tables. But one difficulty and problem in this system was to build different machines to do different tasks. But Turing managed to resolve this problem and realized that any internal state table could be encoded in the form of 0’s or 1’s also known as the Binary numbers. In this, any state of instruction can be fed in a new machine to do that particular task.

**Conclusion :**

Today, we know this as a programmable computer. We have computers which we can program to do different things after they have been built. And that idea originated right there in the Turing’s paper. And even though Turing’s theoretical machine is incredibly simple, yet it can do everything that a human computer can do. This abstract machine (now known as Turing’s machine) properly defines an effective procedure and proved Hilbert incorrect by proving that there is not an effective procedure for deciding whether any mathematical statement is true or false. Thus, Turning’s theory of computation gave rise to the entire field of Computer Science, which is the study of what a computer can do and can’t do. After some years people were able to turn the abstract and unclear notion of computation into a physical machine as we know today by modern-day computers. But Turing machine is the blueprint of modern-day computers and devices. And even now anything that can be computed by modern-day computers can also be computed by Turing machine.