Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

Lecture 1.

1
Introduction to the Course …
and Computers
IT-1101

Risala Tasin Khan


Professor
IIT,JU
Computer Science is…
… not just computer It is a science
programming. It is an art
It is practical
It is impractical
It cuts across many
disciplines
Computer Science is…
… not just computer Are there theorems that are
programming. true but can’t be proven?
… can be deeply philosophical. What is random?
Computer Science is…
… not just computer Computers are as common
programming. as bread.
… can be deeply philosophical. You don’t have to know
… as necessary as bread and how to bake it, but it can
water. be fun to learn.
Computer Science is…
… not just computer We aim to convince you of
programming. this fact during this
… can be deeply philosophical. course.
… as necessary as bread and
water.
… very exciting.
About the course…
This course aims to teach …
… Fundamental knowledge about computer.
… History of computer.
… Fundamental knowledge about programming.
… What is Information Technology.
… Fundamental knowledge about Internet
… Etc.
Learning
• Is best done by doing.
• DO NOT let your friends help you. You WILL fail
your lab if you do.
• If you help someone, NEVER take over the
keyboard. Try to give the smallest of hints.
Course Structure
Weekly • General lectures from
• Theory Lecture (TUE) Computer Fundamentals and
ICT
----M. Lutfar Rahman
----M. Shamim Kaiser
----M. Arifur Rahman
----M Alamgir Hossain
Grading
• Homework will be
assigned but not graded. • Attendance 10%
• Quizzes will be • Presentation/Assignment/Tut
announced/unannounced. orial 10%
• Midterm 30%
• Final 50%
Other Policies and Information
• Coming Late to Lectures
Teachers reserve the right to not allow late comers
• Missed Quizzes, Exams, Petitions
NO MAKE-UP QUIZ WILL BE HELD……
• A word about Plagiarism
DON’T CHEAT! Consequences can be grave
Common Examples
• Not keeping your eyes on your own answer sheet during a Quiz or an Exam
• Submitting identical homework
• Copying a paragraph from the internet and including it in your homework under
your own name
• Taking someone else’s code, changing variable
names in it and submitting it as your own
About Computers…

What is it, and what can it do?


What can computers do, or not do?
• A computer does what it is told to do…
• You tell a computer what to do by giving it a list of
precise, unambiguous instructions, a computer
program
• Why are computer programs not written in English?
• Because languages such as English are inherently
ambiguous
Time flies like an arrow
What is a Computer?
• [Norton] A Computer is an electronic device that
processes data, converting it into information that is
useful to people
• [Wikipedia] A Computer is a programmable device,
usually electronic in nature, that can store, retrieve and
process data
• The term computer is derived from the word compute,
which means to calculate. A computer is an electronic
machine, devised for performing calculations and
controlling operations that can be expressed either in
logical or numerical terms
Characteristics of Computers
• Speed: The computer processes data at an extremely fast rate, at
millions of instructions per second. The speed of a computer is
measured in MHz (Megahertz),that means one million instruction per
second
• Accuracy: The computers are very accurate. The level of accuracy
depends of instructions and the types of machine being used.
• Diligence: Computer, being a machine, does not suffer from the
human traits of tiredness and lack of concentration.
• Reliability: Generally reliability is the measurement of the
performance of a computer, which is measured against some
predetermined standard for operation without any failure.
Characteristics of Computers(Cont.)
• Storage Capability: Computer can store large amount of data and
can recall the required information almost instantaneously.
• Versatility: Computers are quite versatile in nature. It can perform
multiple tasks simultaneously with equal ease.
• Resource Sharing: In the initial stages of development, computers
used to be isolated machine. With the tremendous growth in computer
technologies, computers today have the capability to connect with
each other.
Evolution of Computers
• The need for a device to do calculations along with the growth in
commerce and other human activities explain the evolution of
computers
• In the beginning when the task was simply counting or adding, people
used either fingers or pebbles along lines in the sand.
• Babylonians and Egyptians, > 3000 yrs ago
• numerical methods for generating tables of square roots, multiplication, trig
• Applications: navigation, agriculture, taxation
• Greeks, > 3000 yrs ago
• geometry and logic
• Indians, ~ 600 AD
• started using placeholders and a decimal number system and concept of zero, similar to
modern
• idea spread to Middle East
• Arabs and Persians ~ 800 AD
• algorithms
A Famous Arab Mathematician
Abu Jafar Mohammed Ibn Musa Al-Khwarizmi

