seungkyu lee - khu.ac.krcvlab.khu.ac.kr/celecture2.pdf · seungkyu lee assistant professor, dept....

30
[CSE10100] Introduction to Computer Engineering (컴퓨터공학 개론) Chapter 1 Seungkyu Lee Assistant Professor, Dept. of Computer Engineering Kyung Hee University

Upload: vukhue

Post on 10-Apr-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

[CSE10100] Introduction to Computer

Engineering (컴퓨터공학 개론)

Chapter 1

Seungkyu Lee

Assistant Professor, Dept. of Computer Engineering

Kyung Hee University

Page 2: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

2

2

Computing systems are dynamic!

What is the difference between hardware

and software?

Computing Systems

Page 3: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

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: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

4

4

Layers of a Computing System

Page 5: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

5

5

Abstraction A mental model that removes

complex details

This is a key concept. Abstraction will

reappear throughout the text – be sure you

understand it!

Abstraction

Page 6: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

6

Internal View

Page 7: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

7

Abstract View

Page 8: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

8

6

Abacus

Blaise Pascal

Mechanical device to add,

subtract, divide & multiply

Joseph Jacquard

Jacquard’s Loom,

the punched card to select

Color/design of a cloth

Charles Babbage

Analytical Engine has memory

Early History of Computing

Page 9: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

9

7

Ada Lovelace

First Programmer

Alan Turing

Turing Machine, Artificial Intelligence Testing

Harvard Mark I, ENIAC, UNIVAC I Early computers launch new era in mathematics, physics, engineering and economics

Early History of Computing

Page 10: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

10

8

Vacuum Tubes

Large, not very reliable, generated a lot of heat

Magnetic Drum

Memory device that rotated under a read/write

head

Card Readers Magnetic Tape Drives

Sequential auxiliary storage devices

First Generation Hardware (1951-1959)

Page 11: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

11

9

Transistor

Replaced vacuum tube, fast, small,

durable, cheap

Magnetic Cores

Replaced magnetic drums, information available

instantly

Magnetic Disks

Replaced magnetic tape, data can be accessed

directly

Second Generation Hardware (1959-1965)

Page 12: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

12

10

Integrated Circuits

Replaced circuit boards, smaller, cheaper, faster,

more reliable

Transistors

Now used for memory construction

Terminal

An input/output device with a keyboard and

screen

Third Generation Hardware (1965-1971)

Page 13: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

13

Large-scale Integration

Great advances in chip technology

PCs, the Commercial Market, Workstations

Personal Computers and Workstations emerge

New companies emerge: Apple, Sun, Dell …

Laptops, Tablet Computers, and Smart

Phones

Everyone has his/her own portable computer

Fourth Generation Hardware (1971-?)

Page 14: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

14

1

2

Parallel Computing

Computers rely on interconnected central processing

and/or memory units that increase processing speed

Networking

Ethernet connects small computers to share

resources

File servers connect PCs in the late 1980s

ARPANET and LANs Internet

Parallel Computing and Networking

Page 15: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

15

1

3

Machine Language

Computer programs written in binary (1s and 0s)

Assembly Languages and Translators

Programs written using mnemonics, which were

translated into machine language

Programmer Changes

Programmers divide into two groups: application

programmers and systems programmers

First Generation Software (1951-1959)

Page 16: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

Why We Need High-Level Language

• Machine language: A binary-based language that a machine can understand

– Not human friendly

– Hardware dependent

Page 17: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

Why We Need High-Level Language

• Assembly language: a one–to–one correspondence from a binary machine instruction to a more human-friendly mnemonics.

– Still quite hard for human programmers to develop big, structured program.

– Still hardware dependent

Page 18: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

18

Assembly/Machine

Systems programmers

write the assembler

(translator)

Applications programmers

use assembly language to

solve problems

Page 19: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

19

1

4

High-level Languages

English-like statements made programming

easier:

Fortran, COBOL, Lisp

Second Generation Software (1959-1965)

Systems

programmers

write translators for

high-level languages

Application

programmers

use high-level

languages to

solve problems

Page 20: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

Why We Need High-Level Language

• High level language

– Getting away from hardware one code can be used for many different computers

– Strong abstraction from the details of the computer higher programming efficiency

– Natural language element easier to understand

Page 21: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

The only language understood by a

computer is machine language.

Note:

Page 22: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

22

1

5

Third Generation Software (1965-1971)

Systems Software

Utility programs

Language translators

Operating system, which decides which programs to run and when

Separation between Users and Hardware

Computer programmers write programs to be used by general public (i.e., nonprogrammers)

Page 23: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

23

1

6

Third Generation Software (1965-1971)

Page 24: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

24

1

7

Structured Programming

Pascal

C++

New Application Software for Users

Spreadsheets

Word processors

Database management systems

Fourth Generation Software (1971-1989)

Page 25: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

25

1

8

Microsoft

Windows operating system and other Microsoft application

programs dominate the market

http://www.youtube.com/watch?v=Z_Ae7J6AVGA

Object-Oriented Design

Based on a hierarchy of data objects (i.e. Java)

World Wide Web

Allows easy global communication through the Internet

HTML, Mosaic

New Users

Today’s user needs no computer knowledge

Fifth Generation Software (1990- present)

Page 26: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

26

Programmer / User

Applications Programmer

(uses tools)

User with No

Computer Background

Systems Programmer

(builds tools)

Domain-Specific Programs

Computing as a Tool

Page 27: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

27

2

1

Computing as a Discipline

What can be (efficiently) automated?

Four Necessary Skills • Algorithmic Thinking

• Representation

• Programming

• Design

Page 28: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

28

Is Computer Science a mathematical,

scientific, or engineering discipline?

2

2

What do you think?

Computing as a Discipline

Page 29: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

29

2

3

Examples of Systems Areas

• Algorithms and Data Structures

• Programming Languages

• Architecture

• Operating Systems

• Software Engineering

• Human-Computer Communication

Page 30: Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept. of Computer Engineering ... Abacus Blaise Pascal Mechanical device to add, subtract,

30

2

4

Examples of Application Areas

• Numerical and Symbolic Computation

• Databases and Information Retrieval

• Intelligent Systems

• Graphics and Visual Computing

• Net-Centric Computing

• Computational Science