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

Slides:



Advertisements
Similar presentations
Introduction to Computer Programming Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Advertisements

Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
COSC 120 Computer Programming
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Introduction to Computer Science Fall 2003, 劉震昌 Ref: Computer Science: an overview J. Glenn Brookshear.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Chapter 01 Introduction Chapter 0 Introduction. Chapter 02 History of Computing - Early Computers Abacus (ancient orient, still in use) Slide rule (17C,
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
Introduction to Information Systems and Computer Network 劉震昌 Fall, 2004.
Introduction to Computer Systems
CS 104 Introduction to Computer Science and Graphics Problems Basic Organization & Concepts 09/09/2008 Yang Song (Prepared by Yang Song and Suresh Solaimuthu)
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
1-1 ICS102: Introduction To Computing I King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
1 Introduction to computers Overview l · Grading Policy »Cheating Rules (serious concern) »Examinations and Fixation of Timings »Quizzes »Homework Assignments.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
Introduction to Computers and Programming
Tools make jobs easier to do -A computer is a tool used by many professions A computer can do many different jobs because they are programmable - Machine.
CS 161 INTRO TO PROGRAMMING I Dr. Blaise W. Liffick Fall
CS130 Introduction to Programming with VB 6.0 Fall 2001.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
BACS 287 Basics of Programming BACS 287.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Chapter 1 Engineering Problem Solving 1. Hardware and Software 2 A computer is a machine designed to perform operations specified with a set of instructions.
CS 1 •This is Computer Science 1. •Who is Professor Adams?
CCSE251 Introduction to Computer Organization
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
 Why?  Because it can be programmed to do more than one specific task. ◦ Accountants ~ tax forms etc. ◦ Machinists ~ control drilling, lathes etc. ◦
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Introduction Lecture 01.
Visual C++ Programming: Concepts and Projects
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1 Introduction. Understand the concept of a black box, a data processor, and a programmable data processor. Define the von Neumann model and name.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
EG280 Computer Science for Engineers Fundamental Concepts Chapter 1.
Chapter 1 Introduction.
School of Computer Science & Information Technology G6DICP Introduction to Computer Programming Milena Radenkovic.
Chapter 5 Computing Components. 5-2 Chapter Goals List the components and their function in a von Neumann machine Describe the fetch-decode-execute cycle.
J. Stover, CSD-HS.  A computer is an electronic device that is programmed to accept data (input), process it into useful information (output), and store.
COMPUTER ORGANISATION I HIGHER STILL Computing Computer Systems Higher Marr College Computing Department 2002.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Beginning Snapshots Chapter 0. C++ An Introduction to Computing, 3rd ed. 2 Objectives Give an overview of computer science Show its breadth Provide context.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
CS 1308 Computer Literacy and the Internet. Objectives In this chapter, you will learn about:  The components of a computer system  Putting all the.
Problem Solving Techniques Using Pascal Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan 30043, ROC
A.Abhari CPS1251 Topic 1: Introduction to Computers Computer Hardware Computer components Connecting Computers Computer Software Operating System (OS)
COEN 311 Computer Organization & Software Chapter 1 Introduction and Terminology (Prof. Sofiène Tahar) Concordia University Electrical & Computer Engineering.
Computer Science An Overview Allen C.-H. Wu/Arbee L.P. Chen Computer Science Department Tsing Hua University.
Chapter 1 An Overview of Computers and Programming Languages.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
Chapter 3 Getting Started. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. Objectives To give an overview of the structure of a contemporary.
Engineering Problem Solving With C An Object Based Approach
Chapter 1: An Overview of Computers and Programming Languages
CS 21a: Intro to Computing I
IB Computer Science Topic 2.1.1
UNIV 103 CS Majors Seminar Dr. Blaise W. Liffick Fall 2017.
Computer Science I CSC 135.
National Diploma in Computer Studies
CS 330 Programming Languages
Function of Operating Systems
Overview of Computer system
Chapter 4 The Von Neumann Model
Presentation transcript:

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

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

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

Hierarchy of computer Program language Ex. C, Java, … Readable by human Machine language (instruction set) Ex. Executable file Readable 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 down in alphabetical order Charlie

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

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

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 The web-based system 計算中心 FAQ Send an to me with subject : Lab2 學號

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

HW# 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 .

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

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

Development of Algorithmic Machines (cont.) Charles Babbage( ), 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 automata and formal language 自動機與形式語言

Turing machines (cont.) Control unit 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 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

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 Central processing unit memory Input devices Output devices Auxiliary memory Peripherals 週邊 Bus: for data transmission

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

CPU – control unit Instruction fetch Instruction decoding Instruction execution Memory read/write time 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 Hardware machines MS Windows Unix Linux Operation system shelldesktopdos User Interface applications machine language assembly language High-level language compiler assembler software

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

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