• In early 800s AD
• Worked at center of learning in Baghdad
• Wrote book: Hisab Al Jabr Wal-Mugabalah
• Described how to compute several practical
problems, including linear and quadratic
equations
• Translated into Latin, spread throughout
Europe
• Solidified number system in use now:
“Arabic numerals”
• Al Jabr gives us the word “algebra”
• Al-Khowarizmi gives us the word
“algorithm”
fig. from Donald Knuth's website

CPSC 181 18
Early Computing Devices
• Abacus
• About 3000 BC, the people of Asia Minor …
• Different types, developed over time
• Common wire/bead: about 500 BC
• Some still in use today
• John Napier’s Bones
• 1617: Sticks with numbers on them
• Use to do 4 basic arithmetic operations fig from
http://www.ee.ryerson.ca/~elf/abacus

CPSC 181 19
More Early Computing Devices

• Blaise Pascal
• 1642: First numerical
calculating machine (addition
and subtraction)
• Gottfried Leibniz
• 1673: 4-function mechanical
calculator (addition,
subtractions, multiplication,
division) fig from
http://www.tcf.ua.edu/AZ/ITHistoryOutline.htm
• Used cogs and gears

CPSC 181 20
Are These Devices Computers?
• Not considered general-purpose computers.
• They lack
• memory
• ability to be programmed

CPSC 181 21
First Programmable Device with Memory
• A loom!
• Used to weave cloth with patterns
• Invented by Joseph Jacquard, France, 1804
• Automated loom using punched cards to create
pattern
• hole in card at a certain place causes change in the weave
at corresponding place in the fabric

CPSC 181 22
Jacquard Loom

• Memory: ?
• Programmable: ?

fig from Wikipedia, Jacquard loom


entry

CPSC 181 23
Jacquard Loom

• Memory: the cards


• Programmable: change the cards
• Capture human expertise in a
machine
fig from Wikipedia, Jacquard loom
entry

fig from britannica.com


CPSC 181 24
Charles Babbage & Difference Engine
• England, 1822-1830: Designed and
worked on a “Difference Engine”
for calculations
• automatic, mechanical calculator designed to
tabulate polynomial functions
• Never finished it: current manufacturing
technology not able to provide required
precision in cogs and gears

figs from cbi.umn.edu/about/babbage.html

CPSC 181 25
Charles Babbage & Difference Engine
• England, 1822-1830: Designed and
worked on a “Difference Engine”
for calculations
• automatic, mechanical calculator designed to
tabulate polynomial functions
• Never finished it: current manufacturing
technology not able to provide required
precision in cogs and gears
• Others later built one: 7 feet by 11 feet, 3 tons,
4000 moving parts; fig from Wikipedia
• The London Science Museum's difference
engine, built from Babbage's design.

CPSC 181 26
Charles Babbage & Analytical Engine
• 1833: Designed the “Analytical Engine”, a mechanical
general-purpose computer
• Could not get funding, since never finished first machine, but fully
designed
• to be steam-powered
• This was the first general purpose computer!

CPSC 181 27
Charles Babbage & Analytical Engine
• 1833: Designed the “Analytical Engine”, a mechanical
general-purpose computer
• Could not get funding, since never finished first machine, but fully
designed
• to be steam-powered
• This was the first general purpose computer!
• Separate storage from calculation
• Familiar parts:
• mill <=> ALU
• store <=> memory
• operator <=> control unit
• output <=> input/output
fig from
www.sciencemuseum.org.uk
CPSC 181 28
Charles Babbage & Analytical Engine
• 1833: Designed the “Analytical Engine”, a mechanical
general-purpose computer
• Could not get funding, since never finished first machine, but fully
designed
• to be steam-powered
• This was the first general purpose computer!
• Separate storage from calculation Inputting data
• Familiar parts:
• mill <=> ALU
• store <=> memory
• operator <=> control unit
Inputting
• output <=> input/output instructions
• Used punched cards
fig from wikipedia
CPSC 181 29
Ada Lovelace
• Augusta Ada Byron, Countess of
Lovelace
• Friend of Charles Babbage

• Translated, edited, and commented on


document describing Babbage’s
Analytical Engine

• Described its potential as a general purpose computer


– Wrote “programs” that could be run on it. As a result, she is
often considered the world’s first computer programmer.
– Wrote about potential uses, even for computer music

fig from women.cs.cmu.edu/ada

CPSC 181 30
Following Babbage
• General purpose computing waited
• Instead, several different specific devices
• Most computational devices still mechanical
• Typewriters (1868)
• Adding machines (1875) and calculators
• Cash registers (1879)

