The Power of Decomposition in Problem Solving

 
 
D
e
c
o
m
p
o
s
i
t
i
o
n
 
L
e
a
r
n
i
n
g
 
O
b
j
e
c
t
i
v
e
s
 
Definition of Decomposition
Importance of Decomposition
The application of Decomposition in real life and Computer Science
Decomposition and Algorithm design
Practice Decomposition
 
 
W
h
a
t
 
i
s
D
e
c
o
m
p
o
s
i
t
i
o
n
?
 
Decomposition comes first in the process of
computational thinking.
Decomposition means breaking down
problems into sub-problems that can be
managed and solved more easily.
Sometimes decomposition is called the
"divide and conquer" approach.
 
W
h
y
D
e
c
o
m
p
o
s
i
t
i
o
n
M
a
t
t
e
r
s
?
 
Decomposition is very helpful in solving complex
problems.
In decomposition, we find the solution to sub-problems
and by combining them we solve the complex problem.
Decomposition process goes hand in hand with
algorithmic thinking, in which you will provide a
sequence of detailed instructions to solve a problem.
Decomposition allows more efficient collaboration, by
allowing each team member to work on a sub-problem.
Decomposing a big or complex problem into smaller
parts allows for more accurate debugging and testing of
the solution.
 
D
e
c
o
m
p
o
s
i
t
i
o
n
i
n
 
E
v
e
r
y
d
a
y
 
L
i
f
e
 
We apply decomposition in doing daily life tasks without being
aware of that.
 
For example, you plan to organize a birthday party with your
friends. What is your thought process in providing the supplies
and preparing for the event? These could be:
 Where will we gather?
How many guests will be there?
What will I serve for dinner?
Do I have what I need to make dinner?
Are my guests allergic to certain foods?
How will I entertain them?
 
After you answer all these questions (sub-problems), you have a
complete plan (solution) to throw a party (main problem).
 
D
e
c
o
m
p
o
s
i
t
i
o
n
a
n
d
 
A
l
g
o
r
i
t
h
m
i
c
T
h
i
n
k
i
n
g
 
In the previous example, after you break down the tasks
that you need to do to prepare for the party, you will
Prioritize 
them.
In this process, you will define the priority of each task in
the given time and decide which will be done first, or
which tasks can be done in parallel.
In your mind, you will 
design an algorithm
 to complete
all the subtasks.
Finally, you may have multiple algorithms for the whole
problem (which is throwing a birthday party) by
designing one algorithm for each sub-task:
One algorithm for place arrangement
One algorithm for shopping
One algorithm for cooking
And more
 
D
e
c
o
m
p
o
s
i
t
i
o
n
i
n
 
C
u
r
r
i
c
u
l
u
m
a
n
d
 
I
n
d
u
s
t
r
y
:
 
We learned that decomposition is a thought process
that we adopt to solve the problems we face in
everyday life
Decomposition is a very useful skill in curriculum too.
For example in:
Chemistry
: identifying the chemical compounds of a
substance
Mathematics
: Calculating the pyramid of a cylinder by
breaking it down into primitive shapes of a circle and a
rectangle.
Manufacturing
: Different parts of a car are built first
and then assembled together.
 
D
e
c
o
m
p
o
s
i
t
i
o
n
i
n
 
C
o
m
p
u
t
e
r
S
c
i
e
n
c
e
 
Decomposition is a key skill in computer science.
We use computers to accomplish complex tasks
for us.
We need to instruct them by providing detailed
instruction about what they should do (designing
the algorithm)
For designing the algorithm (steps that the
computer should follow sequentially), we need to
first determine the sub-tasks (this process is
decomposition
) - which comes first in
programming
 
E
x
a
m
p
l
e
 
o
f
 
D
e
c
o
m
p
o
s
i
t
i
o
n
 
i
n
 
C
o
m
p
u
t
e
r
 
s
c
i
e
n
c
e
 
You want to write a program (or algorithm) that calculates the sum of the digits of an integer.
For this purpose, you will do the following (
design an algorithm
):
Take the first digit
Sum it with the digit next to that
Store the sum value
Add the sum value to the next digit on the right
Continue this process until no more digit is left on the right
In this example you decomposed the integer number into constituent pairs of digits at a time to sum
them together and calculated the sum of all digits – This is decomposition!
 
P
r
a
c
t
i
c
e
D
e
c
o
m
p
o
s
i
t
i
o
n
 
As you noticed in the previous example
the decomposition and algorithm design
process are very correlated.
Normally you decompose a problem and
after that or in parallel to that you design
the algorithm to solve each sub-problem.
Now think of a problem in any given domain (math,
science, everyday life, ..) and explain how you answer
or accomplish that by decomposing it into sub-task and
creating the algorithm for those sub-tasks.
 
A
d
d
i
t
i
o
n
a
l
 
