SlideShare a Scribd company logo
1 of 29
Computational thinking
What is computational thinking?
What is computational
thinking ?
Decomposition
The break down How it helps
Pattern recognition Abstraction
Algorithms Evaluation
Summary
What is computational thinking ?
• Computational thinking is the process that involves formulating a
problem and expressing the solution, in the way that the computer can
carry out.
• The process are
• decomposition
abstraction
• Pattern recognition
• algorithms
•
Decomposition
• Decomposition is the breaking down of a complex problem into smaller
parts that are more understandable and easier to manage. These smaller parts
can be solved or designed individually .
• Decomposition is important due to the fact that, when a problem is in
different stages a problem can be solved quicker.
• Decomposition-The breaking down of a system into smaller parts that are
easier to understand, program and maintain.
The break down
• During our daily life we break down problems so that we can do it efficiently and for it to be easy to understand. Such as
making toast –
• Slice of bread, Plate, Small amount of butter, Toaster, Get a slice of bread
• Plug in the toaster and switch it on
• Place bread in the toaster
• Push the lever to lower the toast
• Wait a few minutes for the toast to pop up out of the toaster
• Take the toast out of the machine being careful not to burn your hands
• Place the toast on a plate
• Spread a little bit of the butter on the toast using a knife
• Cut the toast in half using the knife
How it helps
• If you are writing a long list of repeated code, decomposition helps you to
copy that text and repeat it.
• It is a very useful technique that help decompose complex problems.
•It help organise !
Pattern recognition
• In Computational thinking, these characteristics are known as
patterns. Once we know how to describe one cat we can describe
others, simply by following this pattern. The only things that are
different are the specifics
• E.g. colour of eyes, hair colour facial tone…
Abstraction
• Abstraction is the process of filtering out – ignoring - the
characteristics of patterns that we don't need in order to
concentrate on those that we do. It is also the filtering out
of specific details. From this we create a representation
of what we are trying to solve.
Algorithms
• In an algorithm, each instruction is identified and the order in
which they should be carried out is planned. Algorithms are often
used as a starting point for creating a computer program, and they
are sometimes written as a flowchart or in pseudocode.
• To tell it to do something you need steps and to do this you need
algorithms.
Evaluation
• Evaluation is the checking that a software is compatible for what its made
for.
• This is essential as it makes the program usable and fluent.
Summary
• easily understood – is it fully decomposed?
• is complete – does it solve every aspect of the problem?
• is efficient – does it solve the problem, making best use of the available
resources (egg as quickly as possible/using least space)?
• meets any design criteria we have been given
Robust Programming
What is Robust Programming ?
What is Robust
Programming ?
Purpose of Testing
Runtime Errors
Syntax Errors
Logic Errors
Types of Testing
Selecting and
using Suitable
Test
Test Plans
Key Words
Plenary
© OCR 2016
Purpose of Testing
Once the system has been developed it must be tested to ensure that it is working as
expected and that there are no obvious faults.
Faults are otherwise known as software bugs. These are basically mistakes in the
software code. No matter how careful coders are or how much time they take, they
are only human and mistakes will inevitably occur at some point.
Testing aims to pick up these software bugs before the system is released. It will also
ensure that the system is reliable and robust enough to be used for its intended
purpose.
© OCR 2016
Runtime errors
• Runtime errors are errors which may cause program errors or the
computer to crash even if there appears to be nothing wrong with the
program code.
• They are only detected once the program is executed
• Examples could be: Running out of memory
© OCR 2016
Syntax Errors
• Syntax errors are mistakes in the way that the code is written.
• Translators can only execute a program if it is syntactically correct.
• Common syntax errors include:
• spelling mistakes
• incorrect use of punctuation
• -use of capital letters
© OCR 2016
Logic Errors
• Logic errors: a logic error is a bug in a program that causes it to
operate incorrectly, but not to terminate or crash.
• A logic error produces unintended or undesired output or other
behaviour, although it may not immediately be recognised.
© OCR 2016
Activity 2
• Look back at the code from the previous task and consider each error.
• Classify them as either Syntax or Logic errors. Make sure you can
justify your answer.
© OCR 2016
Activity 2 – Identify and define the
errors for dividing two numbers
• number 1 = input(“Please enter a
number”)
• output 2 = input (“Please enter
another number”)
• Sum = number 1 * Number 2
• print (sum)
© OCR 2016
Activity 2 - Answer
• number 1 = input(“Please enter a number”)
• output 2 = input (“Please enter another number”)
SYNTAX
• Sum = number 1 * Number 2 LOGIC AND SYNTAX
• print (sum)SYNTAX
© OCR 2016
Types of Testing
• Iterative testing is testing the code as you create it.
• This could completed line by line or a section at a
time.
• Once tested and feedback is received you then alter
your code as required.
• You could consider this type of testing similar to
tuning a guitar.
• You keep playing the string and adjusting the
tension until the note is the correct pitch.
© OCR 2016
Types of Testing
• Final or Terminal testing is carried out at the end of the program when
it has been written.
• This is more similar to the GCSEs which are taken at the end of the
term.
• It is used to check what happens when a range of predefined test data
is entered or used in the program
© OCR 2016
Selecting and using Suitable Test
Data
• When testing the program it is important to use a
range of test data
• valid/in range
• out of range
• boundary value
• null value
• invalid
© OCR 2016
Selecting and using Suitable Test
Data
• Valid – Data that is correct
• In Range – The maximum values of the data that
could be entered for example for teenagers 13 - 19
• Out of Range – Values higher or lower than the
expect range, for teenagers greater than 19
• Null Value – when no data is entered or left blank to
test what happens.
• Invalid - incorrect values such as entering ‘Dave’ in
an age field.
© OCR 2016
Test Plans
• Testing is often completed in a test plan which sets out
• The test number
• The data entered
• The type of test data
• The expected outcome
• The result of the test
• Action required as a result of the test
© OCR 2016
http://www.sqa.org.uk/e-
learning/IMAuthoring03CD/images/pic001.jpg
© OCR 2016
Key Words Recap
• Iterative testing
• Final/terminal testing
• Syntax Errors
• Logic errors
• Test Data
© OCR 2016
Plenary
1. Share with another students three new elements that you have learnt
this lesson
2. Open a program that you have written and test it for errors.
3. Identify the errors in term so f syntax or logic
4. Create an example of a logic error in a programing language of your
choice
Input Validation
• This is a check made by a computer to ensure that the data entered is
sensible or reasonable.
• It attempts to ensure that it is within a certain limits and rules.
• E.G,

