chapter 01 nell dale & john lewis. 1-2 25 chapter goals describe the layers of a computer system...
TRANSCRIPT
Chapter 01
Nell Dale & John Lewis
1-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
1-3 2
Computing systems are dynamic!
What is the difference between hardware and software?
Computing Systems
1-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 (Cont’d)
1-5 4
Communication
Application
Operating System
Programming
Hardware
Information
Layers of a Computing System
1-6 5
A mental model that removes complex details
This is a key concept. Abstraction will reappear throughout the text – be sure to understand it!
Abstraction
1-7 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 BabbageAnalytical Engine
Early History of Computing
1-8 7
Ada LovelaceFirst Programmer, the loop
Alan TuringTuring Machine, Artificial Intelligence Testing
Harvard Mark I, ENIAC, UNIVAC IEarly computers launch new era in mathematics, physics, engineering and economics
Early History of Computing
1-9 8
Vacuum TubesLarge, not very reliable, generated a lot of heat
Magnetic Drum Memory device that rotated under a read/write head
Card Readers Magnetic Tape DrivesDevelopment of these sequential auxiliary storage devices
First Generation Hardware (1951-1959)
1-10 9
TransistorReplaced vacuum tube, fast, small, durable, cheap
Magnetic CoresReplaced magnetic drums, information available instantly
Magnetic DisksReplaced magnetic tape, data can be accessed directly
Second Generation Hardware (1959-1965)
1-1110
Integrated CircuitsReplaced circuit boards, smaller, cheaper, faster, more reliable.
TransistorsNow used for memory construction
Terminal An input/output device with a keyboard and screen
Third Generation Hardware (1965-1971)
1-12 11
Large-scale IntegrationGreat advances in chip technology
PCs, the Commercial Market, WorkstationsPersonal Computers were developed as new companies like Apple and Atari came into being. Workstations emerged.
Fourth Generation Hardware (1971-?)
1-13 12
Parallel ComputingComputers rely on interconnected central processing units that increase processing speed.
NetworkingWith the Ethernet small computers could be connected and share resources. A file server connected PCs in the late 1980s.
ARPANET and LANs Internet
Parallel Computing and Networking
1-14 13
Machine LanguageComputer programs were written in binary (1s and 0s)
Assembly Languages and translatorsPrograms were written in artificial programming languages and were then translated into machine language
Programmer ChangesProgrammers divide into application programmers and systems programmers
First Generation Software (1951-1959)
1-15 14
High Level LanguagesUse English-like statements and made programming easier: Fortran, COBOL, Lisp.
High-LevelLanguages
Assembly LanguageMachine
Language
Second Generation Software (1959-1965)
1-16 15
Third Generation Software (1965-1971)
• Systems Software– utility programs – linkers & loaders – language translators, – and the operating system, which decides which
programs – to run and when.
• Separation between Users and Hardware• Computer programmers now created programs
to be used by people who did not know how to program
1-17 16
Application Package
Systems Software
High-Level Languages
Assembly Language
Machine Language
Third Generation Software (1965-1971)
1-18 17
Structured ProgrammingPascal, C, C++
New Application Software for UsersSpreadsheets, word processors, database management systems
Fourth Generation Software (1971-1989)
1-19 18
MicrosoftThe Windows operating system, and other Microsoft application programs dominate the market
Object-Oriented DesignBased on a hierarchy of data objects (i.e. Java)
World Wide WebAllows easy global communication through the Internet
New UsersToday’s user needs no computer knowledge
Fifth Generation Software (1990- present)
1-20 19
Questions to Ponder
• How does the Internet affect your everyday life?
• What social issues stem from the rise of the Internet and the World Wide Web?
• What developments do you see for the future of the Internet?
1-21 20
Programmer / User
Applications Programmer(uses tools)
User with No Computer Background
Systems Programmer(builds tools)
Domain-Specific Programs
Computing as a Tool
1-22 21
Computing as a Discipline
• What Can be (efficiently) Automated?
• Four Necessary Skills1. Algorithmic Thinking
2. Representation
3. Programming
4. Design
1-23
Is Computer Science a Mathematical, Scientific, or Engineering discipline?
22
What do you think?
Computing as a Discipline
1-24 23
Systems Areas of Computer Science
• Algorithms and Data Structures
• Programming Languages
• Architecture
• Operating Systems
• Software Methodology and Engineering
• Human-Computer Communication
1-25 24
Application Areas of Computer Science
• Numerical and Symbolic Computation
• Databases and Information Retrieval
• Artificial Intelligence and Robotics
• Graphics
• Organizational Informatics
• Bioinformatics