Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition.

Slides:



Advertisements
Similar presentations
Computer Skills Preparatory Year Presented by: L. Obead Alhadreti.
Advertisements

Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition.
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition.
CSCI-235 Micro-Computers in Science Course Information & Introduction.
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Third Edition.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 01 Introduction Chapter 0 Introduction. Chapter 02 History of Computing - Early Computers Abacus (ancient orient, still in use) Slide rule (17C,
Chapter 2 The Algorithmic Foundations of Computer Science
Chapter 1: An Introduction to Computer Science
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
CS 104 Introduction to Computer Science and Graphics Problems History of Computer 09/05/2008 Yang Song (Prepared by Yang Song and Suresh Solaimuthu)
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Fourth Edition --slides rearranged by Shannon Steinfadt for.
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Third Edition Several Slides added to by Shannon Steinfadt,
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 Chapter 1 The Big Picture. 2 2 Computing systems are dynamic entities used to solve problems and interact with their environment. They consist of devices,
Some of these slides are based on material from the ACM Computing Curricula 2005.
1 Introduction Foundations of Computer Science ã Cengage Learning 1.#
Evolution of Computers
Chapter 1 An Introduction to Computer Science
Chapter 1 An Introduction to Computer Science
Introduction to Computers. Are Computers Important? OF COURSE!
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 01 Nell Dale & John Lewis.
CSCI-100 Introduction to Computing Algorithms Part I.
CREATION OF THE COMPUTER & THE GRAND IDEAS OF COMPUTER SCIENCE
Wilhelm Schickhard (1623) Astronomer and mathematician Automatically add, subtract, multiply, and divide Blaise Pascal (1642) Mathematician Mass produced.
The History of Computers
CS 1410 Intro to Computer Tecnology Computers and History1.
THE HISTORY OF COMPUTERS Presenter: Miss T. Johnson Grade:8.
Introduction Chapter 1. 1 History of Computers Development of computers began with many early inventions: The abacus helped early societies perform computations.

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.
Chapter 1 The Big Picture.
1.1 The Computer Revolution. Computer Revolution Early calculating machines Mechanical devices used to add and subtract By Babylonian (Iraq) 5000 years.
©Brooks/Cole, 2003 Foundations of Computer Science from Data Manipulation to Theory of Computation Behrouz A. Forouzan, Brooks/Cole — Thomson Learning,
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
CMSC 120: Visualizing Information 1/29/08 Introduction to Computing.
CSCI 161 Class 1 Martin van Bommel.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
1 Invitation to Computer Science 6 th Edition Chapter 1 An Introduction to Computer Science.
History of Computers.
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.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
CPIT 201 Introduction to Computing
Chapter 1 Introduction.

Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
CSCI-100 Introduction to Computing
History of Computer Wyatt Feiling Did you know... The first idea for a computer was in the early 1800s Charles Babbage is the man who is credited with.
Computer History How did we get here?.
LECTURE#2 INTRODUCTION TO COMPUTERS, HISTORY AND APPLICATIONS INSTRUCTOR: M. MATEEN YAQOOB.
Why build a computer? u Computers were developed to mechanize mathematical computations. u Two definitions:  A computer is “a programmable electronic.
Copyright © 2015 Pearson Education, Inc. Chapter 0: Introduction.
CS 101 INTRODUCTION TO COMPUTING * image from The Central Eglinton Community Centre website.
مقدمة في البرمجة CS 201 Huda aljaloud. Chapter1 Introduction.
Introduction to Information Technology, D3 FMIPA UGM Chapter 1 Brief History of Computer Technology 1.
Computer A Computer may be defined as an electronic device that operates upon data. So, a computer can store, process and retrieve data as and when desired.
CHAPTER 1 INTRODUCTION.  Data Processor: ◦ The basic definition of a computer is as a data processor. ◦ A black box that: 1.Accepts input data, 2.Processes.
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1 Introduction.
Chapter 1 The Big Picture
No one think of modern life without computers.
Chapter 1 Introduction.
Chapter 0: Introduction
INTRODUCTION Term “Computer” Computer definition Data Information
Chapter 0 Introduction Introduction Chapter 0.
Presentation transcript:

Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition

Invitation to Computer Science, Java Version, Third Edition 2 Objectives In this chapter, you will learn about The definition of computer science Algorithms A brief history of computing Organization of the text

Invitation to Computer Science, Java Version, Third Edition 3 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

Invitation to Computer Science, Java Version, Third Edition 4 The Definition of Computer Science Gibbs and Tucker definition of computer science  The study of algorithms Formal and mathematical properties Hardware realizations Linguistic realizations Applications

Invitation to Computer Science, Java Version, Third Edition 5 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

Invitation to Computer Science, Java Version, Third Edition 6 The Definition of Computer Science (continued)  Linguistic realizations Designing programming languages and translating algorithms into these languages  Applications Identifying important problems and designing correct and efficient software packages to solve these problems

Invitation to Computer Science, Java Version, Third Edition 7 The Definition of Computer Science (continued) Algorithm  Dictionary definition 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

Invitation to Computer Science, Java Version, Third Edition 8 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.

Invitation to Computer Science, Java Version, Third Edition 9 The Definition of Computer Science (continued) Categories of operations used to construct algorithms  Sequential operations Carry 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

Invitation to Computer Science, Java Version, Third Edition 10 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

Invitation to Computer Science, Java Version, Third Edition 11 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

Invitation to Computer Science, Java Version, Third Edition 12 The Definition of Computer Science (continued)  Iterative operations 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

Invitation to Computer Science, Java Version, Third Edition 13 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

Invitation to Computer Science, Java Version, Third Edition 14 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

Invitation to Computer Science, Java Version, Third Edition 15 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

Invitation to Computer Science, Java Version, Third Edition 16 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

Invitation to Computer Science, Java Version, Third Edition 17 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

Invitation to Computer Science, Java Version, Third Edition 18 The Early Period: Up to ,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

Invitation to Computer Science, Java Version, Third Edition 19 The Early Period: Up to 1940 (continued) 1672: The Pascaline  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

Invitation to Computer Science, Java Version, Third Edition 20 Figure 1.4 The Pascaline: One of the Earliest Mechanical Calculators

Invitation to Computer Science, Java Version, Third Edition 21 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

Invitation to Computer Science, Java Version, Third Edition 22 Figure 1.5 Drawing of the Jacquard Loom

Invitation to Computer Science, Java Version, Third Edition 23 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)

