Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Computer Science Fall 2004, 劉震昌 Ref: Computer Science: an overview J. Glenn Brookshear.

Similar presentations


Presentation on theme: "Introduction to Computer Science Fall 2004, 劉震昌 Ref: Computer Science: an overview J. Glenn Brookshear."— Presentation transcript:

1 Introduction to Computer Science Fall 2004, 劉震昌 Ref: Computer Science: an overview J. Glenn Brookshear

2 Outline Concept of computers Computer software: algorithm Computer hardware: algorithmic machine Turing Machine 5 major components of computers

3 Computers ? Hardware Software Package (Executable) Source Program #include main(){ … } compile Computers are machines to execute Algorithm

4 Hierarchy of computer Program language Ex. C, Java, … Readable by human Machine language (instruction set) Ex. Executable file Readable by machine Computer hardware

5 Computer software: Algorithm 演算法 Computers are machines to execute Algorithm Fundamental concept of CS Definition of algorithm (1): a set of steps that defines how a task is performed Definition of algorithm (2): an ordered set of unambiguous, executable steps that defines a terminating activity

6

7 Albert Baker Algorithm: example Sorting( 排序 ): sort the cards from top to down in alphabetical order Charlie

8 Algorithm: sort (cont.) Albert Baker Charlie input Albert Baker Charlie After Step 1 Charlie Baker Albert After Step 2 Charlie Albert Baker After Step 3

9 Write an algorithm: sort Input: 3 cards in arbitrary order 1.Compare the names on the first and second cards. Exchange them if they are out of order. 2.Compare the names on the second and third cards. Exchange them if they are out of order. 3.Compare the names on the first and second cards. Exchange them if they are out of order. Output: 3 cards in alphabetical order

10 Properties of algorithms Goal: find a single set of directions that describe how any problem could be solved Algorithm = Programs within computers The intelligence required to perform the task is encoded in the algorithm

11 Mini break NCNU webmail system http://webmail.ncnu.edu.tw/ The web-based email system 計算中心 FAQ http://www.cc.ncnu.edu.tw/net/ccfaq/FAQ.htm http://www.cc.ncnu.edu.tw/net/ccfaq/FAQ.htm Send an email to me with subject : Lab2 學號

12 How to devise an algorithm? 1945 Polya, “ How to solve it ” Phase 1: Understand the problem Phase 2: Devise a plan for solving the problem Phase 3: Carry out the plan Phase 4: Evaluate the solution for accuracy and for its potential as a tools for solving other problems

13 HW#1.1 1. Write an algorithm to sort 4 cards 2. Write an algorithm to sort 5 cards Give an example for each of your algorithm. Write your homework in a well-formed document (.txt,.doc), and send it to me via email.

14 Computers hardware? Concept of algorithm appeared first Computers are designed to implement algorithms Computers ( 計算機, 電腦 ) are not smart themselves … +

15 Development of Algorithmic Machines Algorithmic machines: machines that perform algorithm tasks Abacus( 算盤 ): ancient Greek and Roman Blaise Pascal(1623- 1662), France

16 Development of Algorithmic Machines (cont.) Charles Babbage(1792- 1871), England Herman Hollerith 解多項式 打孔機

17 1st generation computer 1940 ENIAC 真空管

18 2nd generation computer 1959 電晶體

19 3rd generation computer 1965 IC ( 積體電路 )

20 4th generation computer 1971 VLSI ( 超大積體電路 )

21 Turing machines The abstract model of general-purpose algorithmic machines 1936 by Alan M. Turing You will learn more in the class of automata and formal language 自動機與形式語言

22 Turing machines (cont.) Control unit tape read/write head … … symbols state of the machines Components of a Turing machine

23 A specific Turing machine A Turing machine for incrementing a vlaue

24 Example: state=START 1 state=ADD 2 3 state=CARRY 4 state=NO CARRY 5

25 HW#1.2 Apply the above Turing machine to the following tape: Design a Turing machine that decrements the value on the tape if it is greater than 0 or leaves the value unaltered if it is 0. state=START 1 1 0 1

26 Turing machines (cont.) Prototype of today ’ s computer Control unit -> CPU States -> registers Tape cells -> memory Symbols -> 0 and 1 The power of Turing machine If a problem cannot be solved by a Turing machine, then it cannot be solved by any algorithmic system

27 John von Neumann machine In early computing machines, the programs were built as part of the machine Store-program concept Program, just like data, can be coded and stored in main memory Control unit extracts the program from memory, decodes the instructions, and executes them Some data(bit patterns) were interpreted as instructions -> machine language

28 Outline Concept of computers Computer software: algorithm Computer hardware: algorithmic machine Turing Machine 5 major components of computers

29 Computer hardware Central processing unit memory Input devices Output devices Auxiliary memory Peripherals 週邊 Bus: for data transmission

30 CPU (central processing unit) Carry out the instructions in the program CPU ALU Control unit registers ALU: arithmetic/logic unit

31 CPU – control unit Instruction fetch Instruction decoding Instruction execution Memory read/write time Instruction cycle

32 Memory Main memory RAM(random access memory) Fast Volatile 揮發 Auxiliary memory Secondary storage Slower Permanent Ex. Hard Disk, CD-ROM

33 I/O devices Input devices Keyboard, mouse, … Output devices Display, printer, …

34 Overview of computer systems Hardware machines MS Windows Unix Linux Operation system shelldesktopdos User Interface applications machine language assembly language High-level language compiler assembler software

35 Operating system (OS) The program that supervises the execution of other programs Program loading: control is returned to OS when program terminates Control of peripherals: device drivers Data management: file system Concurrency or multi-user User friendly interface System calls Security

36 Purpose of this class Hardware machines MS Windows Unix Linux Operation system shelldesktopdos User Interface applications machine language High-level language compiler software assembly language assembler


Download ppt "Introduction to Computer Science Fall 2004, 劉震昌 Ref: Computer Science: an overview J. Glenn Brookshear."

Similar presentations


Ads by Google