Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept....
Transcript of Seungkyu Lee - khu.ac.krcvlab.khu.ac.kr/CELecture2.pdf · Seungkyu Lee Assistant Professor, Dept....
![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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/1.jpg)
[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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/2.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/3.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/4.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/5.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/6.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/7.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/8.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/9.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/10.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/11.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/12.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/13.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/14.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/15.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/16.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/17.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/18.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/19.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/20.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/21.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/22.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/23.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/24.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/25.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/26.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/27.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/28.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/29.jpg)
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,](https://reader034.fdocuments.net/reader034/viewer/2022051601/5accd3be7f8b9a93268ce41c/html5/thumbnails/30.jpg)
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