Download - Introduction to Computer Science
![Page 1: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/1.jpg)
©Brooks/Cole, 2003
Introduction to Computer Science
Kun-Mao Chao ( 趙坤茂 )Department of Computer Science
and Information EngineeringNational Taiwan University,
Taiwan
E-mail: [email protected]
WWW: http://www.csie.ntu.edu.tw/~kmchao
![Page 2: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/2.jpg)
©Brooks/Cole, 2003
Why is Bill Gates always smiling?
• Why is he always smiling?
![Page 3: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/3.jpg)
©Brooks/Cole, 2003
![Page 4: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/4.jpg)
©Brooks/Cole, 2003
Chapter 1
Introduction
![Page 5: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/5.jpg)
©Brooks/Cole, 2003
Understand the concept of a black box, a data processor, and Understand the concept of a black box, a data processor, and a programmable data processor.a programmable data processor.
Define the Define the von Neumannvon Neumann model and name its components: model and name its components: memory, arithmetic/logic unit, control unit, and input/output.memory, arithmetic/logic unit, control unit, and input/output.
Understand the stored program concept.Understand the stored program concept.
After reading this chapter, the reader should After reading this chapter, the reader should be able to:be able to:
OOBJECTIVESBJECTIVES
Understand the sequential execution of statements in a program.Understand the sequential execution of statements in a program.
Name the components of a computer: hardware, software, Name the components of a computer: hardware, software, and data. and data.
![Page 6: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/6.jpg)
©Brooks/Cole, 2003
THE COMPUTERTHE COMPUTERAS A BLOCK BOXAS A BLOCK BOXTHE COMPUTERTHE COMPUTERAS A BLOCK BOXAS A BLOCK BOX
1.11.1
![Page 7: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/7.jpg)
©Brooks/Cole, 2003
Figure 1-1
Data processor model
![Page 8: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/8.jpg)
©Brooks/Cole, 2003
Figure 1-2
Programmable data processor model
![Page 9: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/9.jpg)
©Brooks/Cole, 2003
![Page 10: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/10.jpg)
©Brooks/Cole, 2003
Figure 1-3
Same program, different data
![Page 11: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/11.jpg)
©Brooks/Cole, 2003
Figure 1-4
Same data, different programs
![Page 12: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/12.jpg)
©Brooks/Cole, 2003
von NEUMANNvon NEUMANNMODELMODEL
von NEUMANNvon NEUMANNMODELMODEL
1.21.2
![Page 13: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/13.jpg)
©Brooks/Cole, 2003
von Neumann
![Page 14: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/14.jpg)
©Brooks/Cole, 2003
About John Louis von Neumann( 馮紐曼 有本科普書介紹這位超人 )
• John Louis von Neumann – Born 28 December 1903, Budapest, Hungary; – Died 8 February 1957, Washington DC; – Brilliant mathematician, synthesizer, and promoter
of the stored program concept, whose logical design of the IAS became the prototype of most of its successors - the von Neumann Architecture.
![Page 15: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/15.jpg)
©Brooks/Cole, 2003
Figure 1-5
von Neumann model
![Page 16: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/16.jpg)
©Brooks/Cole, 2003
von Neumann Model
• 四個主要部分– Memory ( 記憶體 )– Arithmetic Logic Unit (ALU, 運算及邏輯單元 )– Control Unit (CU, 控制單元 )– Input/Output (I/O, 輸出入 )
• 儲存程式概念 (stored program concept)
• 循序執行指令 (sequential execution of instructions)
![Page 17: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/17.jpg)
©Brooks/Cole, 2003
COMPUTERCOMPUTERHARDWAREHARDWARECOMPUTERCOMPUTERHARDWAREHARDWARE
1.31.3
![Page 18: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/18.jpg)
©Brooks/Cole, 2003
電腦 ( 計算機 , Computer)
![Page 19: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/19.jpg)
©Brooks/Cole, 2003
螢幕 (Monitor; Screen)
![Page 20: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/20.jpg)
©Brooks/Cole, 2003
滑鼠 (Mouse)
![Page 21: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/21.jpg)
©Brooks/Cole, 2003
鍵盤 (Keyboard)
![Page 22: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/22.jpg)
©Brooks/Cole, 2003
主機 (Computer housing; the computer case; the box)
![Page 23: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/23.jpg)
©Brooks/Cole, 2003
印表機 (Printer)
![Page 24: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/24.jpg)
©Brooks/Cole, 2003
筆記型電腦 (Notebook)
![Page 25: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/25.jpg)
©Brooks/Cole, 2003
無線網卡 (Wireless card)
![Page 26: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/26.jpg)
©Brooks/Cole, 2003
個人數位助理 (Personal Digital Assistant; PDA)
![Page 27: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/27.jpg)
©Brooks/Cole, 2003
數位相機 (Digital Camera)
![Page 28: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/28.jpg)
©Brooks/Cole, 2003
DATADATADATADATA
1.41.4
我們將在後續的幾章中介紹
![Page 29: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/29.jpg)
©Brooks/Cole, 2003
COMPUTERCOMPUTERSOFTWARESOFTWARECOMPUTERCOMPUTERSOFTWARESOFTWARE
1.51.5
![Page 30: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/30.jpg)
©Brooks/Cole, 2003
Figure 1-6Program and data in memory
![Page 31: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/31.jpg)
©Brooks/Cole, 2003
Figure 1-7
Program made of instructions
![Page 32: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/32.jpg)
©Brooks/Cole, 2003
HISTORYHISTORYHISTORYHISTORY
1.61.6
![Page 33: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/33.jpg)
©Brooks/Cole, 2003
最早的計算工具
• 算盤
![Page 34: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/34.jpg)
©Brooks/Cole, 2003
Pascaline
• 法國數學家 Blaise Pascal 於西元 1642 年所發明 , 是一種加法器
![Page 35: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/35.jpg)
©Brooks/Cole, 2003
Difference Engine
• Charles Babbage 西元 1823 年所發明
![Page 36: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/36.jpg)
©Brooks/Cole, 2003
打孔卡排序工具
• Herman Hollerith 於 1890 年所發明
![Page 37: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/37.jpg)
©Brooks/Cole, 2003
ABC (Atanasoff Berry Computer)
• 第一部將資訊電子化的特定功能電腦• John V. Atanasoff 和 Clifford Berry 於 1939
年所發明
![Page 38: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/38.jpg)
©Brooks/Cole, 2003
Turing Machine
• Alan Turing 在二次大戰時設計 , 破解了德國的 Enigma 密碼
![Page 39: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/39.jpg)
©Brooks/Cole, 2003
Alan Turing & Me
H.A. Newton E.H. Moore (1885 Yale Univ.) Oswald Veblen (1903 U. of Chicago) Alonzo Church (1927 Princeton) Bob Ritchie (1961 Princeton) Webb Miller (1968 Washington)
Kun-Mao Chao (1993 Penn State)
Alan Turing
![Page 40: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/40.jpg)
©Brooks/Cole, 2003
Turing Award
• Nobel prize in computer science• ACM's most prestigious technical award is
accompanied by a prize of $100,000. It is given to an individual selected for contributions of a technical nature made to the computing community. The contributions should be of lasting and major technical importance to the computer field. Financial support of the Turing Award is provided by the Intel Corporation.
• 西元 1966 年開始
![Page 41: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/41.jpg)
©Brooks/Cole, 2003
Turing Award
• 2002 Winners: Ronald L. Rivest, Adi Shamir, Leonard M. Adleman
• Donald Knuth 1974
• Steven Cook 1982
• Ken Thompson & Dannis Ritchie
• 姚期智院士在西元 2000 年時 , 獲頒 Turing Award
![Page 42: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/42.jpg)
©Brooks/Cole, 2003
RSA encryption --- 1978
Rivest Shamir Adleman
![Page 43: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/43.jpg)
©Brooks/Cole, 2003
RSA factorization challenges將一個由兩個大質數所乘出來的大數分解回來
e.g., 143 11 x 13
Challenge Number
Prize ($US) Challenge Number
Prize ($US)
RSA-576 $10,000 RSA-896 $75,000
RSA-640 $20,000 RSA-1024 $100,000
RSA-704 $30,000 RSA-1536 $150,000
RSA-768 $50,000 RSA-2048 $200,000
![Page 44: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/44.jpg)
©Brooks/Cole, 2003
US$10,000 –– RSA-576
• 1881988129206079638386972394616504398071635633794138270076335642298885971523466548531906060650474304531738801130339671619969232120573403187955065699621305168759307650257059
![Page 45: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/45.jpg)
©Brooks/Cole, 2003
US$200,000 –– RSA-2048
• 25195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357
![Page 46: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/46.jpg)
©Brooks/Cole, 2003
你 / 妳缺錢嗎 ?
www.rsasecurity.com/rsalabs/challenges/factoring/
![Page 47: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/47.jpg)
©Brooks/Cole, 2003
To be continued
• 下週我們會再繼續電腦發展史• 下週我們也會談資料表示法及數字表示法
![Page 48: Introduction to Computer Science](https://reader035.vdocuments.us/reader035/viewer/2022070400/56812a74550346895d8df8fd/html5/thumbnails/48.jpg)
©Brooks/Cole, 2003
先想想看 , 讀讀看
• 從古至今的計算機發展史• 下次我們會給個和計算機發展史有關的作
業