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

28
Introduction to Computer Science Fall 2003, 劉劉劉 Ref: Computer Science: an ove rview J. Glenn Brookshear
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    260
  • download

    2

Transcript of Introduction to Computer Science Fall 2003, 劉震昌 Ref: Computer Science: an overview J. Glenn...

Introduction to Computer Science

Fall 2003, 劉震昌

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(){…}

CSIE class schedule

Hardware

Operation System

Application Program

High level

Low level

資網 C

程設 C++Java

資演 (1)資演 (2)

邏設電路

微算機計組

數電

作業系統

系統程式

網路

資料庫

Computer software: Algorithm 演算法

Computers are machines to execute Algorithm

Fundamental concept of CS Def. 1: a set of steps that defines how

a task is performed Def. 2: an ordered set of unambiguous,

executable steps that defines a terminating activity

Albert

Baker

Algorithm: example Sorting: sort the cards from top to

down in alphabetical order

Charlie

排序

Algorithm: sort (cont.)Albert

BakerCharlie

input

Albert

BakerCharlie

AfterStep 1

Charlie

BakerAlbert

AfterStep 2

Charlie

AlbertBaker

AfterStep 3

Algorithm: sort (cont.)

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

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

Computers hardware? Concept of algorithm appeared first Computers are designed to implement algorith

ms Computers 電腦 are not smart themselves…

+

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

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