Chapter 1 The Big Picture. 1-2 25 Chapter Goals Describe the layers of a computer system Describe...
-
Upload
felicity-daniella-parker -
Category
Documents
-
view
223 -
download
0
Transcript of Chapter 1 The Big Picture. 1-2 25 Chapter Goals Describe the layers of a computer system Describe...
Chapter 1
The Big Picture
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 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
1-4 4
Communication
Application
Operating System
Programming
Hardware
Information
Layers of a Computing System
The text uses this model to separate the different aspects of CS. There is not much significance to the relation between layers.
1-5 5
Abstraction A mental model that removes complex details
This is a key concept. Abstraction will reappear throughout the text – be sure to understand it!
Abstraction
This modeling is done in many disciplines, not just CS.
1-6 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 Difference Engine
Early History of Computing
1-7 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. Mark 1 used electomechanical relays, ENIAC and UNIVAC were 1st generation--vacuum tube machines
Early History of Computing
1-8
John von Neumann
• The father of the computer and greatest 20th Century mathematician
•The key elements were the invention of the stored program concept (software), the basic architecture or structure, performance analysis, and tutorial paper
•What is a Baltimore connection to this invention?
•For more information: http://www.physics.umd.edu/robot/neum/compu.html
1-9 8
Vacuum TubesLarge, not very reliable, generated a lot of heat. Vacuum tubes are not entirely obsolete;you’re looking at one now!Magnetic Drum Memory device that rotated under a read/write headCard Readers Magnetic Tape DrivesSequential auxiliary storage devices
First Generation Hardware (1951-1959)
These hardware generations are mostly interesting to old profs.
1-10 9
TransistorReplaced vacuum tube, fast, small, durable, cheap
Magnetic CoresReplaced magnetic drums, information available instantly. Non-volatile; when will we ever learn?
Magnetic DisksReplaced magnetic tape, data can be accessed directly, i.e. you don’t need to wait until the end of the tape.
Second Generation Hardware (1959-1965)
1-1110
Integrated CircuitsReplaced circuit boards, smaller, cheaper, faster, more reliable.
TransistorsNow used for memory construction. Faster and more compact, but DRAM is volatile.
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. Invention of the 4004 Intel microprocessor, essentially a complete computer on one chip.
PCs, the Commercial Market, WorkstationsPersonal Computers were developed as new companies like Apple and Atari came into being. Workstations emerged. Cheap desktops made computers a tool for the masses.
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. This is where we are at now, and where we are going
Parallel Computing and Networking
1-14 13
Machine LanguageComputer programs were written in binary (1s and 0s)
Assembly Languages and translatorsPrograms were written in symbolic artificial programming languages and were then translated into machine language
Programmer ChangesProgrammers divide into application programmers and systems programmers
First Generation Software (1951-1959)
There are similar generations of software.
1-15 14
High Level LanguagesUse English-like statements and make programming easier. Fortran (FORTRAN), COBOL, Lisp are examples.
High-LevelLanguages
Assembly LanguageMachine
Language
Second Generation Software (1959-1965)
1-16 15
Third Generation Software (1965-1971)
• Systems Software– utility programs, – language translators, – and the operating system, which decides which
programs to run and when.
• Separation between Users and Programming
Computer programmers began to write programs to be used by people who did not know how to program
1-17 17
Structured ProgrammingPascal (a dead language that was never alive), C, C++, Java, and many others
New Application Software for UsersSpreadsheets, word processors, database management systems, presentation graphics, HTML editors, ... ... ... ...
Fourth Generation Software (1971-1989)
1-18 18
MicrosoftThe Windows operating system, and Microsoft application programs dominate the market. The courts have held that Microsoft has abused its monopoly power to stifle competition.
Object-Oriented DesignBased on a hierarchy of data objects (i.e. Java). Objects are chucks of software containing both instructions and data, plus standard interfaces to other objects.
World Wide WebAllows easy global communication through the InternetNew UsersToday’s user needs no computer knowledge. Do you agree?
Fifth Generation Software (1990- present)
1-19 23
Systems Areas of Computer Science
• Algorithms and Data Structures
• Programming Languages
• Architecture
• Operating Systems
• Software Methodology and Engineering
• Human-Computer Communication
1-20 24
Application Areas of Computer Science
• Numerical and Symbolic Computation
• Databases and Information Retrieval
• Artificial Intelligence and Robotics
• Graphics
• Organizational Informatics
• Bioinformatics