Bird
Raised Fist0
Intro to Computingfundamentals~10 mins

Decomposition (breaking problems down) in Intro to Computing - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to show the first step in breaking down a problem: identifying the main {{BLANK_1}}.

Intro to Computing
def solve_problem():
    # Step 1: Identify the main [1]
    pass
Drag options to blanks, or click blank then click option'
Asteps
Bproblem
Csolution
Dresult
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing the problem with the solution.
Trying to write code before understanding the problem.
2fill in blank
medium

Complete the code to represent breaking a problem into smaller {{BLANK_1}}.

Intro to Computing
def decompose_problem():
    # Break the problem into smaller [1]
    parts = ['part1', 'part2', 'part3']
    return parts
Drag options to blanks, or click blank then click option'
Aproblems
Bsolutions
Csteps
Dresults
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'solutions' instead of 'steps'.
Thinking the smaller parts are separate problems.
3fill in blank
hard

Fix the error in the code by completing the blank to correctly represent a step in decomposition.

Intro to Computing
def plan_solution():
    # Each [1] should be simple and clear
    steps = ['understand problem', 'design solution', 'test solution']
    return steps
Drag options to blanks, or click blank then click option'
Astep
Bproblem
Csolution
Dresult
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'solution' instead of 'step'.
Confusing 'problem' with 'step'.
4fill in blank
hard

Fill both blanks to complete the dictionary comprehension that maps each {{BLANK_1}} to its {{BLANK_2}} length.

Intro to Computing
lengths = {step: len(step) for step in [1] if len(step) > [2]
Drag options to blanks, or click blank then click option'
Asteps
B3
Cproblem
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'problem' instead of 'steps' for the iterable.
Using a string instead of a number for the length filter.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps each {{BLANK_1}} in uppercase to its {{BLANK_2}} if the length {{BLANK_3}} 4.

Intro to Computing
result = { [1]: [2] for [2] in steps if len([2]) [3] 4 }
Drag options to blanks, or click blank then click option'
Astep.upper()
Bstep
C>
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using the original step as key instead of uppercase.
Using '<' instead of '>' in the length condition.

Practice

(1/5)
1. What is the main purpose of decomposition in problem solving?
easy
A. To combine many small problems into one big problem
B. To avoid solving the problem completely
C. To break a big problem into smaller, easier parts
D. To make the problem more confusing

Solution

  1. Step 1: Understand the meaning of decomposition

    Decomposition means breaking down a complex problem into smaller parts.
  2. Step 2: Identify the purpose of breaking down problems

    This helps make the problem easier to understand and solve step-by-step.
  3. Final Answer:

    To break a big problem into smaller, easier parts -> Option C
  4. Quick Check:

    Decomposition = breaking big problem into smaller parts [OK]
Hint: Think: big problem -> smaller pieces [OK]
Common Mistakes:
  • Confusing decomposition with combining problems
  • Thinking decomposition makes problems harder
  • Believing decomposition avoids solving problems
2. Which of the following is the correct way to start decomposing a problem?
easy
A. Identify smaller tasks that make up the problem
B. Ignore the problem and guess the answer
C. Write one big solution without parts
D. Combine unrelated problems into one

Solution

  1. Step 1: Understand how to begin decomposition

    Start by identifying smaller tasks or parts that together solve the big problem.
  2. Step 2: Recognize the wrong approaches

    Writing one big solution or ignoring the problem does not help break it down.
  3. Final Answer:

    Identify smaller tasks that make up the problem -> Option A
  4. Quick Check:

    Start decomposition by finding smaller tasks [OK]
Hint: Find smaller tasks first [OK]
Common Mistakes:
  • Trying to solve the whole problem at once
  • Ignoring the problem instead of breaking it down
  • Mixing unrelated problems
3. Look at this flowchart for making a sandwich:

Which step is an example of decomposition?
medium
A. Close sandwich
B. Eat sandwich
C. Add filling
D. Get bread

Solution

  1. Step 1: Understand decomposition in the flowchart

    Decomposition breaks a big task (make sandwich) into smaller steps like getting bread, adding filling.
  2. Step 2: Identify which step shows breaking down the task

    Getting bread is a smaller part of the whole sandwich-making process, so it is decomposition.
  3. Final Answer:

    Get bread -> Option D
  4. Quick Check:

    Decomposition = breaking task into smaller steps like 'Get bread' [OK]
Hint: Look for smaller steps in a big task [OK]
Common Mistakes:
  • Choosing the final step as decomposition
  • Confusing eating with breaking down tasks
  • Ignoring the flowchart steps
4. A student tries to decompose the task 'clean the house' but writes only 'clean everything at once'. What is wrong with this approach?
medium
A. They did not break the task into smaller parts
B. They broke the task into too many parts
C. They solved the problem correctly
D. They ignored the task completely

Solution

  1. Step 1: Analyze the student's approach

    The student wrote 'clean everything at once' which means no smaller parts were identified.
  2. Step 2: Understand the importance of breaking tasks down

    Decomposition requires dividing a big task into smaller, manageable parts, which was not done here.
  3. Final Answer:

    They did not break the task into smaller parts -> Option A
  4. Quick Check:

    Decomposition needs smaller parts, not one big task [OK]
Hint: Break big tasks into smaller parts [OK]
Common Mistakes:
  • Thinking doing everything at once is decomposition
  • Believing too many parts is wrong
  • Ignoring the task instead of breaking it down
5. You want to build a simple app that tracks daily water intake. Which is the best way to use decomposition to plan this app?
hard
A. Only focus on showing daily total without input or storage
B. Break the app into parts: input water amount, store data, show daily total
C. Ignore planning and start coding randomly
D. Write all code in one big block without parts

Solution

  1. Step 1: Understand the app's main functions

    The app needs to get input, save data, and display totals.
  2. Step 2: Apply decomposition to plan the app

    Breaking the app into these smaller parts helps organize and build it step-by-step.
  3. Final Answer:

    Break the app into parts: input water amount, store data, show daily total -> Option B
  4. Quick Check:

    Decompose app into input, storage, display parts [OK]
Hint: Split app into input, storage, display [OK]
Common Mistakes:
  • Trying to code everything at once
  • Skipping planning and decomposition
  • Ignoring important app parts
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard