What's The Plan? Algorithmic Thinking Step-by-step directions for whatever someone, or the computer, needs to do © 2004 Lawrence Snyder.

Slides:



Advertisements
Similar presentations
Chapter 11: Models of Computation
Advertisements

College of Information Technology & Design
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Algorithmic Thinking What’s the Plan? lawrence snyder c h a p t e r 10.
Chapter 2: Problem Solving
Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the five essential properties of an algorithm.
Chapter 10 Algorithmic Thinking. Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Learning Objectives List the five essential.
Chapter 10 What's The Plan?: Algorithmic Thinking.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Introduction to Computers CS Dr. Zhizhang Shen Chapter 10: How to.
CSE115/ENGR160 Discrete Mathematics 02/24/11 Ming-Hsuan Yang UC Merced 1.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
School of Computing Science CMT1000 © Ed Currie Middlesex University 1 CMT1000: Introduction to Programming Ed Currie Lecture 1B: Problem Solving.
Lecture Notes 8/30/05 Program Design & Intro to Algorithms.
Design and Analysis of Algorithms
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
6 Steps of the Programming Process
An ordered sequence of unambiguous and well-defined instructions that performs some task and halts in finite time Let's examine the four parts of this.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Problem Solving Methods. CSCE 1062 Outline Problem Solving Methods Problem solving steps The analytical method The algorithmic method The software engineering.
Introduction to problem solving. Introductory Discussion? What problems are you faced with daily? Do you think a computer can be designed to solve those.
Some quotes…. I really hate this damned machine I wish that they would sell it. It never does quite what I want But only what I tell it. ~Anon These machines.
Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving.
The Development Process Problem Solving. Problem Solving - Dr. Struble 2 What Is Asked of Computer Programmers? Input Transformation Output Write a computer.
Algorithms CS139 – Aug 30, Problem Solving Your roommate, who is taking CS139, is in a panic. He is worried that he might lose his financial aid.
Lecture 6 Problem Solving: Algorithm Design & Analysis.
Algorithms Algorithms are a familiar idea. Our goal is to learn to specify them right so someone or something else does the work.
1 Section 2.1 Algorithms. 2 Algorithm A finite set of precise instructions for performing a computation or for solving a problem.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
CS221 Algorithm Basics. What is an algorithm? An algorithm is a list of instructions that transform input information into a desired output. Each instruction.
Program Design. The design process How do you go about writing a program? –It’s like many other things in life Understand the problem to be solved Develop.
CS139 – Algorithm Development Aug 23, 2004 WELCOME!
ALGORITHMS.
Chapter 10 Algorithmic Thinking. Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the.
Algorithms CS280 – 10/20/05. Announcement  Part 1 of project 2 due.  Read chapters 10, 7 for this unit  Tuesday we will also be in the classroom We.
Flowcharts C++ Lab. Algorithm An informal definition of an algorithm is: a step-by-step method for solving a problem or doing a task. Input data A step-by-step.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
| MSC 8102:PROGRAMMING CONCEPTS By Vincent Omwenga, PhD. 1.
Algorithms Sept 4, Tuesday’s Lab You developed an algorithm Input – an 8 ½ x 11 inch piece of paper Audience – Fellow classmates Process – Instructions.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
CMSC 104, Version 8/061L05Algorithms2.ppt Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode Control Structures Reading Section 3.1.
ICS 3UI - Introduction to Computer Science
Algorithms and Problem Solving
Topic: Introduction to Computing Science and Programming + Algorithm
Topic: Introduction to Computing Science and Programming + Algorithm
C++ Plus Data Structures
Algorithm and Ambiguity
CSE322 Recursive and Recursively enumerable sets
Introduction to Computer Programming
Algorithm and Ambiguity
Understand the Programming Process
COMS W1004 Introduction to Computer Science and Programming in Java
Unit# 9: Computer Program Development
Algorithms September 28, 2017.
Introduction to Algorithms
CSCI 1250 Information Technologies
Understand the Programming Process
Algorithm and Ambiguity
Chapter 10: Algorithm TECH Prof. Jeff Cheng.
Algorithms and Problem Solving
What's The Plan?: Algorithmic Thinking
Click to add Text Computers & Instructions. Computers are given instructions in the form of computer programs that are created through the development.
Basic Concepts of Algorithm
What's The Plan?: Algorithmic Thinking
What's The Plan?: Algorithmic Thinking
Presentation transcript:

What's The Plan? Algorithmic Thinking Step-by-step directions for whatever someone, or the computer, needs to do © 2004 Lawrence Snyder

Let’s Get Thinking. Activity: The Impossible Question  In groups you will write out the instructions for how to create a paper airplane. After you finish your instructions you will test them with another group. You will turn in: Instructions: Role Documentation: Test Results. –FOUR ROLES »QUESTIONER: Write down all questions asked or problems posed »ASSUMER: Write down all assumptions made. »DOCUMENTER: Write down the algorithm. »RESEARCHER: Gather information for your group Test Result Reflection: –Were all members of the group able to follow your instructions –Did you have any unexpected results

Instructions on how to build a paper airplane

Review: Paper Airplane Activity: Paper Airplane How did the paper airplane activity go? What did you learn? Are specific instructions easy to give? Did you re-write your algorithm between user tests?

Algorithm A precise, systematic method for producing a specified result In real life we do this all the time: What is a task that you complete daily where you do the same each time? 10-5

Five Essential Properties of Algorithms 1.Input specified  Data to be transformed during the computation to produce the output  Must specify type, amount, and form of data 2.Output specified  Data resulting from the computation— intended result  It is possible to have no output 10-10

Five Essential Properties (cont'd) ‏ 3.Definiteness  Specify the sequence of events  Details of each step, including how to handle errors 4.Effectiveness  The operations are doable 5.Finiteness  Must eventually stop 10-11

Let’s Get Thinking Activity: Creating a plan  In groups of 4 you will get an algorithmic task. Some of these tasks were used as interview questions. We are concerned with the process you follow to arrive at your solution. –FOUR ROLES »QUESTIONER: Write down all questions asked or problems posed »ASSUMER: Write down all assumptions made. »DOCUMENTER: Write down the algorithm. »RESEARCHER: Gather information for your group

An Example: Directions What is an algorithm for getting to the closest McDonald’s?  Input?  Output?  Definiteness?  Effectiveness?  Finiteness?

WEATHER WHETHER

Context Matters Program can fulfil five properties of an algorithm, be unambiguous, and still not work right because it is executed in the wrong context  e.g., last name in Western countries means family name; in Asian countries it may mean given name Context matters: Driving instructions  "From the Bothel Everett Highway go to Starbucks and turn right."  Assumes you are traveling in a specific direction. If you are not, the directions will fail

Language in Algorithms Natural language  For people, we use a natural language like English  Ambiguity is common in natural language Programming Language  Formal languages designed to express algorithms  Precisely defined; no ambiguity 10-17

Driving vs. Driverless yDVLUiJfpPwhttp:// yDVLUiJfpPw

Program vs. Algorithm A program is an algorithm that has been customized to  solve a specific task under a specific set of circumstances –using a specific language Algorithm is a general method; program is a specific method 10-19