More Related Content

What's hot

Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Introduction to Computer Engineering
Introduction to Computer EngineeringIntroduction to Computer Engineering
Introduction to Computer EngineeringBESOR ACADEMY
 
Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.BooNeil
 
Pseudocode-Flowchart
Pseudocode-FlowchartPseudocode-Flowchart
Pseudocode-Flowchartlotlot
 
Pseudocode flowcharts
Pseudocode flowchartsPseudocode flowcharts
Pseudocode flowchartsnicky_walters
 
Algorithm and Flowcharts
Algorithm and FlowchartsAlgorithm and Flowcharts
Algorithm and FlowchartsSURBHI SAROHA
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering FundamentalsRahul Sudame
 
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 1Garry D. Lasaga
 
Four Elements of Computational Thinking.pptx
Four Elements of Computational Thinking.pptxFour Elements of Computational Thinking.pptx
Four Elements of Computational Thinking.pptxRonaldConsignaCagati
 
Algorithm Design Presentation
Algorithm Design PresentationAlgorithm Design Presentation
Algorithm Design PresentationKawsar Ahmed
 
BASIC PARTS OF COMPUTER FOR DEMO TEACHING
BASIC PARTS OF COMPUTER FOR DEMO TEACHINGBASIC PARTS OF COMPUTER FOR DEMO TEACHING
BASIC PARTS OF COMPUTER FOR DEMO TEACHINGglairerabida
 
