SlideShare a Scribd company logo
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?
Ad

More Related Content

What's hot (20)

Big o notation
Big o notationBig o notation
Big o notation
hamza mushtaq
 
Algorithmic problem solving
Algorithmic problem solvingAlgorithmic problem solving
Algorithmic problem solving
Prabhakaran V M
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
Abhimanyu Mishra
 
Algorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph AlgorithmsAlgorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph Algorithms
Mohamed Loey
 
UNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.pptUNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.ppt
racha49
 
Greedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack ProblemGreedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack Problem
Madhu Bala
 
Lecture 3 insertion sort and complexity analysis
Lecture 3   insertion sort and complexity analysisLecture 3   insertion sort and complexity analysis
Lecture 3 insertion sort and complexity analysis
jayavignesh86
 
Time and Space Complexity
Time and Space ComplexityTime and Space Complexity
Time and Space Complexity
Ashutosh Satapathy
 
Searching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data StructureSearching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data Structure
Balwant Gorad
 
04 brute force
04 brute force04 brute force
04 brute force
Hira Gul
 
Algorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to AlgorithmsAlgorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to Algorithms
Mohamed Loey
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
Dr Shashikant Athawale
 
Our presentation on algorithm design
Our presentation on algorithm designOur presentation on algorithm design
Our presentation on algorithm design
Nahid Hasan
 
Lecture Note-1: Algorithm and Its Properties
Lecture Note-1: Algorithm and Its PropertiesLecture Note-1: Algorithm and Its Properties
Lecture Note-1: Algorithm and Its Properties
Rajesh K Shukla
 
I.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AII.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AI
vikas dhakane
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithm
rajkumar1631010038
 
Dinive conquer algorithm
Dinive conquer algorithmDinive conquer algorithm
Dinive conquer algorithm
Mohd Arif
 
Os lab file c programs
Os lab file c programsOs lab file c programs
Os lab file c programs
Kandarp Tiwari
 
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
jayavignesh86
 
Greedy algorithm
Greedy algorithmGreedy algorithm
Greedy algorithm
International Islamic University
 
Algorithmic problem solving
Algorithmic problem solvingAlgorithmic problem solving
Algorithmic problem solving
Prabhakaran V M
 
Algorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph AlgorithmsAlgorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph Algorithms
Mohamed Loey
 
UNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.pptUNIT-1-PPTS-DAA.ppt
UNIT-1-PPTS-DAA.ppt
racha49
 
Greedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack ProblemGreedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack Problem
Madhu Bala
 
Lecture 3 insertion sort and complexity analysis
Lecture 3   insertion sort and complexity analysisLecture 3   insertion sort and complexity analysis
Lecture 3 insertion sort and complexity analysis
jayavignesh86
 
Searching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data StructureSearching and Sorting Techniques in Data Structure
Searching and Sorting Techniques in Data Structure
Balwant Gorad
 
04 brute force
04 brute force04 brute force
04 brute force
Hira Gul
 
Algorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to AlgorithmsAlgorithms Lecture 1: Introduction to Algorithms
Algorithms Lecture 1: Introduction to Algorithms
Mohamed Loey
 
Our presentation on algorithm design
Our presentation on algorithm designOur presentation on algorithm design
Our presentation on algorithm design
Nahid Hasan
 
Lecture Note-1: Algorithm and Its Properties
Lecture Note-1: Algorithm and Its PropertiesLecture Note-1: Algorithm and Its Properties
Lecture Note-1: Algorithm and Its Properties
Rajesh K Shukla
 
I.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AII.BEST FIRST SEARCH IN AI
I.BEST FIRST SEARCH IN AI
vikas dhakane
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithm
rajkumar1631010038
 
Dinive conquer algorithm
Dinive conquer algorithmDinive conquer algorithm
Dinive conquer algorithm
Mohd Arif
 
