24
Chapter 1

Chapter 1. 1-2 25 Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

Chapter 1

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

1-5 4

Communication

Application

Operating System

Programming

Hardware

Information

Layers of a Computing System

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

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 DrivesSequential 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 make programming easier. 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 Hardware

Computer programmers began to write 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 20

Programmer / User

Applications Programmer(uses tools)

User with No Computer Background

Systems Programmer(builds tools)

Domain-Specific Programs

Computing as a Tool

1-21 21

Computing as a Discipline

• What can be (efficiently) automated?

• Four Necessary Skills1. Algorithmic Thinking

2. Representation

3. Programming

4. Design

1-22

Is Computer Science a mathematical, scientific, or engineering discipline?

22

What do you think?

Computing as a Discipline

1-23 23

Systems Areas of Computer Science

• Algorithms and Data Structures

• Programming Languages

• Architecture

• Operating Systems

• Software Methodology and Engineering

• Human-Computer Communication

1-24 24

Application Areas of Computer Science

• Numerical and Symbolic Computation

• Databases and Information Retrieval

• Artificial Intelligence and Robotics

• Graphics

• Organizational Informatics

• Bioinformatics