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

Slides:



Advertisements
Similar presentations
CS107: Introduction to Computer Science Lecture 2 Jan 29th.
Advertisements

1 CS1000 Introduction to Computer Science Instructor Soufiane Noureddine Lectures Tu/Th: 12:15-13:30 (B650) Office Hours Tu/Th: 11:00-12:00 (C520)
Csci 107 Introduction to Computer Science. Administrativia See class webpage for –Office hours –Grading policy –Syllabus –Lab assignments –Readings.
8 Algorithms Foundations of Computer Science ã Cengage Learning.
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition.
Computer Software & Software Development H&K Chapter 1 Instructor – Gokcen Cilingir Cpt S 121 (June 20, 2011) Washington State University.
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Chapter 2: Algorithm Discovery and Design
CMPUT101 Introduction to Computing(c) Yngvi Bjornsson1 An Introduction to Computer Science Chapter 1 Topics: The Definition of Computer Science Algorithms.
CSci 107 Introduction to Computer Science Lecture 1.
CSCI 3 Introduction to Computer Science. CSCI 3 Course Description: –An overview of the fundamentals of computer science. Topics covered include number.
Chapter 2: Algorithm Discovery and Design
COMS W1004 Introduction to Computer Science May 28, 2008.
Chapter 2 The Algorithmic Foundations of Computer Science
Chapter 1: An Introduction to Computer Science
CS10051 Section 601 Introduction to Computer Science Fall 08 Dr. Angela Guercio Dr. C. David Hunter.
CS – 600 Introduction to Computer Science Prof. Angela Guercio Spring 2008.
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Fourth Edition --slides rearranged by Shannon Steinfadt for.
Chapter 2: Algorithm Discovery and Design
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, Third Edition Several Slides added to by Shannon Steinfadt,
Programming Fundamentals (750113) Ch1. Problem Solving
Chapter 6: An Introduction to System Software and Virtual Machines
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
1 Chapter 1 Basic Computer Concept 國立雲林科技大學 資訊工程研究所 張傳育 (Chuan-Yu Chang ) 博士 Office: EB 212 TEL: ext. 4337
Chapter 1 An Introduction to Computer Science
CPSC 171 Introduction to Computer Science Lecture: MWF 1:15pm-2:35pm, Colton 103 Lab 1: TH 9:40am-11:40am, Colton 106 Lab2: TH 2pm-4pm, Colton 106.
Chapter 1 An Introduction to Computer Science
Chapter 1: An Introduction to Computer Science Invitation to Computer Science, Java Version, Third Edition.
An Introduction to Programming and Object-Oriented Design Using Java By Jaime Niño and Fred Hosch Slides by Darwin Baines and Robert Burton.
计算机科学概述 Introduction to Computer Science 陆嘉恒 中国人民大学 信息学院
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science 6th Edition
Invitation to Computer Science, Java Version, Second Edition.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Fundamentals of Algorithms MCS - 2 Lecture # 1
1 Invitation to Computer Science 6 th Edition Chapter 1 An Introduction to Computer Science.
Introduction to Algorithms. What is Computer Science? Computer Science is the study of computers (??) This leaves aside the theoretical work in CS, which.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
CPSC 171 Introduction to Computer Science Algorithm Discovery and Design.
CPSC 171 Introduction to Computer Science More Algorithm Discovery and Design.
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI CSCI 230 Models of Computation Dale Roberts, Lecturer Computer Science,
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
Capabilities of computing systems Numeric and symbolic Computations A look at Computability theory Turing Machines.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
Invitation to Computer Science 5 th Edition Chapter 2 The Algorithmic Foundations of Computer Science.
Lecture 3: Developing Procedural Thinking (How to think like a programmer) B Burlingame 16 Feb 2016.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
CSIS 104 –Intro. To Computer Science
Algorithm and Ambiguity
Algorithm and Ambiguity
Lecture 2: Introduction to Algorithms
COMS W1004 Introduction to Computer Science and Programming in Java
Foundations of Computer Science
Chapter 8: Introduction to High-Level Language Programming
Lecture 2 Introduction to Computer Science (continued)
CS 1104 INTRODUCTION TO COMPUTER SCIENCE
CSci 107 Introduction to Computer Science
Programming Fundamentals (750113) Ch1. Problem Solving
Computer Science A Level
Algorithm Discovery and Design
Algorithm and Ambiguity
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Presentation transcript:

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

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 2 Objectives In this chapter, you will learn about: The definition of algorithm The definition of computer science Overiew of the course

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 3 What is an Algorithm? 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.

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 4 Example of Algorithm 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, C++ Version, Third Edition - Modified by A. Guercio 5 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 Example: Make Pasta 1. Boil two quarts of water 2. Add ½ lb of pasta in the water 3. Strain the water 4. Add the sauce

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 6 The Formal Definition of an Algorithm (continued) Unambiguous operation  An operation that can be understood and carried out directly by the computing agent without needing to be further simplified or explained  Ex. Boil some water (ambiguous) Boil 2 quarts of water (unambiguous) An operation that is unambiguous is called a primitive operation (or just a primitive)  Q. - What are the primitives of a computer?  A. -

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 7 The Formal Definition of an Algorithm (continued) Effectively computable  Computational process exists that allows computing agent to complete that operation successfully  Note that a given collection of operations may be an algorithm with respect to one computing agent, but not with respect to another computing agent!! Example of not effectively computable operations:  Write all the real numbers between 0 and 1.

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 8 The Formal Definition of an Algorithm (continued) The result of the algorithm must be produced after the execution of a finite number of operations  i.e. Can the user of the algorithm observe a result produced by the algorithm?  A result can be a sign, a sound, an alarm, a number, a message of error, ect…

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 9 The Formal Definition of an Algorithm (continued) It halts in a finite amount of time.  Infinite loop The algorithm has no provisions to terminate A common error in the designing of algorithms Do not confuse, "not finite" with "very, very large".  Q. - Is this loop “finite” or “very, very large”? Step 1. Write the number 1 on the board. Step 2. Add 1 to the number you just wrote and write the result on the board Step 3. Repeat Step 2. Step 4. Stop.

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 10 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, C++ Version, Third Edition - Modified by A. Guercio 11 Which of those is an algorithm? Write all the possible numbers on a paper. Fill 1 cup of sugar. Mix it to 3 cups of milk. Think of a number. Add 20 to it. Either wet your hair or lather your hair. Then rinse your hair. If your hair are dirty, wet your hair; lather your hair; rinse your hair; else go back to study.

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 12 Common misconceptions about Computer Science Misconception 1  Computer science is the study of computers Misconception 2  Computer science is the study of how to write computer programs Misconception 3  Computer science is the study of the uses and applications of computers and software

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 13 The Definition of Computer Science Computer science is the study of algorithms including  1. Their formal and mathematical properties  2. Their hardware realizations  3. Their linguistic realizations  4. Their applications

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio Their formal and mathematical properties It is not enough to design an algorithm to solve a problem. We must worry about some additional properties of an algorithm:  How efficient is it?  What kinds of resources must be used to execute it?  How does it compare to other algorithms that solve the same problem?

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio Their hardware realizations Computing entities are required to execute algorithms  Computing entities are not necessarily machines!  However our interest will lie with algorithms that execute on computing entities called "computers". How are computer constructed?  The emphasis of the course will be on the logical construction of a computer, not the physical construction.

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio Their linguistic realizations Which language do we use to code the algorithms? We will start with one linguistic realization, called pseudocode and later will look at possible different realizations in various programming languages. In particular we will do some introductory programming in C++.

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio Their applications What are some of the many important and popular applications of computers in current use including:  numerical problem solving  information retrieval  graphics  networking  artificial intelligence  telecommunications  modeling and simulation

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 18 Overview of the course 1. The algorithmic foundations of computer science. (Ch 1-3) 2. The hardware world. (Ch 4-5) 3. The virtual machine. (Ch 6-7) 4. The software world. (Ch 8-11) 5. Applications. (Ch 12-14) 6. Social issues. (Ch 15) Note these correspond to the levels of the pyramid on the cover of your text. Each level addresses one aspect of the definition of computer science Computer science/Algorithms

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 19 Figure 1.9 Organization of the Text into a Six-Layer Hierarchy

Invitation to Computer Science, C++ Version, Third Edition - Modified by A. Guercio 20 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

BE SURE TO CHECK THE CLASS WEBSITE DAILY FOR YOUR: Reading assignments Homework assignments Other materials related to this course html