CPSC 181 31
U.S. Census
• Taken every 10 years
• By late 1800s, was becoming more difficult
• 1880 census not tabulated until 1888
• Serious doubt that 1890 census could be finished before time for
following census
• Competition held to develop automatic enumeration and tabulation
of census data
• A fundamental need for “large-scale” computing

CPSC 181 32
Herman Hollerith
• In 1889, Herman Hollerith, who worked for US
Census Bureau, also applied the Jacquard loom
concept for computing.
• Herman Hollerith developed tabulating machine
• Unlike Babbage’s idea of using perforated
cards to instruct the machine, Hollerith’s
method used cards to store data information
which he fed into a machine that compiled
the results mechanically.
• 1890 census completed in 2 years with
Hollerith’s machines
• Also saved millions of dollars fig from www.columbia.edu/acis/
history/census-tabulator.html

CPSC 181 33
Further Development
• Work continued on machines to add, tabulate, record.
• Charles Flint: Computing, Tabulating, Recording (CTR) company,
followed up on Hollerith’s work.
• Thomas J. Watson renames CTR to International Business Machines
(IBM) in 1924.

fig from www-03.ibm.com/ibm/history/

CPSC 181 34
Encoding
Information

• Punched cards were used to store information


• Jacquard’s Loom
fig from www.columbia.edu/acis/
• Babbage’s machines history/census-tabulator.html
• Hollerith’s tabulating machines
• IBM machines
• Punched cards and punched tape seen as a way of
achieving compatibility, transfer of data.

CPSC 181 35
Computer Programming in the
Punch Card Era
• Computer users submit their programming assignments to their
local computer center in the form of a deck of punched cards,
one card per program line.

• Wait for the program to be read in, queued for processing,


compiled, and executed.

• In due course, a printout of any results, marked with the


submitter's identification, would be placed in an output tray,
typically in the computer center lobby.

CPSC 181 36
Impact of World War II
• Applications of the 1940's:
• ballistics tables
• troop deployment data
• secret codes

fig from www.diggerhistory.info

• Several research projects, funded by


military, focused on developing
computers

CPSC 181 37
Howard Aiken & MARK I
(ASCC)
• One early success was the Mark I, which was
built as a partnership between Harvard Aiken and
IBM in 1944.
• Funded by Navy and IBM, at Harvard
• Started in 1931 and Completed in 1944
• One of the first working general-purpose
programmable computer
• used relays, magnets and gears
• used vacuum tubes and electric current (on/off)
instead of 10-toothed gears
• memory: 72 numbers
• speed: 23-digit multiplication in 4 seconds

fig from www-03.ibm.com/ibm/history/

CPSC 181 38
ENIAC
• In 1946, John Eckert and John Mauchly of Moore
School of Engineering at the Univ. of Penn.
Developed ENIAC
• "Electronic Integrator and Computer"
• Motivating application: calculate firing tables
(how to aim gun depending on distance, wind
speed, temp, etc.)
• Funded by Army at Univ. of Penn.
• First fully electronic general-purpose computer
• used binary values (0/1) instead of decimal (0 to
9)
• Vacuum-tube based
• Required rewiring to change program originally
• 100 feet long, 10 feet high, 30 tons
• 1000 times faster than Mark I

figs from
www.library.upenn.edu/exhibits/rbm/
mauchly/jwm8b

CPSC 181 39
Other Contemporary Projects
• Z1: Germany, Konrad Zuse
• destroyed during WWII before completed
• ABC: Iowa State, John Atanasoff & Clifford Berry
• solve systems of linear equations
• Colossus: England, Alan Turing
• cracked German Enigma code
• shrouded in secrecy until 1970's

CPSC 181 40
Aspect Still Missing…
• All these projects still missing a key feature of modern
computers

CPSC 181 41
Aspect Still Missing…
• All these projects still missing a key feature of modern
computers
• Programming these machines was done externally with
• wires
• connectors
• plugboards
• Memory stored only data, not instructions
• To change the program, need to rewire
• Ex: 6000 switches on ENIAC

CPSC 181 42
Von Neumann Architecture
• John Von Neumann, mathematician,
physicist, chemist, computer
scientist,… at Princeton
fig from mathdl.maa.org
• worked on ENIAC
• realized shortcoming
• Key idea:
• encode instructions as binary values and
store in memory along with data
• To change program, rewrite sequence of
instructions
fig from
cs.cmu.edu/ref/pgss/lecture/11