Os lab file c programs
Os lab file c programsOs lab file c programs
Os lab file c programs
Kandarp Tiwari
 
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
jayavignesh86
 

Similar to 03 algorithm properties (20)

QULITIES OF A GOOD ALGORITHM
QULITIES OF A GOOD ALGORITHMQULITIES OF A GOOD ALGORITHM
QULITIES OF A GOOD ALGORITHM
abdullahi419
 
Chp-1 DAA (2).pptx design analysis and algoritham presentation
Chp-1 DAA (2).pptx design analysis and algoritham presentationChp-1 DAA (2).pptx design analysis and algoritham presentation
Chp-1 DAA (2).pptx design analysis and algoritham presentation
vaishnavbhavna17
 
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
RusherGamer1
 
Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sit
Saurabh846965
 
CC-112-Lec.1.ppsx
CC-112-Lec.1.ppsxCC-112-Lec.1.ppsx
CC-112-Lec.1.ppsx
Aamir Shahzad
 
Python first year btech Algorithmic thinking with python
Python first year btech Algorithmic thinking with pythonPython first year btech Algorithmic thinking with python
Python first year btech Algorithmic thinking with python
FahmaFamzin
 
138755986 problem-solving-methods-ppt
138755986 problem-solving-methods-ppt138755986 problem-solving-methods-ppt
138755986 problem-solving-methods-ppt
ANn Villanueva
 
Lesson 3
Lesson 3Lesson 3
Lesson 3
Dr. Rupinder Singh
 
Algorithm & data structures lec1
Algorithm & data structures lec1Algorithm & data structures lec1
Algorithm & data structures lec1
Abdul Khan
 
Types of Algorithms.ppt
Types of Algorithms.pptTypes of Algorithms.ppt
Types of Algorithms.ppt
ALIZAIB KHAN
 
Algorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo codeAlgorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo code
hamza javed
 
algorithm design.pptx
algorithm design.pptxalgorithm design.pptx
algorithm design.pptx
ssuserd11e4a
 
Ev681 computing 1
Ev681   computing 1Ev681   computing 1
Ev681 computing 1
Pippa Totraku
 
Algorithm itabq
Algorithm itabqAlgorithm itabq
Algorithm itabq
mckennadglyn
 
UNIT 1- Design Analysis of algorithms and its working
UNIT 1- Design Analysis of algorithms and its workingUNIT 1- Design Analysis of algorithms and its working
UNIT 1- Design Analysis of algorithms and its working
Bobby Pra A
 
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUERUNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
Salini P
 
Algorithms notes 2 tutorials duniya
Algorithms notes 2   tutorials duniyaAlgorithms notes 2   tutorials duniya
Algorithms notes 2 tutorials duniya
TutorialsDuniya.com
 
Problem solving
Problem solvingProblem solving
Problem solving
hamza239523
 
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
 
PCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptxPCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptx
sudharsanm56
 
QULITIES OF A GOOD ALGORITHM
QULITIES OF A GOOD ALGORITHMQULITIES OF A GOOD ALGORITHM
QULITIES OF A GOOD ALGORITHM
abdullahi419
 
Chp-1 DAA (2).pptx design analysis and algoritham presentation
Chp-1 DAA (2).pptx design analysis and algoritham presentationChp-1 DAA (2).pptx design analysis and algoritham presentation
Chp-1 DAA (2).pptx design analysis and algoritham presentation
vaishnavbhavna17
 
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
RusherGamer1
 
Algorithm for computational problematic sit
Algorithm for computational problematic sitAlgorithm for computational problematic sit
Algorithm for computational problematic sit
Saurabh846965
 
Python first year btech Algorithmic thinking with python
Python first year btech Algorithmic thinking with pythonPython first year btech Algorithmic thinking with python
Python first year btech Algorithmic thinking with python
FahmaFamzin
 
138755986 problem-solving-methods-ppt
138755986 problem-solving-methods-ppt138755986 problem-solving-methods-ppt
138755986 problem-solving-methods-ppt
ANn Villanueva
 
