Course Outline. Textbook: G. Michael Schneider and Judith L. Gersting, "Invitation to Computer Science C++ Version," 3rd Edition, Thomson, 2004.

Similar documents
Chapter 1 An Introduction to Computer Science. INVITATION TO Computer Science 1

Books. Foundations of Computer Science, 2 nd edition, Behrouz Forouzan and Firouz Mosha rraf, Thomson Learning, UK, ( 歐亞書局,(02) )

From Turing Machines to Building a Brain

Foundations of Computing and Communication Lecture 4. The Mechanical Age

The American University. College of Arts and Sciences. Department of Computer Science and Information Systems. Fall 2001

understand the hardware and software components that make up computer systems, and how they communicate with one another and with other systems

A Brief History of IT

Running head: History of Information Technology 1. A History of Information Technology. Nancy J. Foti. Indian River State College

A Brief History of Computer Science and Computing

Chapter 6: DSP And Its Impact On Technology. Book: Processor Design Systems On Chip. By Jari Nurmi

Copyright 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J.

Introduction (concepts and definitions)

Indiana K-12 Computer Science Standards

Introduction. Reading: Chapter 1. Courtesy of Dr. Dansereau, Dr. Brown, Dr. Vranesic, Dr. Harris, and Dr. Choi.

Loop Design. Chapter Introduction

Electrical, Computer and Software Engineering - a historical perspective -

This list supersedes the one published in the November 2002 issue of CR.

a. Mechanical procedure for doing different computing: system b. Organon, codify logical deduction with rules of inference (syllogisms)

Computer Science as a Discipline

A Balanced Introduction to Computer Science, 3/E

A Brief Survey of HCI Technology. Lecture #3

Unit 0: Brief history, present and future of the wireless communications

Introduction to Computer Engineering. CS/ECE 252, Spring 2013 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison

Forty Years of Education and Research in Computers and Informatics at Politehnica University of Timisoara

Digital Photogrammetry. Presented by: Dr. Hamid Ebadi

Unit 3 Digital Circuits (Logic)

IDK0310 AUTOMATED AND SYSTEMATISED LEGAL PROCESS. Ermo Täks

Part 1: Unit Overview. Unit Aims. Unit Abstract. Unit Outcomes. Unit Outcomes

Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates

Electrical, Computer and Software Engineering - a historical perspective -

Smart Cities. SESSION I : Lecture 2: Turing s s Legacy. Michael

Unit 11. Automating. Manufacturing. Systems. Manufacturing

Introduction to Computer Science

CDT314 FABER Formal Languages, Automata and Models of Computation MARK BURGIN INDUCTIVE TURING MACHINES

Lecture 1. Tinoosh Mohsenin

Den femte digitaliseringsbølgen - fra data til innsikt!

A Brief History of Computing

Correlating 21st Century Skills Assessment reports with South Dakota Standards

Computer Studies. Resources

Bell Labs celebrates 50 years of Information Theory

The ENIAC at 70. Details of the Euler-Heun Computation

CSC384 Intro to Artificial Intelligence* *The following slides are based on Fahiem Bacchus course lecture notes.

Computer Progression Pathways statements for KS3 & 4. Year 7 National Expectations. Algorithms

CSTA K- 12 Computer Science Standards: Mapped to STEM, Common Core, and Partnership for the 21 st Century Standards

The Fabric of Technology How We Got to Where We Are. Jed Margolin. February Introduction

A Brief History of Artificial Intelligence and How It s Revolutionizing Customer Service Today

Physics and the Evolution of Western Civilization PHYS 302

Let s know each other. Myself INTRODUCTION TO INFORMATION AND COMMUNICATION TECHNOLOGY (ICT) AND ITS BUSINESS APPLICATION 5/10/2016. Suwarn Kr.

Artificial Intelligence