Invitation to Computer Science, Java Version, Third Edition 24 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

Invitation to Computer Science, Java Version, Third Edition 25 The Birth of Computers: 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

Invitation to Computer Science, Java Version, Third Edition 26 Figure 1.6 Photograph of the ENIAC Computer

Invitation to Computer Science, Java Version, Third Edition 27 The Birth of Computers: (continued) 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

Invitation to Computer Science, Java Version, Third Edition 28 The Modern Era: 1950 to the Present First generation of computing ( )  Vacuum tubes used to store data and programs  Each computer was multiple rooms in size  Computers were not very reliable

Invitation to Computer Science, Java Version, Third Edition 29 The Modern Era: 1950 to the Present (continued) Second generation of computing ( )  Transistors and magnetic cores replaced vacuum tubes  Dramatic reduction in size Computer could fit into a single room  Increase in reliability of computers  Reduced cost of computers  High-level programming languages The programmer occupation was born

Invitation to Computer Science, Java Version, Third Edition 30 The Modern Era: 1950 to the Present (continued) Third generation of computing ( )  Integrated circuits rather than individual electronic components were used  Further reduction in size and cost of computers Computers became desk-sized First minicomputer developed  Software industry formed

Invitation to Computer Science, Java Version, Third Edition 31 The Modern Era: 1950 to the Present (continued) Fourth generation of computing ( )  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

Invitation to Computer Science, Java Version, Third Edition 32 Figure 1.7 The Altair 8800, the World’s First Microcomputer

Invitation to Computer Science, Java Version, Third Edition 33 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

Invitation to Computer Science, Java Version, Third Edition 34 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

Invitation to Computer Science, Java Version, Third Edition 35 Figure 1.8 Some of the Major Advancements in Computing

Invitation to Computer Science, Java Version, Third Edition 36 Figure 1.8 Some of the Major Advancements in Computing

Invitation to Computer Science, Java Version, Third Edition 37 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

Invitation to Computer Science, Java Version, Third Edition 38 Organization of the Text (continued) 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

Invitation to Computer Science, Java Version, Third Edition 39 Organization of the Text (continued) Level 4: The Software World  Chapters 8, 9, 10, 11 Level 5: Applications  Chapters 12, 13, 14 Level 6: Social Issues  Chapter 15

Invitation to Computer Science, Java Version, Third Edition 40 Figure 1.9 Organization of the Text into a Six-Layer Hierarchy

Invitation to Computer Science, Java Version, Third Edition 41 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

First Algorithm: Bread-First Search In graph theory, breadth-first search (BFS) is a graph search algorithm. Begins at the root node and explores all the neighboring nodes. Then for each of those nearest nodes, it explores their unexplored neighbor nodes, and so on, until it finds the goal.

Bread-First Search

Applications of BFS Finding all nodes within one connected component Copying Collection, Cheney's algorithmCheney's algorithm Finding the shortest path between two nodes u and vshortest path Testing a graph for bipartitenessbipartiteness (Reverse) Cuthill–McKee mesh numbering (Reverse) Cuthill–McKee Ford–Fulkerson method for computing the maximum flow in a flow network Ford–Fulkerson method maximum flowflow network

The Algorithm We use to learn this class Computer Science Algorithmic Foundation …….. HardwareSoftware …….. Comprehensive components of Algorithm Comprehensive components of Hardware Comprehensive components of Software