SlideShare uma empresa Scribd logo
1 de 20
Algorithms


             Chapter 10

             What's The Pla
             Algorithmic Thin
Problem Solving
Your roommate, who is taking Information
  Technology II class, is in a panic. He is
  worried that he might lose his financial aid if
  his average goes under 6.0
How can he figure out what his current Average
  is?
How can you build a process that any student
  can use to tell them what average they have
  based on grades provided thus far?
Algorithm Development Objectives
   At the end of this unit the student will:
       define the term algorithm
       state 5 properties of a good algorithm
       from a given problem and stated audience, create
        an appropriate algorithm using the properties
        stated above.
       use the concept of abstraction and top-down
        design in creating an algorithm.
       begin to think about the kinds of problems that
        have a computing solution.
Problem Solving
1.    Understand the problem (and the audience)
     1.   Are you making a pie?
     2.   Needing directions?
     3.   Putting together a piece of equipment?
     4.   Trying to solve a mathematical puzzle?
2.    Devise a plan
     1.   Is this similar to something else?
     2.   Who is the audience for the solution?
     3.   What are the required steps?
Problem Solving ( Cont’d )
3.    Carry out the plan (implement)
     1.   Does it work?
     2.   Is each step correct? Necessary?
3.    Is the solution accurate? (Correct)
     1.   Will it always lead to a solution
Algorithm Definition
   A logical sequence of steps for solving a
    problem, …
            
                From http://Dictionary.msn.com
   Dale and Lewis:
               a plan of solution for a problem
               Algorithm – An unambiguous (and precise) set of steps
                for solving a problem (or sub-problem) in a finite
                amount of time using a finite amount of data.
Algorithm Definition, cont
   Shackelford, Russell L. in Introduction to
    Computing and Algorithms –
       “An algorithm is a specification of a behavioral
        process. It consists of a finite set of instructions
        that govern behavior step-by-step.”
Notice
   Notice the term finite. Algorithms should
    lead to an eventual solution.
   Step by step process. Each step should do
    one logical action.
Algorithms
   Algorithms are addressed to some audience.
    Consider:
       A set of instructions for building a child’s bicycle.
       A diagnostic checklist for a failure of some system on the
        space shuttle.
       The algorithm for what to do when a nuclear reactor
        begins to overheat.
       An algorithm that will run on a computer system to
        calculate student GPA’s.
Audience
   Each audience will have its own “rules” that
    govern how we will address them, the
    language that they speak.
   Each audience will have certain assumptions
    about what they know and don’t know.
   An audience might include people or a
    computer.
Good vs. Bad Algorithms
   All algorithms will have input, perform a
    process, and produce output.
   A good algorithm should be:
       Simple - relative
       Complete – account for all inputs & cases
       Correct (Right)
       should have appropriate levels of Abstraction. –
        grouping steps into a single module
       Precise
       Mnemonic - SCRAP
Precision
   Precision means that there is only one way to
    interpret the instruction. Unambiguous
   Words like “maybe”, “sometimes” and
    “occasionally” have no business in a well developed
    algorithm.
   Instead of “maybe”, we can specify the exact
    circumstances in which an action will be carried out.
Simplicity
   Simple can be defined as having no
    unnecessary steps and no unnecessary
    complexity. (You may lose points if your
    algorithm contains unnecessary steps)
   Each step of a well developed algorithm
    should carry out one logical step of the
    process.
       Avoid something like: “Take 2nd right after you
        exit at King Street”
It has Levels of Abstraction.
   From the Oxford English Dictionary,
    abstraction is defined as:
       “The act or process of separating in thought, of
        considering a thing independently of its
        associations; or a substance independently of its
        attributes; or an attribute or quality independently
        of the substance to which it belongs.”
       Example: Add all the scores then divide the sum
        by the number of students to get the average.
Or in other words
   The abstraction property lets us view an
    algorithm as a series of high level aggregate
    steps, with the detail hidden in a lower level.
Abstraction, cont.
   Instead of approaching a problem and worrying
    about each and every thing you must do to solve the
    problem, you can begin to look at the major steps.
    (Top down design)
   After the major steps, you can begin to fill in how
    you would accomplish the major step.
   That fill in may lead to the need for additional levels
    to fill in those details, etc.
   Top down design.
Diagrammatically
                       Get directions          Turn left out of your
 Drive the car to




                                                     driveway
                       Start the car
                                            At the next light, turn right.
     school




                    Follow the directions
                                             At the intersection with I-
                     Get parking pass        66, take the on-ramp for
                                                     I-66 West
                        Drive to the
                        destination                     …
