Algorithms and Problem Solving-1 Algorithms and Problem Solving Mainly based on Chapter 6: “Problem Solving and Algorithm Design” from the Book: “Computer.

Slides:



Advertisements
Similar presentations
College of Information Technology & Design
Advertisements

Problem Solving and Algorithm Design
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Introduction to Functional Decomposition Intro to Computer Science CS 1510 Dr. Sarah Diesburg.
1 Algorithms Algorithm A set of unambiguous instructions for solving a problem or subproblem in a finite amount of time using a finite amount of data Why.
Slides modified by Erin Chambers Problem Solving and Algorithm Design.
Chapter 7 Problem Solving and Algorithms. 2 Chapter Goals Describe the computer problem-solving process and relate it to Polya’s How to Solve It list.
6-1 Chapter Goals Determine whether a problem is suitable for a computer solution Describe the computer problem-solving process and relate it to Polya’s.
Problem Solving and Algorithm Design
Chapter 6 Problem Solving and Algorithm Design. 2 Chapter Goals Determine whether a problem is suitable for a computer solution Describe the computer.
Problem Solving and Algorithms
Chapter 6 Problem Solving and Algorithm Design. 6-2 Chapter Goals Determine whether a problem is suitable for a computer solution Describe the computer.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Algorithms and Problem Solving-1 Algorithms and Problem Solving Mainly based on Chapter 6: “Problem Solving and Algorithm Design” from the Book: “Computer.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Chapter 6 Problem Solving and Algorithm Design Nell Dale John Lewis.
6-1 Problem Solving Problem solving is the act of finding a solution to a perplexing, distressing, vexing, or unsettled question.
Chapter 1 Program Design
Lecture Notes 8/30/05 Program Design & Intro to Algorithms.
Problem Solving and Algorithm Design
The Art of Programming Top-Down Design. The Art of Problem Solving The art of problem solving is the transformation of an English description of a problem.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Chapter 9 High-Level Programming Languages: C++. Chapter Goals Describe the expectations of high level languages Distinguish between functional design.
CPS 120: Introduction to Computer Science
Simple Program Design Third Edition A Step-by-Step Approach
Problem Solving and Algorithms
Computer Programming TCP1224 Chapter 2 Beginning the Problem-Solving Process.
Invitation to Computer Science, Java Version, Second Edition.
Problem Solving and Algorithm Design. 2 Problem Solving Problem solving The act of finding a solution to a perplexing, distressing, vexing, or unsettled.
Chapters 7, 8, & 9 Quiz 3 Review 1. 2 Algorithms Algorithm A set of unambiguous instructions for solving a problem or subproblem in a finite amount of.
CS 1308 Computer Literacy and The Internet Software.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Flowcharts.
1 C++ Plus Data Structures Nell Dale Chapter 1 Software Engineering Principles Modified from the Slides made by Sylvia Sorkin, Community College of Baltimore.
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.
Chapter 6 Problem Solving and Algorithm Design Nell Dale John Lewis.
Chapter 6 Problem Solving and Algorithm Design. 2 Problem Solving Problem solving The act of finding a solution to a perplexing, distressing, vexing,
Problem Solving using the Science of Computing MSE 2400 EaLiCaRA Spring 2015 Dr. Tom Way.
Top-Down Design and Modular Development. The process of developing methods for objects is mostly a process of developing algorithms; each method is an.
Chapter 6 Problem Solving and Algorithm Design. 2 Chapter Goals Apply top-down design methodology to develop an algorithm to solve a problem Define the.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Lecture 13: 10/10/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
CS221 Algorithm Basics. What is an algorithm? An algorithm is a list of instructions that transform input information into a desired output. Each instruction.
2. Program Development Intro Programming in C++ Computer Science Dept Va Tech August 2001 ©2001 Barnette ND & McQuain WD 1 Top-Down Design:A solution method.
Data Structures Using C++ 2E
Software Engineering CS103 February 13, How Do You Solve Big Problems? Thousands of programmers Thousands of programmers Months or years of coding.
A little hardware; a little software CS 139 – 08/29/07.
1 Chapter 1 Programming Languages Evolution of Programming Languages To run a Java program: Java instructions need to be translated into an intermediate.
Chapter 6 Problem Solving and Algorithm Design. 2 Chapter Goals Determine whether a problem is suitable for a computer solution Describe the computer.
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.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Chapter 2 Principles of Programming and Software Engineering.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Problem Solving.  Similar to Solving Math Word Problem  Read the Problem  Decide how to go about Solving the Problem  Solve the Problem  Test the.
| MSC 8102:PROGRAMMING CONCEPTS By Vincent Omwenga, PhD. 1.
Low-Level Programming Languages, Pseudocode and Testing Chapter 6.
Algorithms Sept 4, Tuesday’s Lab You developed an algorithm Input – an 8 ½ x 11 inch piece of paper Audience – Fellow classmates Process – Instructions.
Problem Solving and Algorithms
Computational Thinking
Problem Solving and Algorithm Design
Problem Solving and Algorithm Design
The Programming Process
Programming We have seen various examples of programming languages
The PlayStation Example
Presentation transcript:

Algorithms and Problem Solving-1 Algorithms and Problem Solving Mainly based on Chapter 6: “Problem Solving and Algorithm Design” from the Book: “Computer Science Illuminated” by Nell Dale and John Lewis.

Algorithms and Problem Solving-2 Objectives Determine whether a problem is suitable for a computer solution Describe the computer problem-solving process and relate it to Polya’s How to Solve It list Distinguish between following an algorithm and developing one Apply top-down design methodology to develop an algorithm to solve a problem Apply the object-oriented design methodology to develop a collection of interacting objects to solve a problem

Algorithms and Problem Solving-3 Problem Solving Problem solving is the act of finding a solution to a perplexing, distressing, vexing, or unsettled question

Algorithms and Problem Solving-4 Problem Solving G. Polya wrote How to Solve It: A New Aspect of Mathematical Method His How to Solve It list is quite general –Written in the context of solving mathematical problems –The list becomes applicable to all types of problems

Algorithms and Problem Solving-5 Problem Solving and Algorithms Ask questions to understand the problem Look for familiar things Divide and conquer Test your solution

Algorithms and Problem Solving-6 Ask Questions... …to understand the problem –What do I know about the problem? –What is the information that I have to process in order the find the solution? –What does the solution look like? –What sort of special cases exist? –How will I recognize that I have found the solution?

Algorithms and Problem Solving-7 Look for Familiar Things You should never reinvent the wheel In computing, you see certain problems again and again in different guises A good programmer sees a task, or perhaps part of a task (a subtask), that has been solved before and plugs in the solution

Algorithms and Problem Solving-8 Divide and Conquer Break up a large problem into smaller units that we can handle –Applies the concept of abstraction –The divide-and-conquer approach can be applied over and over again until each subtask is manageable

Algorithms and Problem Solving-9 Algorithms An algorithm is defined as a finite set of steps, each of which may require one or more operations and if carried out on a set of inputs, will produce one or more outputs after a finite amount of time.

Algorithms and Problem Solving-10 The Computer Problem-Solving Process

Algorithms and Problem Solving-11 Pseudocode Uses a mixture of English and formatting to make the steps in the solution explicit

Algorithms and Problem Solving-12 Following an Algorithm Preparing a Hollandaise sauce

Algorithms and Problem Solving-13 Following an Algorithm (cont.) Preparing a Hollandaise sauce Page 150

Algorithms and Problem Solving-14 Developing an Algorithm The plan must be suitable in a suitable form Two methodologies that are currently in use: –Top-down design –Object-oriented design

Algorithms and Problem Solving-15 Top-Down Design Breaking the problem into a set of subproblems called modules Creating a hierarchical structure of problems and subproblems

Algorithms and Problem Solving-16 Top-Down Design This process continues for as many levels as it takes to expand every task to the smallest details A step that needs to be expanded is an abstract step Figure 6.5 An example of top-down design

Algorithms and Problem Solving-17 A General Example Planning a large party