Algorithm. Algorithms in Everyday Life. Language in Algorithms. Five Essential Properties (cont'd) Chapter 10: What's The Plan?: Algorithmic Thinking

Algorithm. Algorithms in Everyday Life. Chapter 10: What's The Plan?: Algorithmic Thinking

Social Issues in Computing Exploring the Ways Computers Affect Our Lives

Exploring Technology 8 th Grade Prof Crudele

Hour of Code at Box Island! Curriculum

DATA CONVERSION AND LAB (17.368) Fall Class # 07. October 16, 2008

EENG 444 / ENAS 944 Digital Communication Systems

CPE/CSC 580: Intelligent Agents

What are they? Cellular Automata. Automata? What are they? Binary Addition Automaton. Binary Addition. The game of life or a new kind of science?

Programmable Wireless Networking Overview

Introduction to Robotics in CIM Systems

DIGITAL LOGIC DESIGN (ELE 241)

06 March Day Date All Streams. Thursday 03 May 2018 Engineering Mathematics II. Saturday 05 May 2018 Engineering Physics

DRAFT 2016 CSTA K-12 CS

India & Brazil: a comparative table

Circuit Simulators: a Revolutionary E-Learning Platform

Engineering and Electronics Technology

DSP VLSI Design. DSP Systems. Byungin Moon. Yonsei University

Introduction to AI. What is Artificial Intelligence?

Human Robotics Interaction (HRI) based Analysis using DMT

Chapter 1 Coding for Reliable Digital Transmission and Storage

Instrumentation and Control Technician A Guide to Course Content Implementation Beginning with Level 1 April 2013

Module. Introduction to Scratch

Chapter 1 The Field of Computing. Slides Modified by Vicky Seno

Chapter 1 An Introduction to Computers and Problem Solving

Data Conversion and Lab (17.368) Fall Lecture Outline

Lives: A System for Creating Families of Multimedia Stories

- Basics of informatics - Computer network - Software engineering - Intelligent media processing - Human interface. Professor. Professor.

Understanding Digital Signal Processing

Chapter 1. Engineering and Society

Oracle Turing Machine. Kaixiang Wang

ROBOTC: Programming for All Ages

EE 280 Introduction to Digital Logic Design

INTRODUCTION TO INFORMATION AND COMMUNICATION TECHNOLOGY

PREREQUISITE Electronics and Robotics Technology I OPTIONS FOR NEXT COURSE None REQUIRED STUDENT TEXTBOOK None

CS 380: ARTIFICIAL INTELLIGENCE INTRODUCTION. Santiago Ontañón

END EXAMINATION TIME TABLE OF II-B.TECH-I-SEM-R07-SUPPLE-NOV-DEC 2016 Examination Timings: A.M. To P.M.

D S R G. Alina Mashko, GUI universal and global design. Department of vehicle technology. Faculty of Transportation Sciences

Computational Efficiency of the GF and the RMF Transforms for Quaternary Logic Functions on CPUs and GPUs

PhD PRELIMINARY WRITTEN EXAMINATION READING LIST

GF Machining Solutions Speed of Development : The Future of Machine Building. Sergei Schurov 23/06/2016

Computer Science. Things you should be doing. Readings for Today. What it is, What it's not, and How it is changing the world

CSC 550: Introduction to Artificial Intelligence. Fall 2004

I. History. B - TECHNOLOGY. Vocabulary. Discussion Questions

COMPUTER SCIENCE AND ENGINEERING History of Computer Hardware and Software Development Arthur Tatnall

The Human Processor: changing the relation between human and computer

Journal Title ISSN 5. MIS QUARTERLY BRIEFINGS IN BIOINFORMATICS

Learning serious knowledge while "playing"with robots

Fundamentals of Industrial Control

Wireless Communications

Lecture 1 What is AI?

Transcription:

2005/Sep/12 1

Course Outline Textbook: G. Michael Schneider and Judith L. Gersting, "Invitation to Computer Science C++ Version," 3rd Edition, Thomson, 2004. Outline 1. The Algorithm Foundations of Computer Science 2. The Hardware World 3. The Virtual Machine 4. The Software World 5. Applications 6. Social Issues in Computing 2

Course Outline Score Distribution: Homework 30% Mid-term Exam 35% Final Exam 35% Chapter 1: An Introduction to Computer Science 3

Objectives In this chapter, you will learn about: The definition of computer science Algorithms A brief history of computing Organization of the text 4

Introduction Common misconceptions about computer science: Computer science is the study of computers Computer science is the study of how to write computer programs Computer science is the study of the uses and applications of computers and software 5

The Definition of Computer Science Gibbs and Tucker definition of computer science The study of algorithms, including their: Formal and mathematical properties Hardware realizations Linguistic realizations Applications 6

The Definition of Computer Science (continued) Computer scientist designs and develops algorithms to solve problems Operations involved in designing algorithms: Formal and mathematical properties Studying the behavior of algorithms to determine whether they are correct and efficient Hardware realizations Designing and building computer systems that are able to execute algorithms 7

The Definition of Computer Science Linguistic realizations (continued) Designing programming languages and translating algorithms into these languages Applications Identifying important problems and designing correct and efficient software packages to solve these problems 8

The Definition of Computer Science Algorithm Dictionary definition (continued) Procedure for solving a mathematical problem in a finite number of steps that frequently involves repetition of an operation A step-by-step method for accomplishing a task Informal description An ordered sequence of instructions that is guaranteed to solve a specific problem 9

The Definition of Computer Science (continued) An algorithm is a list that looks like STEP 1: Do something STEP 2: Do something STEP 3: Do something...... STEP N: Stop, you are finished 10

The Definition of Computer Science (continued) Categories of operations used to construct algorithms Sequential operations Carries out a single well-defined task; when that task is finished, the algorithm moves on to the next operation Examples: Add 1 cup of butter to the mixture in the bowl Subtract the amount of the check from the current account balance Set the value of x to 1 11

The Definition of Computer Science (continued) Conditional operations Ask a question and then select the next operation to be executed on the basis of the answer to that question Examples If the mixture is too dry, then add one-half cup of water to the bowl 12

The Definition of Computer Science (continued) Conditional operations examples (continued): If the amount of the check is less than or equal to the current account balance, then cash the check; otherwise, tell the person that the account is overdrawn If x is not equal to 0, then set y equal to 1/x; otherwise, print an error message that says we cannot divide by 0 13

The Definition of Computer Science Iterative operations (continued) Tell us to go back and repeat the execution of a previous block of instructions Examples Repeat the previous two operations until the mixture has thickened While there are still more checks to be processed, do the following five steps Repeat steps 1, 2, and 3 until the value of y is equal to 11 14

The Definition of Computer Science (continued) If we can specify an algorithm to solve a problem, we can automate its solution Computing agent: The machine, robot, person, or thing carrying out the steps of the algorithm Does not need to understand the concepts or ideas underlying the solution 15

The Formal Definition of an Algorithm Algorithm A well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time Unambiguous operation An operation that can be understood and carried out directly by the computing agent without needing to be further simplified or explained 16

The Formal Definition of an Algorithm (continued) A primitive operation (or a primitive) of the computing agent Operation that is unambiguous for computing agent Primitive operations of different individuals (or machines) vary An algorithm must be composed entirely of primitives Effectively computable Computational process exists that allows computing agent to complete that operation successfully 17

The Formal Definition of an Algorithm (continued) The result of the algorithm must be produced after the execution of a finite number of operations Infinite loop The algorithm has no provisions to terminate A common error in the designing of algorithms 18

The Importance of Algorithmic Problem Solving Algorithmic solutions can be: Encoded into some appropriate language Given to a computing agent to execute The computing agent Would mechanically follow these instructions and successfully complete the task specified Would not have to understand Creative processes that went into discovery of solution Principles and concepts that underlie the problem 19

The Early Period: Up to 1940 3,000 years ago: Mathematics, logic, and numerical computation Important contributions made by the Greeks, Egyptians, Babylonians, Indians, Chinese, and Persians 1614: Logarithms Invented by John Napier to simplify difficult mathematical computations Around 1622: First slide rule created 20

The Early Period: Up to 1940 1672: The Pascaline (continued) Designed and built by Blaise Pascal One of the first mechanical calculators Could do addition and subtraction 1674: Leibnitz s Wheel Constructed by Gottfried Leibnitz Mechanical calculator Could do addition, subtraction, multiplication, and division 21

Figure 1.4 The Pascaline: One of the Earliest Mechanical Calculators 22

The Early Period: Up to 1940 (continued) 1801: The Jacquard loom Developed by Joseph Jacquard Automated loom Used punched cards to create desired pattern 1823: The Difference Engine Developed by Charles Babbage Did addition, subtraction, multiplication, and division to 6 significant digits Solved polynomial equations and other complex mathematical problems 23

The Early Period: Up to 1940 (continued) 1823: The Difference Engine Developed by Charles Babbage Capabilities: Addition, subtraction, multiplication, and division to 6 significant digits Solve polynomial equations and other complex mathematical problems 24

Figure 1.5 Drawing of the Jacquard Loom 25

The Early Period: Up to 1940 (continued) 1830s: The Analytic Engine Designed by Charles Babbage More powerful and general-purpose computational machine Components were functionally similar to the four major components of today s computers Mill (modern terminology: arithmetic/logic unit) Store (modern terminology: memory) Operator (modern terminology: processor) Output (modern terminology: input/output 26

The Early Period: Up to 1940 (continued) 1890: U.S. census carried out with programmable card processing machines Built by Herman Hollerith These machines could automatically read, tally, and sort data entered on punched cards 27

The Birth of Computers: 1940 1950 Development of electronic, general-purpose computers Did not begin until after 1940 Was fueled in large part by needs of World War II Early computers Mark I ENIAC ABC system Colossus Z1 28

Figure 1.6 Photograph of the ENIAC Computer 29

The Birth of Computers: 1940 1950 Stored program computer model Proposed by John Von Neumann in 1946 Stored binary algorithm in the computer s memory along with the data Is known as the Von Neumann architecture Modern computers remain, fundamentally, Von Neumann machines First stored program computers EDVAC EDSAC 30

The Modern Era: 1950 to the Present First generation of computing (1950-1959) Used vacuum tubes to store data and programs Each computer was multiple rooms in size Computers were not very reliable 31

The Modern Era: 1950 to the Present (continued) Second generation of computing (1959-1965) Replaced vacuum tubes by transistors and magnetic cores Dramatic reduction in size Computer could fit into a single room Increase in reliability of computers Reduced costs of computers High-level programming languages The programmer occupation was born 32

The Modern Era: 1950 to the Present (continued) Third generation of computing (1965-1975) Used integrated circuits rather than individual electronic components Further reduction in size and cost of computers Computers became desk-sized First minicomputer developed Software industry formed 33

The Modern Era: 1950 to the Present (continued) Fourth generation of computing (1975-1985) Reduced to the size of a typewriter First microcomputer developed Desktop and personal computers common Appearance of Computer networks Electronic mail User-friendly systems (Graphical user interfaces) Embedded systems 34

Figure 1.7 The Altair 8800, the World s First Microcomputer 35

The Modern Era: 1950 to the Present (continued) Fifth generation of computing (1985-?) Recent developments Massively parallel processors Handheld devices and other types of personal digital assistants (PDAs) High-resolution graphics Powerful multimedia user interfaces incorporating sound, voice recognition, touch, photography, video, and television 36

The Modern Era: 1950 to the Present (continued) Recent developments (continued) Integrated global telecommunications incorporating data, television, telephone, FAX, the Internet, and the World Wide Web Wireless data communications Massive storage devices Ubiquitous computing 37

Figure 1.8 Some of the Major Advancements in Computing 38

Figure 1.8 Some of the Major Advancements in Computing 39

Organization of the Text This book is divided into six separate sections called levels Each level addresses one aspect of the definition of computer science Computer science/algorithms 40

Organization of the Text Level 1: The Algorithmic Foundations of Computer Science Chapters 1, 2, 3 Level 2: The Hardware World Chapters 4, 5 Level 3: The Virtual Machine Chapters 6, 7 41

Organization of the Text Level 4: The Software World Chapters 8, 9, 10, 11 Level 5: Applications Chapters 12, 13, 14 Level 6: Social Issues Chapter 15 42

Figure 1.9 Organization of the Text into a Six-Layer Hierarchy 43

Summary Computer science is the study of algorithms An algorithm is a well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts in a finite amount of time If we can specify an algorithm to solve a problem, then we can automate its solution Computers developed from mechanical calculating devices to modern electronic marvels of miniaturization 44