Algorithm & data structures lec1
Algorithm & data structures lec1Algorithm & data structures lec1
Algorithm & data structures lec1
Abdul Khan
 
Types of Algorithms.ppt
Types of Algorithms.pptTypes of Algorithms.ppt
Types of Algorithms.ppt
ALIZAIB KHAN
 
Algorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo codeAlgorithm and flowchart with pseudo code
Algorithm and flowchart with pseudo code
hamza javed
 
algorithm design.pptx
algorithm design.pptxalgorithm design.pptx
algorithm design.pptx
ssuserd11e4a
 
UNIT 1- Design Analysis of algorithms and its working
UNIT 1- Design Analysis of algorithms and its workingUNIT 1- Design Analysis of algorithms and its working
UNIT 1- Design Analysis of algorithms and its working
Bobby Pra A
 
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUERUNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
Salini P
 
Algorithms notes 2 tutorials duniya
Algorithms notes 2   tutorials duniyaAlgorithms notes 2   tutorials duniya
Algorithms notes 2 tutorials duniya
TutorialsDuniya.com
 
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
 
PCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptxPCCF UNIT - 1 - M.Sudharsan.pptx
PCCF UNIT - 1 - M.Sudharsan.pptx
sudharsanm56
 
Ad

More from Lincoln School (17)

Introduccionalasbasesdedatos
IntroduccionalasbasesdedatosIntroduccionalasbasesdedatos
Introduccionalasbasesdedatos
Lincoln School
 
Creando diagramas de flujo con dfd
Creando diagramas de flujo con dfdCreando diagramas de flujo con dfd
Creando diagramas de flujo con dfd
Lincoln School
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
Lincoln School
 
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
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
 
While karel
While karelWhile karel
While karel
Lincoln School
 
Html
HtmlHtml
Html
Lincoln School
 
Ciclos y Condicionales - Iterate
Ciclos y Condicionales - IterateCiclos y Condicionales - Iterate
Ciclos y Condicionales - Iterate
Lincoln School
 
Ciclos y Condicionales
Ciclos y CondicionalesCiclos y Condicionales
Ciclos y Condicionales
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
 
Programación 2
Programación 2Programación 2
Programación 2
Lincoln School
 
Programación 2 - karel1
Programación 2 - karel1Programación 2 - karel1
Programación 2 - karel1
Lincoln School
 
Algorithms and flowcharts1
Algorithms and flowcharts1Algorithms and flowcharts1
Algorithms and flowcharts1
Lincoln School
 
Collaborative work with google docs
Collaborative work with google docsCollaborative work with google docs
Collaborative work with google docs
Lincoln School
 
Movie maker
Movie makerMovie maker
Movie maker
Lincoln School
 
Introduccionalasbasesdedatos
IntroduccionalasbasesdedatosIntroduccionalasbasesdedatos
Introduccionalasbasesdedatos
Lincoln School
 
Creando diagramas de flujo con dfd
Creando diagramas de flujo con dfdCreando diagramas de flujo con dfd
Creando diagramas de flujo con dfd
Lincoln School
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
Lincoln School
 
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
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
 
Ciclos y Condicionales - Iterate
Ciclos y Condicionales - IterateCiclos y Condicionales - Iterate
Ciclos y Condicionales - Iterate
Lincoln School
 
Ciclos y Condicionales
Ciclos y CondicionalesCiclos y Condicionales
Ciclos y Condicionales
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
 
Programación 2 - karel1
Programación 2 - karel1Programación 2 - karel1
Programación 2 - karel1
Lincoln School
 
Algorithms and flowcharts1
Algorithms and flowcharts1Algorithms and flowcharts1
Algorithms and flowcharts1
Lincoln School
 
Collaborative work with google docs
Collaborative work with google docsCollaborative work with google docs
Collaborative work with google docs
Lincoln School
 
Ad

Recently uploaded (20)

Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 

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?