0% found this document useful (0 votes)
93 views29 pages

Chapter 9 Algorithm Design and Problem Solving

Uploaded by

mohamed galal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
93 views29 pages

Chapter 9 Algorithm Design and Problem Solving

Uploaded by

mohamed galal
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 29

Computer Science

Chapter 9 - Algorithm design and


problem-solving
9.1 Computational Thinking Skills

ICT Coordinator - M. Galal 1


Boys Section
Learning Objectives
9.1 Computational Thinking Skills
• Show an understanding of abstraction
-Need for and benefits of using abstraction
-Describe the purpose of abstraction
-Produce an abstract model of a system by only including
essential details.

• Describe and use decomposition


Break down problems into sub-problems leading to the
concept of a program module (procedure / function).
ICT Coordinator - M. Galal
Boys Section
2
Learning Objectives
9.2 Algorithms
Show understanding that an algorithm is a solution to a
problem expressed as a sequence of defined steps.

ICT Coordinator - M. Galal 3


Boys Section
9.1 Computational Thinking Skills
Watch this video and find out about Computational Thinking: What Is It? How Is It Used??
https://www.youtube.com/watch?v=qbnTZCj0ug

ICT Coordinator - M. Galal 4


Boys Section
• 9.1 Computational Thinking Skills
• Computational thinking is the step that comes before programming.
It’s the process of breaking down a problem into simple enough steps
that even a computer would understand.
• For example consider a simple activity like brushing your teeth. At first
it sounds like a simple enough task, but in fact, brushing your teeth
involves many simple steps. First, you’ll need a toothbrush and
toothpaste. You’ll need a sink with cold water. You’ll need to put the
toothpaste on the brush. Don’t forget to turn on the water and run
your brush underneath. As you see, such a simple activity actually
involves many steps, if you miss one step or put one out of order you
might end up with a huge mess!

ICT Coordinator - M. Galal 5


Boys Section
There are four key skills in computational
thinking:
• Abstraction
• Decomposition
• Pattern Recognition
• Algorithm Design

ICT Coordinator - M. Galal 6


Boys Section
ICT Coordinator - M. Galal 7
Boys Section
9.1 Computational Thinking
Skills
Abstraction – the process of extracting information that is essential, while ignoring what
is not relevant, for the provision of a solution.

Abstraction involves extracting information that is essential while ignoring


what is not relevant for the provision of a solution, only including what is
necessary to solve that problem.
Watch this video and find out what is Abstraction?
https://www.youtube.com/watch?v=jV-7Hy-PF2Q

ICT Coordinator - M. Galal 8


Boys Section
9.1 Computational Thinking Skills
9.1.1 Decomposition :The process of breaking a complex problem into smaller parts.
Before computers can solve a problem, the problem and the ways in which it can be
resolved must be understood.
Decomposition helps by breaking down complex problems into more manageable parts.
Watch this video and find out about decomposition

https://www.youtube.com/watch?v=rxsYpP2-omg

ICT Coordinator - M. Galal 9


Boys Section
9.1 Computational Thinking Skills
9.1.1 Decomposition
Watch this video and find out about decomposition
https://www.youtube.com/watch?v=4Ub85T9ybBs

ICT Coordinator - M. Galal 10


Boys Section
9.1 Computational Thinking Skills
9.1.2 Pattern
recognition is used to identify those parts that are
similar and could use the same solution.

Watch this video and find out about Computational thinking pattern recognition
https://www.youtube.com/watch?v=SC30MuyK1-8

ICT Coordinator - M. Galal 11


Boys Section
When writing a computer program, each final part is defined as
a separate program module that can be written and tested as a
separate procedure or function, as shown in Figure

ICT Coordinator - M. Galal 12


Boys Section
Writing algorithms that provide solutions to problems
There are several methods of writing algorithms before attempting to program a solution.
Here are three frequently used methods.

1-Structured English is a method of showing the logical steps in an algorithm, using an agreed subset of
straightforward English words for commands and mathematical operations to represent the solution. These
steps can be numbered.

ICT Coordinator - M. Galal 13


Boys Section
2- Pseudocode is a method of showing the detailed logical steps in an algorithm, using keywords,
identifiers with meaningful names and mathematical operators to represent a solution. Pseudocode
does not need to follow the syntax of a specific programming language, but it should provide
sufficient detail to allow a program to be written in a high-level language

ICT Coordinator - M. Galal 14


Boys Section
3- A flowchart shows diagrammatically, using a set of symbols linked together with flow lines, the
steps required for a task and the order in which they are to be performed. These steps, together with
the order, are called an algorithm. Flowcharts are an effective way to show the structure of an
algorithm.

ICT Coordinator - M. Galal 15


Boys Section
ICT Coordinator - M. Galal 16
Boys Section
ICT Coordinator - M. Galal 17
Boys Section
ICT Coordinator - M. Galal 18
Boys Section
ICT Coordinator - M. Galal 19
Boys Section
ICT Coordinator - M. Galal 20
Boys Section
ICT Coordinator - M. Galal 21
Boys Section
ICT Coordinator - M. Galal 22
Boys Section
ICT Coordinator - M. Galal 23
Boys Section
ICT Coordinator - M. Galal 24
Boys Section
ICT Coordinator - M. Galal 25
Boys Section
ICT Coordinator - M. Galal 26
Boys Section
ICT Coordinator - M. Galal 27
Boys Section
ICT Coordinator - M. Galal 28
Boys Section
ICT Coordinator - M. Galal 29
Boys Section

You might also like