Computer repair and maintenance
Computer repair and maintenanceComputer repair and maintenance
Computer repair and maintenanceCornelius Micah
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithmrajkumar1631010038
 

What's hot (20)

Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Introduction to Computer Engineering
Introduction to Computer EngineeringIntroduction to Computer Engineering
Introduction to Computer Engineering
 
Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.Computer Troubleshooting - T.L.E.
Computer Troubleshooting - T.L.E.
 
Pseudocode-Flowchart
Pseudocode-FlowchartPseudocode-Flowchart
Pseudocode-Flowchart
 
Software design
Software designSoftware design
Software design
 
Pseudocode flowcharts
Pseudocode flowchartsPseudocode flowcharts
Pseudocode flowcharts
 
Algorithm and Flowcharts
Algorithm and FlowchartsAlgorithm and Flowcharts
Algorithm and Flowcharts
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
 
COMPUTER SYSTEM
COMPUTER SYSTEMCOMPUTER SYSTEM
COMPUTER SYSTEM
 
Algorithms and flow chart
Algorithms and flow chartAlgorithms and flow chart
Algorithms and flow chart
 
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
 
A brief history of computers
A brief history of computersA brief history of computers
A brief history of computers
 
Mathematical Reasoning DM
Mathematical Reasoning DMMathematical Reasoning DM
Mathematical Reasoning DM
 
Four Elements of Computational Thinking.pptx
Four Elements of Computational Thinking.pptxFour Elements of Computational Thinking.pptx
Four Elements of Computational Thinking.pptx
 
Perception
PerceptionPerception
Perception
 
Algorithm Design Presentation
Algorithm Design PresentationAlgorithm Design Presentation
Algorithm Design Presentation
 
BASIC PARTS OF COMPUTER FOR DEMO TEACHING
BASIC PARTS OF COMPUTER FOR DEMO TEACHINGBASIC PARTS OF COMPUTER FOR DEMO TEACHING
BASIC PARTS OF COMPUTER FOR DEMO TEACHING
 
Computer repair and maintenance
Computer repair and maintenanceComputer repair and maintenance
Computer repair and maintenance
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithm
 

Similar to Computational thinking

Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxBypassFrp
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniquesAshutosh Garg
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques2PiRTechnologies
 
Algorithmic problem sloving
Algorithmic problem slovingAlgorithmic problem sloving
Algorithmic problem slovingMani Kandan
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing TechniquesAppili Vamsi Krishna
 
An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1Blue Elephant Consulting
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applicationsnadeembtech
 
FPL -Part 2 ( Sem - I 2013)
FPL -Part 2 ( Sem - I 2013)FPL -Part 2 ( Sem - I 2013)
FPL -Part 2 ( Sem - I 2013)Yogesh Deshpande
 