Level 1             Find a place to park             Level 3

                        Stop the car
                          Level 2
Other algorithm attributes
   A good algorithm should be correct.
   A good algorithm should be complete.
   Shackelford again, “To be correct, an
    algorithm must produce results that are
    correct and complete given any and all sets
    of appropriate data.”
   And to be correct, an algorithm must proceed
    through to a conclusion.
Steps from Schaum’s
   Analyze the problem and develop the specification.
   Design the solution
       Test the solution as part of the design steps.
   Implement the program (code the program)
   Test the program
   Validate the program (further extensive testing) to
    insure it works under all circumstances.
For example:
   For example, a student is taking 4 classes:
       Spanish – 4 credits – 6
       English – 1 credit – 9
       Computer Science – 3 credits – 86
       P.E. – 3 credits – 5
   What is the student’s semester average?
   How did you figure it out?
   How can you describe that process for others in the
    class?

Mais conteúdo relacionado

Mais procurados

Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
Aakash deep Singhal
 

Mais procurados (20)

Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
 
Analysis and Design of Algorithms
Analysis and Design of AlgorithmsAnalysis and Design of Algorithms
Analysis and Design of Algorithms
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
Introduction to Algorithms Complexity Analysis
Introduction to Algorithms Complexity Analysis Introduction to Algorithms Complexity Analysis
Introduction to Algorithms Complexity Analysis
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic Notations
 
ANALYSIS-AND-DESIGN-OF-ALGORITHM.ppt
ANALYSIS-AND-DESIGN-OF-ALGORITHM.pptANALYSIS-AND-DESIGN-OF-ALGORITHM.ppt
ANALYSIS-AND-DESIGN-OF-ALGORITHM.ppt
 
Algorithm And analysis Lecture 03& 04-time complexity.
 Algorithm And analysis Lecture 03& 04-time complexity. Algorithm And analysis Lecture 03& 04-time complexity.
Algorithm And analysis Lecture 03& 04-time complexity.
 
5. phases of nlp
5. phases of nlp5. phases of nlp
5. phases of nlp
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
 
Lecture 2 role of algorithms in computing
Lecture 2   role of algorithms in computingLecture 2   role of algorithms in computing
Lecture 2 role of algorithms in computing
 
Algorithm Introduction
Algorithm IntroductionAlgorithm Introduction
Algorithm Introduction
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
 
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
 
Algorithm - Introduction
Algorithm - IntroductionAlgorithm - Introduction
Algorithm - Introduction
 
State space search
State space searchState space search
State space search
 
Greedy algorithm
Greedy algorithmGreedy algorithm
Greedy algorithm
 
Design and analysis of algorithms
Design and analysis of algorithmsDesign and analysis of algorithms
Design and analysis of algorithms
 
Specification and complexity - algorithm
Specification and complexity - algorithmSpecification and complexity - algorithm
Specification and complexity - algorithm
 
Algorithmic problem solving
Algorithmic problem solvingAlgorithmic problem solving
Algorithmic problem solving
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of Algorithms
 

Semelhante a 03 algorithm properties

Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sit
Saurabh846965
 
Algorithm & data structures lec1
Algorithm & data structures lec1Algorithm & data structures lec1
Algorithm & data structures lec1
Abdul Khan
 
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdfAlgorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Hoomale
 

Semelhante a 03 algorithm properties (20)

QULITIES OF A GOOD ALGORITHM
QULITIES OF A GOOD ALGORITHMQULITIES OF A GOOD ALGORITHM
QULITIES OF A GOOD ALGORITHM
 
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptx
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptxChallenges-and-Consideration-in-Programming-Logic-and-Design...pptx
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptx
 
Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sit
 
CC-112-Lec.1.ppsx
CC-112-Lec.1.ppsxCC-112-Lec.1.ppsx
CC-112-Lec.1.ppsx
 
138755986 problem-solving-methods-ppt
138755986 problem-solving-methods-ppt138755986 problem-solving-methods-ppt
138755986 problem-solving-methods-ppt
 
Lesson 3
Lesson 3Lesson 3
Lesson 3
 
Algorithm & data structures lec1
Algorithm & data structures lec1Algorithm & data structures lec1
Algorithm & data structures lec1
 
Types of Algorithms.ppt
Types of Algorithms.pptTypes of Algorithms.ppt
Types of Algorithms.ppt
 
Algorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo codeAlgorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo code
 
algorithm design.pptx
algorithm design.pptxalgorithm design.pptx
algorithm design.pptx
 
Ev681 computing 1
Ev681   computing 1Ev681   computing 1
Ev681 computing 1
 
Algorithm itabq
Algorithm itabqAlgorithm itabq
Algorithm itabq
 
Algorithms notes 2 tutorials duniya
Algorithms notes 2   tutorials duniyaAlgorithms notes 2   tutorials duniya
Algorithms notes 2 tutorials duniya
 
Problem solving
Problem solvingProblem solving
Problem solving
 
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdfAlgorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
 
PCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptxPCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptx
 
UNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.pptUNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.ppt
 
UNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.pptUNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.ppt
 
Introduction to Design Algorithm And Analysis.ppt
Introduction to Design Algorithm And Analysis.pptIntroduction to Design Algorithm And Analysis.ppt
Introduction to Design Algorithm And Analysis.ppt
 
Approaches to teaching primary computing
Approaches to teaching primary computingApproaches to teaching primary computing
Approaches to teaching primary computing
 

Mais de Lincoln School

Tema 1 introducción a la computadora
Tema 1   introducción a la computadoraTema 1   introducción a la computadora
Tema 1 introducción a la computadora
Lincoln School
 
Historia de los lenguajes de programación
Historia de los lenguajes de programaciónHistoria de los lenguajes de programación
Historia de los lenguajes de programación
Lincoln School
 
Extendiendo el Lenguaje
Extendiendo el LenguajeExtendiendo el Lenguaje
Extendiendo el Lenguaje
Lincoln School
 
Instrucciones Básicas
Instrucciones BásicasInstrucciones Básicas
Instrucciones Básicas
Lincoln School
 
Algorithms and flowcharts1
Algorithms and flowcharts1Algorithms and flowcharts1
Algorithms and flowcharts1
Lincoln School
 

Mais de Lincoln School (17)

Introduccionalasbasesdedatos
IntroduccionalasbasesdedatosIntroduccionalasbasesdedatos
Introduccionalasbasesdedatos
 
Creando diagramas de flujo con dfd
Creando diagramas de flujo con dfdCreando diagramas de flujo con dfd
Creando diagramas de flujo con dfd
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Tema 3 metodología para la solución de problemas
Tema 3  metodología para la solución de problemasTema 3  metodología para la solución de problemas
Tema 3 metodología para la solución de problemas
 
Tema 1 introducción a la computadora
Tema 1   introducción a la computadoraTema 1   introducción a la computadora
Tema 1 introducción a la computadora
 
Historia de los lenguajes de programación
Historia de los lenguajes de programaciónHistoria de los lenguajes de programación
Historia de los lenguajes de programación
 
While karel
While karelWhile karel
While karel
 
Html
HtmlHtml
Html
 
Ciclos y Condicionales - Iterate
Ciclos y Condicionales - IterateCiclos y Condicionales - Iterate
Ciclos y Condicionales - Iterate
 
Ciclos y Condicionales
Ciclos y CondicionalesCiclos y Condicionales
Ciclos y Condicionales
 
Extendiendo el Lenguaje
Extendiendo el LenguajeExtendiendo el Lenguaje
Extendiendo el Lenguaje
 
Instrucciones Básicas
Instrucciones BásicasInstrucciones Básicas
Instrucciones Básicas
 
Programación 2
Programación 2Programación 2
Programación 2
 
Programación 2 - karel1
Programación 2 - karel1Programación 2 - karel1
Programación 2 - karel1
 
Algorithms and flowcharts1
Algorithms and flowcharts1Algorithms and flowcharts1
Algorithms and flowcharts1
 
Collaborative work with google docs
Collaborative work with google docsCollaborative work with google docs
Collaborative work with google docs
 
Movie maker
Movie makerMovie maker
Movie maker
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

