85 lines
4.3 KiB
Markdown
85 lines
4.3 KiB
Markdown
---
|
||
tags:
|
||
- theory-of-computation
|
||
---
|
||
|
||
# Defining a computer
|
||
|
||
> A general-purpose computer is one that, given the appropriate instructions and
|
||
> required time, should be able to perform most common computing tasks.
|
||
|
||
This sets a general purpose computer aside from a special-purpose computer, like
|
||
the one you might find in your dishwasher which may have its instructions
|
||
hardwired or coded into the machine. Special purpose computers only perform a
|
||
single set of tasks according to prewritten instructions. We’ll take the term
|
||
_computer_ to mean general purpose computer.
|
||
|
||
Simplified model of what a computer is:
|
||

|
||
|
||
Although the input, output and storage parts of a computer are very important,
|
||
they will not be the focus of this course. Instead we are going to learn all
|
||
about the process part, which will focus on how the computer is able to follow
|
||
instructions to make calculations.
|
||
|
||
## **Supplementary Resources**
|
||
|
||
### Early computing (_Crash Course Computer Science)_
|
||
|
||
[Early Computing: Crash Course Computer Science #1](watch?v=O5nskjZ_GoI)
|
||
|
||
- The abacus was created because the scale of society had become greater than
|
||
what a single person could create and manipulate in their mind.
|
||
- Eg thousands of people in a village and tens of thousands of cattle
|
||
- In a basic abacus each row of beads (say its coloured) represents a different
|
||
power of ten
|
||
- As well as aiding calculation, the abacus acts as a primitive storage device
|
||
- Similar early computing devices: astrolabe, slide rule, sunrise clocks, tide
|
||
clocks
|
||
|
||
> As each increase in knowledge, as well as on the contrivance of every new
|
||
> tool, human labour becomes abridged. **Charles Babbage**
|
||
|
||
- One of the first computers of the modern era was the Step Reckoner built by
|
||
Leibniz in 1694.
|
||
- In addition to adding, this machine was able to multiply and divide
|
||
basically through hacks because from a mechanical point of view,
|
||
multiplications and divisions are just many additions and subtractions
|
||
- For example, to divide 17/5, we just subtract 5, then 5, then 5 again until
|
||
we can't do anymore hence two left over
|
||
- But as these machines were expensive and slow, people used pre-computed tables
|
||
in book form generated by human computers. Useful particularly for things like
|
||
square roots.
|
||
- Similarly range tables were created that aided the military in calculating
|
||
distances for gunboat artillery which factored in contextual factors like
|
||
wind, drift, slope and elevation. These were used well into WW2 but they were
|
||
limited to the particular type of cannon or shell
|
||
|
||

|
||
|
||

|
||
|
||
> Before the invention of actual computers, 'computer' was a job-title denoting
|
||
> people who were employed to conduct complex calculations, sometimes with the
|
||
> aid of machinery, but most often not. This persisted until the late 18th
|
||
> century when the word changed to include devices like adding machines.
|
||
|
||
- Babbage sought to overcome this by designing the **Difference Engine** which
|
||
was able to compute polynomials. Complex mathematical expressions that have
|
||
constants, variables and exponent. He failed to complete it in his lifetime
|
||
because of the complexity and number of intricate parts required. His model
|
||
was eventually successfully created in the 90s using his designs and it
|
||
worked.
|
||
- But while he was coming up with this he also conceived of a better and
|
||
general purpose computing device that wasn't limited to polynomial
|
||
calculations → the Analytical Engine.
|
||
- It could run operations in sequence and had memory and a primitive printer.
|
||
It was way ahead of its time and was never completed.
|
||
- Ada Lovelace wrote hypothetical programs for the Analytical Engine, hence
|
||
she is considered the world's first computer programmer.
|
||
- At this point then, computing was limited to scientific and engineering
|
||
disciplines but in 1890, the US govt needed a computer in order to comply with
|
||
the constitutional stipulation to have a census every ten years. This was
|
||
getting increasingly difficult with the growing population - it would take
|
||
more than 13 years to complete. This led to punch cards designed by Herman
|
||
Hollereth. From this IBM was born
|