R
e
s
o
u
r
c
e
s
 
 
https://www.coursera.org/lecture/computational-thinking-
problem-solving/1-2-decomposition-phmNk
https://youtu.be/rxsYpP2-omg
https://medium.com/tech-based-teaching/breaking-down-
thinking-a-brief-intro-to-decomposition-5ba0a8749fe7
https://www.bbc.co.uk/bitesize/guides/zqqfyrd/revision/1
https://equip.learning.com/decomposition-computational-
thinking/
Slide Note
Embed
Share

Learn about the concept of decomposition and its importance in problem-solving scenarios in both real-life and Computer Science. Discover how breaking down complex problems into manageable sub-problems can lead to efficient solutions. Explore how decomposition aligns with algorithmic thinking and enhances collaboration among team members. Dive into examples showcasing decomposition's application in everyday tasks and algorithm design.

  • Decomposition
  • Problem Solving
  • Algorithmic Thinking
  • Real-life Applications
  • Collaborative Problem Solving

Uploaded on Jul 17, 2024 | 2 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Decomposition Decomposition

  2. Learning Objectives Learning Objectives Definition of Decomposition Importance of Decomposition The application of Decomposition in real life and Computer Science Decomposition and Algorithm design Practice Decomposition

  3. Decomposition comes first in the process of computational thinking. Decomposition means breaking down problems into sub-problems that can be managed and solved more easily. Sometimes decomposition is called the "divide and conquer" approach. What is What is Decomposition? Decomposition?

  4. Decomposition is very helpful in solving complex problems. In decomposition, we find the solution to sub-problems and by combining them we solve the complex problem. Decomposition process goes hand in hand with algorithmic thinking, in which you will provide a sequence of detailed instructions to solve a problem. Decomposition allows more efficient collaboration, by allowing each team member to work on a sub-problem. Decomposing a big or complex problem into smaller parts allows for more accurate debugging and testing of the solution. Why Why Decomposition Decomposition Matters? Matters?

  5. We apply decomposition in doing daily life tasks without being aware of that. For example, you plan to organize a birthday party with your friends. What is your thought process in providing the supplies and preparing for the event? These could be: Where will we gather? How many guests will be there? What will I serve for dinner? Do I have what I need to make dinner? Are my guests allergic to certain foods? How will I entertain them? Decomposition Decomposition in Everyday Life in Everyday Life After you answer all these questions (sub-problems), you have a complete plan (solution) to throw a party (main problem).

  6. In the previous example, after you break down the tasks that you need to do to prepare for the party, you will Prioritize them. In this process, you will define the priority of each task in the given time and decide which will be done first, or which tasks can be done in parallel. In your mind, you will design an algorithm to complete all the subtasks. Finally, you may have multiple algorithms for the whole problem (which is throwing a birthday party) by designing one algorithm for each sub-task: One algorithm for place arrangement One algorithm for shopping One algorithm for cooking And more Decomposition Decomposition and Algorithmic and Algorithmic Thinking Thinking

  7. We learned that decomposition is a thought process that we adopt to solve the problems we face in everyday life Decomposition is a very useful skill in curriculum too. Decomposition Decomposition in Curriculum in Curriculum and Industry: and Industry: For example in: Chemistry: identifying the chemical compounds of a substance Mathematics: Calculating the pyramid of a cylinder by breaking it down into primitive shapes of a circle and a rectangle. Manufacturing: Different parts of a car are built first and then assembled together.

  8. Decomposition is a key skill in computer science. We use computers to accomplish complex tasks for us. Decomposition Decomposition in Computer in Computer Science Science We need to instruct them by providing detailed instruction about what they should do (designing the algorithm) For designing the algorithm (steps that the computer should follow sequentially), we need to first determine the sub-tasks (this process is decomposition) - which comes first in programming

  9. Example of Decomposition in Computer science Example of Decomposition in Computer science You want to write a program (or algorithm) that calculates the sum of the digits of an integer. For this purpose, you will do the following (design an algorithm): Take the first digit Sum it with the digit next to that Store the sum value Add the sum value to the next digit on the right Continue this process until no more digit is left on the right In this example you decomposed the integer number into constituent pairs of digits at a time to sum them together and calculated the sum of all digits This is decomposition!

  10. As you noticed in the previous example the decomposition and algorithm design process are very correlated. Normally you decompose a problem and after that or in parallel to that you design the algorithm to solve each sub-problem. Practice Practice Decomposition Decomposition Now think of a problem in any given domain (math, science, everyday life, ..) and explain how you answer or accomplish that by decomposing it into sub-task and creating the algorithm for those sub-tasks.

  11. Additional Resources Additional Resources https://www.coursera.org/lecture/computational-thinking- problem-solving/1-2-decomposition-phmNk https://youtu.be/rxsYpP2-omg https://medium.com/tech-based-teaching/breaking-down- thinking-a-brief-intro-to-decomposition-5ba0a8749fe7 https://www.bbc.co.uk/bitesize/guides/zqqfyrd/revision/1 https://equip.learning.com/decomposition-computational- thinking/

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#