03 algorithm properties

  • 1. Algorithms Chapter 10 What's The Pla Algorithmic Thin
  • 2. Problem Solving Your roommate, who is taking Information Technology II class, is in a panic. He is worried that he might lose his financial aid if his average goes under 6.0 How can he figure out what his current Average is? How can you build a process that any student can use to tell them what average they have based on grades provided thus far?
  • 3. Algorithm Development Objectives  At the end of this unit the student will:  define the term algorithm  state 5 properties of a good algorithm  from a given problem and stated audience, create an appropriate algorithm using the properties stated above.  use the concept of abstraction and top-down design in creating an algorithm.  begin to think about the kinds of problems that have a computing solution.
  • 4. Problem Solving 1. Understand the problem (and the audience) 1. Are you making a pie? 2. Needing directions? 3. Putting together a piece of equipment? 4. Trying to solve a mathematical puzzle? 2. Devise a plan 1. Is this similar to something else? 2. Who is the audience for the solution? 3. What are the required steps?
  • 5. Problem Solving ( Cont’d ) 3. Carry out the plan (implement) 1. Does it work? 2. Is each step correct? Necessary? 3. Is the solution accurate? (Correct) 1. Will it always lead to a solution
  • 6. Algorithm Definition  A logical sequence of steps for solving a problem, …  From http://Dictionary.msn.com  Dale and Lewis:  a plan of solution for a problem  Algorithm – An unambiguous (and precise) set of steps for solving a problem (or sub-problem) in a finite amount of time using a finite amount of data.
  • 7. Algorithm Definition, cont  Shackelford, Russell L. in Introduction to Computing and Algorithms –  “An algorithm is a specification of a behavioral process. It consists of a finite set of instructions that govern behavior step-by-step.”
  • 8. Notice  Notice the term finite. Algorithms should lead to an eventual solution.  Step by step process. Each step should do one logical action.
  • 9. Algorithms  Algorithms are addressed to some audience. Consider:  A set of instructions for building a child’s bicycle.  A diagnostic checklist for a failure of some system on the space shuttle.  The algorithm for what to do when a nuclear reactor begins to overheat.  An algorithm that will run on a computer system to calculate student GPA’s.
  • 10. Audience  Each audience will have its own “rules” that govern how we will address them, the language that they speak.  Each audience will have certain assumptions about what they know and don’t know.  An audience might include people or a computer.
  • 11. Good vs. Bad Algorithms  All algorithms will have input, perform a process, and produce output.  A good algorithm should be:  Simple - relative  Complete – account for all inputs & cases  Correct (Right)  should have appropriate levels of Abstraction. – grouping steps into a single module  Precise  Mnemonic - SCRAP
  • 12. Precision  Precision means that there is only one way to interpret the instruction. Unambiguous  Words like “maybe”, “sometimes” and “occasionally” have no business in a well developed algorithm.  Instead of “maybe”, we can specify the exact circumstances in which an action will be carried out.
  • 13. Simplicity  Simple can be defined as having no unnecessary steps and no unnecessary complexity. (You may lose points if your algorithm contains unnecessary steps)  Each step of a well developed algorithm should carry out one logical step of the process.  Avoid something like: “Take 2nd right after you exit at King Street”
  • 14. It has Levels of Abstraction.  From the Oxford English Dictionary, abstraction is defined as:  “The act or process of separating in thought, of considering a thing independently of its associations; or a substance independently of its attributes; or an attribute or quality independently of the substance to which it belongs.”  Example: Add all the scores then divide the sum by the number of students to get the average.
  • 15. Or in other words  The abstraction property lets us view an algorithm as a series of high level aggregate steps, with the detail hidden in a lower level.
  • 16. Abstraction, cont.  Instead of approaching a problem and worrying about each and every thing you must do to solve the problem, you can begin to look at the major steps. (Top down design)  After the major steps, you can begin to fill in how you would accomplish the major step.  That fill in may lead to the need for additional levels to fill in those details, etc.  Top down design.
  • 17. Diagrammatically Get directions Turn left out of your Drive the car to driveway Start the car At the next light, turn right. school Follow the directions At the intersection with I- Get parking pass 66, take the on-ramp for I-66 West Drive to the destination … Level 1 Find a place to park Level 3 Stop the car Level 2
  • 18. Other algorithm attributes  A good algorithm should be correct.  A good algorithm should be complete.  Shackelford again, “To be correct, an algorithm must produce results that are correct and complete given any and all sets of appropriate data.”  And to be correct, an algorithm must proceed through to a conclusion.
  • 19. Steps from Schaum’s  Analyze the problem and develop the specification.  Design the solution  Test the solution as part of the design steps.  Implement the program (code the program)  Test the program  Validate the program (further extensive testing) to insure it works under all circumstances.
  • 20. For example:  For example, a student is taking 4 classes:  Spanish – 4 credits – 6  English – 1 credit – 9  Computer Science – 3 credits – 86  P.E. – 3 credits – 5  What is the student’s semester average?  How did you figure it out?  How can you describe that process for others in the class?