SlideShare a Scribd company logo
2
Most read
9
Most read
17
Most read
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.
DiagrammaticallyDrivethecarto
school
Get directions
Start the car
Follow the directions
Get parking pass
Drive to the
destination
Turn left out of your
driveway
At the next light, turn right.
At the intersection with I-
66, take the on-ramp for
I-66 West
…
Level 1
Level 2
Level 3Find a place to park
Stop the car
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?

More Related Content

PDF
Recsys 2014 Tutorial - The Recommender Problem Revisited
PDF
Session-Based Recommender Systems
PPTX
contribution of indian mathematcians.pptx
PPT
Content based recommendation systems
PPTX
(in Korean) about knowledge distillation
PPT
03 algorithm properties
PDF
1.1 the introduction of design and analysis of algorithm
PPTX
Chp-1 DAA (2).pptx design analysis and algoritham presentation
Recsys 2014 Tutorial - The Recommender Problem Revisited
Session-Based Recommender Systems
contribution of indian mathematcians.pptx
Content based recommendation systems
(in Korean) about knowledge distillation
03 algorithm properties
1.1 the introduction of design and analysis of algorithm
Chp-1 DAA (2).pptx design analysis and algoritham presentation

Similar to QULITIES OF A GOOD ALGORITHM (20)

PPT
UNIT-1-PPTS-DAA_INTRODUCTION_TO_DAA_GH.ppt
PDF
Introduction to data structure and algorithm
PPT
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
PPT
UNIT 1- Design Analysis of algorithms and its working
PPT
UNIT-1-PPTS-DAA.ppt
PPT
Introduction to Design Algorithm And Analysis.ppt
PPT
UNIT-1-PPTS-DAA.ppt
PPTX
11 Unit 1 Problem Solving Techniques
PDF
ppts foe design and analysis of algorithm
PDF
Algorithms notes 2 tutorials duniya
PDF
Design and Analysis Algorithms.pdf
PDF
Lesson 11 1
PPTX
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptx
PPTX
Algorithm for computational problematic sit
PPT
UNIT-1-PPT-DESIGN AND ANALYSIS OF ALGORITHMS
PPTX
CH-1.1 Introduction (1).pptx
PPTX
algorithm design.pptx
PPT
Types of Algorithms.ppt
PDF
Design and analysis of computer algorithms
UNIT-1-PPTS-DAA_INTRODUCTION_TO_DAA_GH.ppt
Introduction to data structure and algorithm
UNIT-1-PPTS-DAA INTRO WITH DIVIDE AND CONQUER
UNIT 1- Design Analysis of algorithms and its working
UNIT-1-PPTS-DAA.ppt
Introduction to Design Algorithm And Analysis.ppt
UNIT-1-PPTS-DAA.ppt
11 Unit 1 Problem Solving Techniques
ppts foe design and analysis of algorithm
Algorithms notes 2 tutorials duniya
Design and Analysis Algorithms.pdf
Lesson 11 1
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptx
Algorithm for computational problematic sit
UNIT-1-PPT-DESIGN AND ANALYSIS OF ALGORITHMS
CH-1.1 Introduction (1).pptx
algorithm design.pptx
Types of Algorithms.ppt
Design and analysis of computer algorithms
Ad

Recently uploaded (20)

PDF
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PPT
Predictive modeling basics in data cleaning process
PDF
Lecture1 pattern recognition............
PPTX
IB Computer Science - Internal Assessment.pptx
PDF
Introduction to the R Programming Language
PDF
Transcultural that can help you someday.
PDF
Clinical guidelines as a resource for EBP(1).pdf
PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
Leprosy and NLEP programme community medicine
PDF
Business Analytics and business intelligence.pdf
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PDF
Mega Projects Data Mega Projects Data
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
Supervised vs unsupervised machine learning algorithms
PPTX
Managing Community Partner Relationships
PDF
Optimise Shopper Experiences with a Strong Data Estate.pdf
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Predictive modeling basics in data cleaning process
Lecture1 pattern recognition............
IB Computer Science - Internal Assessment.pptx
Introduction to the R Programming Language
Transcultural that can help you someday.
Clinical guidelines as a resource for EBP(1).pdf
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
Reliability_Chapter_ presentation 1221.5784
Leprosy and NLEP programme community medicine
Business Analytics and business intelligence.pdf
oil_refinery_comprehensive_20250804084928 (1).pptx
Mega Projects Data Mega Projects Data
STUDY DESIGN details- Lt Col Maksud (21).pptx
climate analysis of Dhaka ,Banglades.pptx
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
Supervised vs unsupervised machine learning algorithms
Managing Community Partner Relationships
Optimise Shopper Experiences with a Strong Data Estate.pdf
Ad

QULITIES OF A GOOD ALGORITHM

  • 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. DiagrammaticallyDrivethecarto school Get directions Start the car Follow the directions Get parking pass Drive to the destination Turn left out of your driveway At the next light, turn right. At the intersection with I- 66, take the on-ramp for I-66 West … Level 1 Level 2 Level 3Find a place to park Stop the car
  • 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?