CPSC 181 43
Storing Programs
• EDVAC – Electronic Discrete Variable Automated Calculator
• First electronic computer to use the stored program concept introduced by John
von Neumann described in, 1950
• It had the capability of conditional transfer of control.
• Became commercial UNIVAC I, bought by Census Bureau in 1951

CPSC 181 44
The Modern Era, 1950 - Present
• Changes more evolutionary than revolutionary
• Focused on making computers
• faster
• smaller
• cheaper
• more reliable
• easier to use
• Conventionally divided into rough "generations"

CPSC 181 45
Evolution of Computers (cont.)
• In 1960, effort to design and develop the fastest possible computer with the greatest
capacity reached a turning point with the LARC machine.
• Access time is less then 1μ sec and the total capacity of 100,000,000 words.
• During 1970s, the trend shifted towards a larger range of applications for cheaper
computer system.
• The vacuum deposition of transistors became the norm and the entire computer
assemblies became available on tiny “chip”.
• In 1980s, VLSI became increasingly common.
• The “shrinking” trend continued with the introduction of PC.
• By 1990s, personal computers become part of everybody’s life
• This transformation was the result of the invention of the microprocessor
Generation of Computers
• In computer terminology, the word generation is described as a stage
of technological development or innovation.
• A major technological development that fundamentally changed the
way computers operate, resulting in increasingly smaller, cheaper,
more powerful and more efficient and reliable devices characterize
each generation of computer.
• According to the type of “processor” installed in a machine, there are
five generations of computers.
First Generation (1940-56)
• Characteristics:
These computers were based on vacuum tube technology
These were the fastest computing devices of their time
These computers were very large, and require a lot of space for installation
Since thousand of vacuum tubes were used, they generated a large amount of heat.
Therefore ac was essential
Non-portable and very slow equipments
They were very expensive to operate and used a large amount of electricity
Unreliable and prone to frequent h/w failure
Machine language was used.These computers were difficult to program and use
Example:
ENIAC, EDVAC and UNIVAC
First generation ALU
module
Second Generation (1956-63)
• Characteristics:
These machine were based on transistor technology
These were smaller as compared to first generation computers
The computational time of these computers was reduced to microseconds to
milliseconds
More reliable and less prone to h/w failure
More portable and generated less amount of heat
Assembly language was used to program computers. Hence, programming became
more time-efficient and less cumbersome
Still required air conditioning
Example:
PDP-8, IBM 1401 and IBM 7090
The first Transistor

Revolutionary replacement for electronic vacuum valves


Ferrite Memory

1024 bit
(128 bytes)
2 μS

Fast, low cost technology for central memories


Third Generation (1964-early 1970s)
• Characteristics:
These computers were based on integrated circuit (IC) technology.
Easily portable and more reliable than the second generation
Able to reduced computational time from microsecond to nanoseconds
These devices consumed less power and generate less heat.
Size of these computers were smaller as compared to previous computers.
Since h/w rarely failed, the maintenance cost was quite low
Extensive use of high level languages became possible
Commercial production became easier and cheaper.
Manual assembling of individual components was not required, so it reduced the
large requirement of labor and cost
Example:
NCR 395 and B6500
Fourth Generation (Early 1970s-till date)
• Characteristics:
Fourth generation computers are microprocessor based systems
These computers are very small
Fourth generation computers are cheapest among all the other generations
They are portable and quite reliable
Generates negligible amount of heat, they do not require ac
H/w failure is negligible, so minimum maintenance is required
Production cost is very low
GUI and pointing devices enable users to learn to use the computer quickly
Interconnection of computers leads to better communication and resource sharing
Fifth Generation (Present and Beyond): AI
• The dream of creating a human-like computer that would be capable of reasoning
and reaching a decision through a series of “what-if-then” analyses has existed
since the beginning of computer technology. These are the objective of creating the
fifth generation computers.
• Three characteristics can be identified with the fifth generation computers:
Mega Chips: Fifth generation computers will use Super Large Scale Integrated (SLSI)
chips, which will result in the production of microprocessor having millions of electronic
components on a single chip. Mega chips may enable computer to approximate the memory
capacity of human mind.
Parallel Processing: A computer using parallel processing accesses several instructions at
once and works on them at the same time through use of multiple central processing units.
Artificial Intelligence: It refers to a series of related technologies that tries to simulate and
reproduce human behavior, including thinking, speaking and reasoning.

You might also like