# An Introduction to Computer Science

By Eric Suh

*Reader, this is Computer Science. Computer Science, this is
the Reader.*

Well,
now that you've met, I'm sure that you will both be good friends. First,
however, I think that you'll want to know something about each other.

Theoretical Computer Science has its roots in **mathematics**,
where there was a lot of discussion of **logic**. It began
with Blaise Pascal and Charles Babbage in the 1800's. Pascal and Babbage eventually tried to
come up with **computing machines** that would help
in calculating arithmetic. Some of them actually worked, but they
were **mechanical machines built on physics**,
without a real theoretical background.

Another person in the 1800's was a man named George Boole, who
tried to formulate a mathematical form of **logic**.
This was eventually called **Boolean Logic** in his honor, and
we still use it today to form the heart of all computer hardware.
All those transistors and things you see on a circuit board are
really just **physical representations** of what George Boole
came up with.

Computer Science, however, hit the **golden age** with John
von Neumann and Alan Turing in the 1900's. Von Neumann formulated
the theoretical form of computers that is still used today as the
heart of all computer design: the separation of the CPU, the RAM,
the BUS, etc. This is all known collectively as **Von Neumann architecture**.

Alan Turing, however, is famous for the theoretical part of Computer
Science. He invented something called the **Universal
Turing Machine**, which told us exactly what could and
could not be computed using the standard computer architecture of
today. This formed the basis of Theoretical Computer Science.

Ever since Turing formulated this extraordinary concept, Computer
Science has been dedicated to answering one question: **"Can we compute this?"**This question is
known as **computability**, and it is one of the core disciplines
in Computer Science. Another form of the question is "Can we
compute this better?" This leads to more complications, because **what does "better" mean**?

So, Computer Science is partly about finding efficient algorithms
to do what you need.

Still, there are other forms of Computer Science, answering such
related questions as **"Can we compute thought?"**
This leads to fields like Artificial Intelligence.

Computer Science is all about getting things done, to find progressive solutions to our
problems, **to fill gaps in our knowledge**. Sure, Computer Science may
have some math, but it is different from math.
Computer Science is about exploring the limitations of humans, of expanding our
horizons and having some fun at the same time.

**Related articles**

The
Halting Problem