2. 2
25
Chapter Goals
• Describe the layers of a computer system
• Describe the concept of abstraction and its
relationship to computing
• Describe the history of computer hardware and
software
• Describe the changing role of the computer user
• Distinguish between systems programmers and
applications programmers
• Distinguish between computing as a tool and
computing as a discipline
3. 3
2
Computing systems are dynamic and highly
interactive!
What is the difference between hardware
and software?
Computing Systems
4. 4
3
Hardware The physical elements of a
computing system (printer, circuit boards,
wires, keyboard…)
Software The programs that provide the
instructions for a computer to execute
Computing Systems
6. 6
5
Abstraction A mental model that removes
complex details
This is a key concept. Abstraction will
reappear throughout the text – be sure you
understand it!
Abstraction
10. 10
6
Abacus
An early device to record numeric values
Blaise Pascal
Mechanical device to add, subtract, divide & multiply
Joseph Jacquard
Jacquard’s Loom, the punched card
Charles Babbage
Analytical Engine
Early History of Computing
12. 12
The First Computers
Harvard Mark I, ENIAC, UNIVAC I
Early computers launch new era in mathematics,
physics, engineering and economics
“Where a calculator on the ENIAC is equipped with
18,000 vacuum tubes and weighs 30 tons,
computers in the future may have only 1,000
vacuum tubes and perhaps weigh 1.5 tons.”
(Popular Mechanics, 1949)
13. 13
8
Vacuum Tubes
Large, not very reliable, generated a lot of heat
Magnetic Drum
Memory device that rotated under a read/write head
Card Readers Magnetic Tape Drives
Sequential auxiliary storage devices
First Generation Hardware
(1951-1959)
14. 14
9
Transistor
Replaced vacuum tube, fast, small, durable, cheap
Magnetic Cores
Replaced magnetic drums, information available
instantly
Magnetic Disks
Replaced magnetic tape, data can be accessed directly
Second Generation Hardware
(1959-1965)
15. 15
10
Integrated Circuits
Replaced circuit boards, smaller, cheaper, faster, more
reliable
Transistors
Now used for memory construction
Terminal
An input/output device with a keyboard and screen
Third Generation Hardware
(1965-1971)
16. 16
11
Large-scale Integration
Great advances in chip technology
PCs, the Commercial Market, Workstations
Personal Computers and Workstations emerge
New companies emerge: Apple, Sun, Dell …
Laptops
Everyone has his/her own portable computer
Fourth Generation Hardware (1971-
?)
17. 17
12
Parallel Computing
Computers rely on interconnected central processing
and/or memory units that increase processing speed
“Real concurrency -- in which one program
actually continues to function while you call up
and use another -- is more amazing but of small
use to the average person. How many programs
do you have that take more than a few seconds
to perform any task?”
New York Times, 1989
Parallel Computing
18. 18
12
Networking
Ethernet connects small computers to share resources
File servers connect PCs in the late 1980s
ARPANET and LANs Internet
“Transmission of documents via telephone wires
is possible in principle, but the apparatus
required is so expensive that it will never
become a practical proposition.”
Dennis Gabor, 1962
Networking
19. 19
13
Machine Language
Computer programs written in binary (1s and 0s)
Assembly Languages and Translators
Programs written using mnemonics, which were
translated into machine language
Programmer Changes
Programmers divide into two groups: application
programmers and systems programmers
First Generation Software
(1951-1959)
21. 21
14
High-level Languages
English-like statements made programming easier:
Fortran, COBOL, Lisp
Second Generation Software
(1959-1965)
Systems
programmers
write translators for
high-level languages
Application
programmers
use high-level
languages to
solve problems
22. 22
15
Third Generation Software
(1965-1971)
Systems Software
Utility programs
Language translators
Operating system, which decides which programs
to run and when
Separation between Users and Hardware
Computer programmers write programs to be used by
general public (i.e., nonprogrammers)
25. 25
18
Microsoft
Windows operating system and other Microsoft application
programs dominate the market
Object-Oriented Design
Based on a hierarchy of data objects (i.e. Java)
World Wide Web
Allows easy global communication through the Internet
New Users
Today’s user needs no computer knowledge
Fifth Generation Software
(1990- present)
26. 26
20
Programmer / User
Applications Programmer
(uses tools)
User with No
Computer Background
Systems Programmer
(builds tools)
Domain-Specific Programs
Computing as a Tool
27. 27
21
Computing as a Discipline
What can be (efficiently) automated?
Four Necessary Skills
• Algorithmic Thinking
• Representation
• Programming
• Design
28. 28
Is Computer Science a mathematical,
scientific, or engineering discipline?
22
What do you think?
Computing as a Discipline
29. 29
23
Examples of Systems Areas
• Algorithms and Data Structures
• Programming Languages
• Architecture
• Operating Systems
• Software Engineering
• Human-Computer Communication
30. 30
24
Examples of Application Areas
• Numerical and Symbolic Computation
• Databases and Information Retrieval
• Intelligent Systems
• Graphics and Visual Computing
• Net-Centric Computing
• Computational Science
31. 31
Ethical Issues
The Digital Divide
What is it?
How does it affect you?
What is computer literacy for
your sister, the musician?
your brother, the doctor?
your sister, the kindergarten teacher?
Is it important to try to bridge the digital divide?
33. 33
Do you know?
What computer company was launched in a
garage?
What branch of mathematics is being used in
terrorist detection?
What is Room to Read?
When and where were the first CS Departments
formed?