Chapter 1 The Big Picture. 1-2 25 Chapter Goals Describe the layers of a computer system Describe...

20
Chapter 1 The Big Picture

Transcript of Chapter 1 The Big Picture. 1-2 25 Chapter Goals Describe the layers of a computer system Describe...

Page 1: 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.

Chapter 1

The Big Picture

Page 2: 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.

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

Page 3: 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.

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

Page 4: 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.

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.

Page 5: 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.

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.

Page 6: 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.

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

Page 7: 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.

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

Page 8: 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.

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

Page 9: 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.

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.

Page 10: 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.

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)

Page 11: 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.

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)

Page 12: 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.

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-?)

Page 13: 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.

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

Page 14: 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.

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.

Page 15: 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.

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)

Page 16: 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.

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

Page 17: 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.

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)

Page 18: 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.

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)

Page 19: 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.

1-19 23

Systems Areas of Computer Science

• Algorithms and Data Structures

• Programming Languages

• Architecture

• Operating Systems

• Software Methodology and Engineering

• Human-Computer Communication

Page 20: 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.

1-20 24

Application Areas of Computer Science

• Numerical and Symbolic Computation

• Databases and Information Retrieval

• Artificial Intelligence and Robotics

• Graphics

• Organizational Informatics

• Bioinformatics