CC101 - Evolution of Computing
CC101 - Evolution of Computing
Objectives
• The calculations of this period were specialized and expensive, requiring years of training in
mathematics.
• The first use of the word "computer" was recorded in 1613, referring to a person who carried
out calculations, or computations, and the word continued to be used in that sense until the
middle of the 20th century.
HISTORICAL BACKGROUND OF COMPUTER
(HARDWARE)
ABACUS
● The abacus was one of the earliest devices developed for
simplifying human arithmetic.
● It was used in ancient Mesopotamia, Asian, Indian, Persian,
Greco-Roman, and Mesoamerican societies and still in use
today in many parts of the world.
NAPIER BONES
SLIDE RULE
● Invented by William Oughtred in 1622.
● Is based on Napier's ideas about logarithms.
● Used primarily for – multiplication – division – roots –
logarithms – Trigonometry
● Not normally used for addition or subtraction.
PASCALINE
The young French mathematician Blaise Pascal (1623-1662) invented one of the first gear-based
adding machines to help with the enormous amount of calculations involved in the computing of
taxes. Pascaline had much in common with a genre of calculators that were commonly used by
grocery store shoppers in the U.S. and elsewhere during the 1950s and 1960s.
DIFFERENCE ENGINE
Likewise, the number ―two hundred fifty-five‖ could be represented with only 8 vacuum
tubes, instead of the 30 that ENIAC required:
There are some similarities here to the way a processor works. A domino,
like a transistor, is a two-state device: just as a transistor can be in either an
on or off position, a domino can be either standing up or lying down. Thus,
like any other two state devices, a domino or transistor can model the two
possibilities that exist for a binary digit: a 0 or a 1.
Analytical Engine
JACQUARD LOOM
● The Jacquard loom is a mechanical loom, invented by
Joseph-Marie Jacquard in 1881.
● It is an automatic loom controlled by punched cards.
ARITHMOMETER
● A mechanical calculator invented by Thomas de Colmar in
1820,
● The first reliable, useful and commercially successful
calculating machine.
● The machine could perform the four basic mathematic
functions.
● The first mass-produced calculating machine.
HISTORICAL BACKGROUND OF COMPUTER
(SOFTWARE)
FIRST COMPUTER PROGRAMMER
● In 1840, Augusta Ada Byron also known as “Ada Lovelace” suggested to
Babbage to use the binary system
Ada Lovelace, daughter of Lord Byron, was one of the few people other than
Babbage who understood the Analytical Engine’s enormous potential. She
described the similarity of Jacquard’s and Babbage’s inventions: ―The Analytical
Engine weaves algebraic patterns just as the Jacquard loom weaves flowers and
leaves, ‖ in both cases, simply by performing a carefully devised sequence of basic
operations.
Lovelace designed and wrote out demonstrations of how complex mathematical
computations could be constructed entirely from sequences of the basic set of
arithmetic operations of which the Analytical Engine would be capable. Ada
Lovelace is often deemed to be ―the first programmer, and her work certainly has
much in it that recommends this title for her – even more, in fact, than is usually
acknowledged.
HISTORICAL BACKGROUND OF COMPUTER
(OBJECT-ORIENTED PROGRAMMING AND PERSONAL COMPUTING)
In certain ways, Lovelace anticipated a shift in conceptions of computer programming. She saw computing
and programming as extending beyond the realm of numerical data and traditional notions of algebraic
sequences of arithmetic operations.
Thus, at the most fundamental level, a software program that a computer’s processor performs consists of a
very long stream of binary numbers, some of which represent a particular arithmetic operation to be
performed and others of which represent the data to be used in that operation.
Fortunately, this is no longer the case. Over time, a wide variety of “high-level” programming languages
have been developed that allow a programmer to write software programs that allow the use of decimal
numbers and arithmetic symbols that are similar to the ones used when humans do math. Thus, adding 10 to
the current value of a variable named “x” could be encoded as:
x + 10
High-level programming languages also allow data that consists of letters and punctuation marks and
include commands that are very similar to words used in human languages. For example, in a typical
high-level programming language, an instruction to print the greeting “Hello!” on the screen could be
something like:
print(“Hello!”)
HISTORICAL BACKGROUND OF COMPUTER
(Platform Independence)
The explosion in the popularity of the World Wide Web beginning in the latter half of the 1990s
also served to underscore the problem of incompatible personal computer “platforms”. From
the very outset, the Internet was designed to be a “platform-independent‖ infrastructure”. For
example, because the “JPEG” digital image format was designed specifically for use on the
World Wide Web, it was designed to be platform independent. As a result, any given JPEG
image file can be Introduction to Computing accessed, viewed, manipulated, and exchanged
over the Internet by users of Macintosh, Windows/PC, and Unix/Linux personal computers
alike.
HISTORICAL BACKGROUND OF COMPUTER
(Platform Independence)
The explosion in the popularity of the World Wide Web beginning in the latter half of the 1990s
also served to underscore the problem of incompatible personal computer “platforms”. From
the very outset, the Internet was designed to be a “platform-independent‖ infrastructure”. For
example, because the “JPEG” digital image format was designed specifically for use on the
World Wide Web, it was designed to be platform independent. As a result, any given JPEG
image file can be Introduction to Computing accessed, viewed, manipulated, and exchanged
over the Internet by users of Macintosh, Windows/PC, and Unix/Linux personal computers
alike.
HISTORICAL BACKGROUND OF COMPUTER
(Processing)
The complexity of the procedure used to enter a program, compile it, and execute it commonly
known as the programming environment is often a hindrance to learning how to program. In a
command line environment, one may have to learn a collection of commands for the operating
system (e.g., Unix) that is being used and, in addition, editor commands for entering and
modifying the program. However, a variety of integrated development environments (IDEs)
such as Visual Studio developed by Microsoft and the popular open-source IDE Eclipse are
available that make this considerably easier.
HISTORICAL BACKGROUND OF COMPUTER
(Processing)