Jeroo Chapter 3 Problem Solving and Algorithms. Problem Solving and Algorithms  The story of Aunt Kay  A computer is a tool used to solve problems 

Slides:



Advertisements
Similar presentations
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Advertisements

1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Offer and Acceptance.  Offer and Acceptance- Both sides agree on mutual terms  Genuine Assent- Entering under your own free will (Not being forced)
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Inferences The Reasoning Power of Expert Systems.
Best-First Search: Agendas
Computer Related Issues IC3 Chapter 5 Computer Fundamentals.
Project Plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Chapter 2: Algorithm Discovery and Design
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 10 Managing a Database.
©Brooks/Cole, 2003 Chapter 8 Algorithms. ©Brooks/Cole, 2003 The Origins of “Algorithm”
Chapter 2: Algorithm Discovery and Design
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 1.Gain agreement on the problem definition. 2.Understand the root causes 3.Identify the.
The Origins of “Algorithm”. The Origins of the Term “Algorithm”
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
Chapter 2: Algorithm Discovery and Design
Introduction The graph of an equation in x and y is the set of all points (x, y) in a coordinate plane that satisfy the equation. Some equations have graphs.
CHAPTER 10 Recursion. 2 Recursive Thinking Recursion is a programming technique in which a method can call itself to solve a problem A recursive definition.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski.
Pricing for new product introductions View as slide show Adapted from AdPrin.com.
The chapter will address the following questions:
EXAMPLE 1 Write an equation of a circle Write the equation of the circle shown. The radius is 3 and the center is at the origin. x 2 + y 2 = r 2 x 2 +
NITAAC Customer Support Phone: Website: NITAAC.nih.gov Customer Guide for using the electronic Government.
Thanks to: Dr. John S. Mallozzi Department of Computer Science 1. Introduction 2. Overview of programming in Python.
 Utility ◦ Utility defined ◦ Form Utility ◦ Information Utility ◦ Place Utility ◦ Time Utility ◦ Possession Utility.
Bell Ringer  List some reasons why you think that some new businesses have almost immediate success while others fail miserably. The main idea: Successful.
Programming and Application Packages
Planning for the Solution
An Example in the Design and Analysis of an Algorithm Demonstrates: -- Recurrence Relations -- Design Techniques -- The fact that analysis provide useful.
Discussion on Modeling Solar System Where/When did you start at? 1.Mentally imagined the “abstract” form of the solar system High level picture of some.
Distributed Protein Structure Analysis By Jeremy S. Brown Travis E. Brown.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science, Java Version, Second Edition.
CHAPTER 1: INTRODUCTION TO COMPUTER SCIENCE Introduction to Computer Science Using Ruby (c) 2012 Ophir Frieder et al.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Section 28.1 Marketing Information Chapter 28 marketing research Section 28.2 Issues in Marketing Research.
© 2001 Business & Information Systems 2/e1 Chapter 8 Personal Productivity and Problem Solving.
Lead Black Slide Powered by DeSiaMore1. 2 Chapter 8 Personal Productivity and Problem Solving.
STRATEGIC CAPABILITY By: Vedika Saraf Swagata Giri Yukti Agarwal Vikram Pesswani Vivek Sood Srishti Seth Sumalya.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Market Research. What Is Market Research? Involves the process and methods used to gather information, analyze it, and report findings related to marketing.
Software Design Patterns Curtsy: Fahad Hassan (TxLabs)
Top Down Design Brent M. Dingle Texas A&M University Chapter 4 – Section 1 (and some from Mastering Turbo Pascal 5.5, 3 rd Edition by Tom Swan)
Solving Quadratic Equations – Quadratic Formula The following shows how to solve quadratic equations using the Quadratic Formula. A quadratic equation.
Integration Copyright © Cengage Learning. All rights reserved.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
Problem, Problem Solving, Algorithm & Flow Charts –Part 1 Presented By Manesh T Course:101 CS 101CS Manesh T1.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
EXAMPLE 1 Write an equation of a circle Write the equation of the circle shown. SOLUTION The radius is 3 and the center is at the origin. x 2 + y 2 = r.
11-Jun-16 Algorithms 2.2. Overview In this presentation we will discuss: What is an algorithm? 5 steps in developing an algorithm A Jeroo example.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Advanced Higher Computing Science
An informal, team oriented, OO design system
Copyright © Cengage Learning. All rights reserved.
Copyright © Cengage Learning. All rights reserved.
Software Development Expansion of topics page 28 in Zelle
2.2 Algorithms 21-Jul-18.
Chapter 5.2 Sequences.
Chapter 0 : Introduction to Object Oriented Design
Open on the student drive
ME 142 Engineering Computation I
Systems Development Jerry Post Copyright © 1997
Antiderivatives and Indefinite Integration
2.2 Algorithms 26-Jun-19.
Dr. Arslan Ornek MATHEMATICAL MODELS
Presentation transcript:

Jeroo Chapter 3 Problem Solving and Algorithms

Problem Solving and Algorithms  The story of Aunt Kay  A computer is a tool used to solve problems  A computer program is a set of instructions.  An algorithm is a plan for solving a problem.  A person must design an algorithm.  A person must translate an algorithm into a computer program.

An Algorithm Development Process  The development of the algorithm is the key step.  Step 1: Obtain a description of the problem  Step 2: Analyze the problem  Step 3: Develop a high-level algorithm  Step 4: Refine algorithm by adding detail  Step 5: Review the algorithm

Obtain a Description of the Problem  The “client” is responsible for creating a description of the problem for the “developer”  Common Problem Description Defects:  The description relies on unstated assumptions  The description is ambiguous  The description is incomplete  The description has internal contradictions  Part of developer’s responsibility is to identify defects in the description and work to fix them

Analyze the problem  Determine starting and ending points for solving the problem.  Starting Point:  What data are available?  Where is the data?  What formulas pertain to the problem?  What rules exist for working with the data?  What relationships exist among the data values?

Analyze the problem  When determining ending point, describe the characteristics of a solution.  How will we know when we are done?  What new facts will we have?  What items will have changed?  What changes will have been made to those items?  What things will no longer exist?

Develop a high level algorithm  Add detail later….  Problem: I need to send a birthday card to my brother, Mark.  Analysis: I don’t have a card. I prefer to buy a card rather than make one.  High Level Algorithm:  Go to store that sells greeting cards  Select a card  Purchase a card  Mail the card

Develop a high level algorithm  How much detail do we add?  Who is going to implement the algorithm and how much they already know.  If the goal is to develop an algorithm that leads to a computer program, consider:  Capabilities of the computer  Provide enough detail so someone else can write a program  Better to have more detail if you are in doubt.

Review the algorithm  Will it solve original problem?  Once satisfied:  Specific or general problem?  Ex. Algorithm that computes the area of a circle with a radius of 5.2 meters = specific  Algorithm that computes the area of any circle = general  Can the algorithm be simplified?  Is solution similar to the solution of another problem?

5 Step Algorithm Creation Process  Step 1: Obtain a description of the problem  Step 2: Analyze the problem  Step 3: Develop a high-level algorithm  Step 4: Refine algorithm by adding detail  Step 5: Review the algorithm