View
265
Download
5
Category
Preview:
Citation preview
Introduction to Computer Science
Fall 2004, 劉震昌
Ref: Computer Science: an overviewJ. Glenn Brookshear
Outline Concept of computers
Computer software: algorithm Computer hardware: algorithmic machine Turing Machine
5 major components of computers
Computers ?
Hardware
Software
SoftwarePackage(Executable)
SourceProgram
#include <stdio.h>main(){…}
compile
Computers are machines to execute Algorithm
Hierarchy of computer
Program languageEx. C, Java,…
Readable by human
Machine language(instruction set)
Ex. Executable fileReadable by machine
Computer hardware
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
Albert
Baker
Algorithm: example Sorting( 排序 ): sort the cards from top to d
own in alphabetical order
Charlie
Algorithm: sort (cont.)Albert
BakerCharlie
input
Albert
BakerCharlie
AfterStep 1
Charlie
BakerAlbert
AfterStep 2
Charlie
AlbertBaker
AfterStep 3
Write an algorithm: sort
Input: 3 cards in arbitrary order1. 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
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
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 Send an email to me with subject : Lab
2 學號
How to devise an algorithm?
1945 Polya, “How to solve it” Phase 1: Understand the problem Phase 2: Devise a plan for solving the probl
em Phase 3: Carry out the plan Phase 4: Evaluate the solution for accurac
y and for its potential as a tools for solving other problems
HW#1.1
1. Write an algorithm to sort 4 cards2. Write an algorithm to sort 5 cardsGive an example for each of your
algorithm.
Write your homework in a well-formed document (.txt, .doc), and send it to me via email.
Computers hardware? Concept of algorithm appeared first Computers are designed to implement algorith
ms Computers (計算機 ,電腦 ) are not smart thems
elves…
+
Development of Algorithmic Machines
Algorithmic machines: machines that perform algorithm tasks
Abacus(算盤 ): ancient Greek and Roman
Blaise Pascal(1623-1662), France
Development of Algorithmic Machines (cont.)
Charles Babbage(1792-1871), England
Herman Hollerith
解多項式
打孔機
1st generation computer 1940
ENIAC
真空管
2nd generation computer 1959
電晶體
3rd generation computer 1965
IC ( 積體電路 )
4th generation computer 1971
VLSI ( 超大積體電路 )
Turing machines
The abstract model of general-purpose algorithmic machines
1936 by Alan M. Turing You will learn more in the class of automa
ta and formal language 自動機與形式語言
Turing machines (cont.)
Controlunit
tape
read/write head
… …
symbols
state of the machines
Components of a Turing machine
A specific Turing machine A Turing machine for incrementing a vlaue
Example:
state=START
1
state=ADD
2
3
state=CARRY
4
state=NO CARRY
state=NO CARRY
5
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
11 01
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
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
Outline Concept of computers
Computer software: algorithm Computer hardware: algorithmic machine Turing Machine
5 major components of computers
Computer hardware
Centralprocessing
unitmemory
Inputdevices
Outputdevices
Auxiliarymemory
Peripherals 週邊
Bus: for data transmission
CPU (central processing unit)
Carry out the instructions in the program
CPU
ALU Controlunit
registers
ALU: arithmetic/logic unit
CPU – control unit
Instruction fetch
Instruction decoding
Instruction execution
Memory read/writetime
Instruction cycle
Memory Main memory
RAM(random access memory) Fast Volatile 揮發
Auxiliary memory Secondary storage Slower Permanent Ex. Hard Disk, CD-ROM
I/O devices Input devices
Keyboard, mouse, … Output devices
Display, printer, …
Overview of computer systems
Hardwaremachines
MS WindowsUnixLinux
Operationsystem
shelldesktop dosUser
Interface
applications
machinelanguage
assemblylanguage
High-levellanguage
compiler
assembler
software
Purpose of this class
Hardwaremachines
MS WindowsUnixLinux
Operationsystem
shelldesktop dosUser
Interface
applications
machinelanguage
High-levellanguage
compiler
software
assemblylanguage
assembler
Recommended