chapter 01 nell dale & john lewis. 1-2 25 chapter goals describe the layers of a computer system...

25
Chapter 01 Nell Dale & John Lewis

Upload: sarah-mcdonald

Post on 17-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

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

Chapter 01

Nell Dale & John Lewis

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

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

1-3 2

Computing systems are dynamic!

What is the difference between hardware and software?

Computing Systems

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

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)

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

1-5 4

Communication

Application

Operating System

Programming

Hardware

Information

Layers of a Computing System

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

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

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

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

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

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

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

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)

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

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)

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

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)

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

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

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

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

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

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)

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

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)

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

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

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

1-17 16

Application Package

Systems Software

High-Level Languages

Assembly Language

Machine Language

Third Generation Software (1965-1971)

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

1-18 17

Structured ProgrammingPascal, C, C++

New Application Software for UsersSpreadsheets, word processors, database management systems

Fourth Generation Software (1971-1989)

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

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)

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

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?

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

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

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

1-22 21

Computing as a Discipline

• What Can be (efficiently) Automated?

• Four Necessary Skills1. Algorithmic Thinking

2. Representation

3. Programming

4. Design

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

1-23

Is Computer Science a Mathematical, Scientific, or Engineering discipline?

22

What do you think?

Computing as a Discipline

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

1-24 23

Systems Areas of Computer Science

• Algorithms and Data Structures

• Programming Languages

• Architecture

• Operating Systems

• Software Methodology and Engineering

• Human-Computer Communication

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

1-25 24

Application Areas of Computer Science

• Numerical and Symbolic Computation

• Databases and Information Retrieval

• Artificial Intelligence and Robotics

• Graphics

• Organizational Informatics

• Bioinformatics