{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptxAmalEldhose2
 
Reading Notes : the practice of programming
Reading Notes : the practice of programmingReading Notes : the practice of programming
Reading Notes : the practice of programmingJuggernaut Liu
 
Software Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentSoftware Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentKristine Hejna
 
Concept of Algorithm.pptx
Concept of Algorithm.pptxConcept of Algorithm.pptx
Concept of Algorithm.pptxElProfesor14
 
Cse115 lecture03problemsolving
Cse115 lecture03problemsolvingCse115 lecture03problemsolving
Cse115 lecture03problemsolvingMd. Ashikur Rahman
 
Types of program testings and errors
Types of program testings and errorsTypes of program testings and errors
Types of program testings and errorsAmiirah Camall Saib
 

Similar to Computational thinking (20)

Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
 
Test case design techniques
Test case design techniquesTest case design techniques
Test case design techniques
 
Algorithmic problem sloving
Algorithmic problem slovingAlgorithmic problem sloving
Algorithmic problem sloving
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
 
An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1
 
Unit no_1.pptx
Unit no_1.pptxUnit no_1.pptx
Unit no_1.pptx
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applications
 
Lec1.ppt
Lec1.pptLec1.ppt
Lec1.ppt
 
FPL -Part 2 ( Sem - I 2013)
FPL -Part 2 ( Sem - I 2013)FPL -Part 2 ( Sem - I 2013)
FPL -Part 2 ( Sem - I 2013)
 
{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx
 
Reading Notes : the practice of programming
Reading Notes : the practice of programmingReading Notes : the practice of programming
Reading Notes : the practice of programming
 
Software Defects and SW Reliability Assessment
Software Defects and SW Reliability AssessmentSoftware Defects and SW Reliability Assessment
Software Defects and SW Reliability Assessment
 
Concept of Algorithm.pptx
Concept of Algorithm.pptxConcept of Algorithm.pptx
Concept of Algorithm.pptx
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
Logical Structures
Logical StructuresLogical Structures
Logical Structures
 
Lecture 24
Lecture 24Lecture 24
Lecture 24
 
Cse115 lecture03problemsolving
Cse115 lecture03problemsolvingCse115 lecture03problemsolving
Cse115 lecture03problemsolving
 
C++ good tutorial
C++ good tutorialC++ good tutorial
C++ good tutorial
 
Types of program testings and errors
Types of program testings and errorsTypes of program testings and errors
Types of program testings and errors
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Computational thinking

  • 1. Computational thinking What is computational thinking?
  • 2. What is computational thinking ? Decomposition The break down How it helps Pattern recognition Abstraction Algorithms Evaluation Summary
  • 3. What is computational thinking ? • Computational thinking is the process that involves formulating a problem and expressing the solution, in the way that the computer can carry out. • The process are • decomposition abstraction • Pattern recognition • algorithms •
  • 4. Decomposition • Decomposition is the breaking down of a complex problem into smaller parts that are more understandable and easier to manage. These smaller parts can be solved or designed individually . • Decomposition is important due to the fact that, when a problem is in different stages a problem can be solved quicker. • Decomposition-The breaking down of a system into smaller parts that are easier to understand, program and maintain.
  • 5. The break down • During our daily life we break down problems so that we can do it efficiently and for it to be easy to understand. Such as making toast – • Slice of bread, Plate, Small amount of butter, Toaster, Get a slice of bread • Plug in the toaster and switch it on • Place bread in the toaster • Push the lever to lower the toast • Wait a few minutes for the toast to pop up out of the toaster • Take the toast out of the machine being careful not to burn your hands • Place the toast on a plate • Spread a little bit of the butter on the toast using a knife • Cut the toast in half using the knife
  • 6. How it helps • If you are writing a long list of repeated code, decomposition helps you to copy that text and repeat it. • It is a very useful technique that help decompose complex problems. •It help organise !
  • 7. Pattern recognition • In Computational thinking, these characteristics are known as patterns. Once we know how to describe one cat we can describe others, simply by following this pattern. The only things that are different are the specifics • E.g. colour of eyes, hair colour facial tone…
  • 8. Abstraction • Abstraction is the process of filtering out – ignoring - the characteristics of patterns that we don't need in order to concentrate on those that we do. It is also the filtering out of specific details. From this we create a representation of what we are trying to solve.
  • 9. Algorithms • In an algorithm, each instruction is identified and the order in which they should be carried out is planned. Algorithms are often used as a starting point for creating a computer program, and they are sometimes written as a flowchart or in pseudocode. • To tell it to do something you need steps and to do this you need algorithms.
  • 10. Evaluation • Evaluation is the checking that a software is compatible for what its made for. • This is essential as it makes the program usable and fluent.
  • 11. Summary • easily understood – is it fully decomposed? • is complete – does it solve every aspect of the problem? • is efficient – does it solve the problem, making best use of the available resources (egg as quickly as possible/using least space)? • meets any design criteria we have been given
  • 12. Robust Programming What is Robust Programming ?
  • 13. What is Robust Programming ? Purpose of Testing Runtime Errors Syntax Errors Logic Errors Types of Testing Selecting and using Suitable Test Test Plans Key Words Plenary
  • 14. © OCR 2016 Purpose of Testing Once the system has been developed it must be tested to ensure that it is working as expected and that there are no obvious faults. Faults are otherwise known as software bugs. These are basically mistakes in the software code. No matter how careful coders are or how much time they take, they are only human and mistakes will inevitably occur at some point. Testing aims to pick up these software bugs before the system is released. It will also ensure that the system is reliable and robust enough to be used for its intended purpose.
  • 15. © OCR 2016 Runtime errors • Runtime errors are errors which may cause program errors or the computer to crash even if there appears to be nothing wrong with the program code. • They are only detected once the program is executed • Examples could be: Running out of memory
  • 16. © OCR 2016 Syntax Errors • Syntax errors are mistakes in the way that the code is written. • Translators can only execute a program if it is syntactically correct. • Common syntax errors include: • spelling mistakes • incorrect use of punctuation • -use of capital letters
  • 17. © OCR 2016 Logic Errors • Logic errors: a logic error is a bug in a program that causes it to operate incorrectly, but not to terminate or crash. • A logic error produces unintended or undesired output or other behaviour, although it may not immediately be recognised.
  • 18. © OCR 2016 Activity 2 • Look back at the code from the previous task and consider each error. • Classify them as either Syntax or Logic errors. Make sure you can justify your answer.
  • 19. © OCR 2016 Activity 2 – Identify and define the errors for dividing two numbers • number 1 = input(“Please enter a number”) • output 2 = input (“Please enter another number”) • Sum = number 1 * Number 2 • print (sum)
  • 20. © OCR 2016 Activity 2 - Answer • number 1 = input(“Please enter a number”) • output 2 = input (“Please enter another number”) SYNTAX • Sum = number 1 * Number 2 LOGIC AND SYNTAX • print (sum)SYNTAX
  • 21. © OCR 2016 Types of Testing • Iterative testing is testing the code as you create it. • This could completed line by line or a section at a time. • Once tested and feedback is received you then alter your code as required. • You could consider this type of testing similar to tuning a guitar. • You keep playing the string and adjusting the tension until the note is the correct pitch.
  • 22. © OCR 2016 Types of Testing • Final or Terminal testing is carried out at the end of the program when it has been written. • This is more similar to the GCSEs which are taken at the end of the term. • It is used to check what happens when a range of predefined test data is entered or used in the program
  • 23. © OCR 2016 Selecting and using Suitable Test Data • When testing the program it is important to use a range of test data • valid/in range • out of range • boundary value • null value • invalid
  • 24. © OCR 2016 Selecting and using Suitable Test Data • Valid – Data that is correct • In Range – The maximum values of the data that could be entered for example for teenagers 13 - 19 • Out of Range – Values higher or lower than the expect range, for teenagers greater than 19 • Null Value – when no data is entered or left blank to test what happens. • Invalid - incorrect values such as entering ‘Dave’ in an age field.
  • 25. © OCR 2016 Test Plans • Testing is often completed in a test plan which sets out • The test number • The data entered • The type of test data • The expected outcome • The result of the test • Action required as a result of the test
  • 27. © OCR 2016 Key Words Recap • Iterative testing • Final/terminal testing • Syntax Errors • Logic errors • Test Data
  • 28. © OCR 2016 Plenary 1. Share with another students three new elements that you have learnt this lesson 2. Open a program that you have written and test it for errors. 3. Identify the errors in term so f syntax or logic 4. Create an example of a logic error in a programing language of your choice
  • 29. Input Validation • This is a check made by a computer to ensure that the data entered is sensible or reasonable. • It attempts to ensure that it is within a certain limits and rules. • E.G,