1. Computational Thinking¶
Computational Thinking is a disciplined approach to problem-solving that emphasizes clarity, efficiency, and systematic reasoning.
This framework is built on four core skills that provide a versatile framework to strengthen problem-solving in programming, mathematics, engineering, and everyday life.
1. The Four Pillars
1.1. Decomposition¶
Breaking a complex problem into smaller, more manageable parts.
flowchart TD
A[Complex Problem] --> B[Part 1]
A --> C[Part 2]
A --> D[Part 3]
A --> E[Part 4]
1.2. Pattern Recognition¶
Finding similarities, repetitions, or trends among the smaller parts.
flowchart LR
A((Part 1)) --> X[Pattern]
B((Part 2)) --> X
C((Part 3)) --> X
X --> D((General Rule))
1.3. Abstraction¶
Removing unnecessary details to focus only on what matters.
flowchart LR
A[All Details] -->|Remove Clutter| B[Essential Ideas]
1.4. Algorithmic Design¶
Developing a precise, step-by-step plan to solve the entire problem or its sub-parts.
flowchart TD
A[Start] --> B(Step 1)
B --> C(Step 2)
C --> D(Step 3)
D --> E[End]
2. Commented Examples
2.1. Decomposition and Pattern Recognition¶
Problem: Find the sum of all numbers from 1 to 200.
Decomposition: Pair numbers from opposite ends:
1 + 200
2 + 199
3 + 198
...
Pattern Recognition: Each pair sums to 201.
Algorithmic Design:
- Create number pairs.
- Count the number of pairs (200 ÷ 2 = 100).
- Multiply: 201 × 100 = 20,100
2.2. Abstraction¶
A bus route planner ignores irrelevant details such as:
- building colors
- parked cars
- tiny alleyways
Planners keep only:
- main streets
- stops
- distances
- times
3. Short Practice Exercises
3.1. Decomposition¶
List four smaller tasks needed to organize a school Science Fair.
Show solution
- Reserve the venue.
- Assign booths.
- Prepare schedule and logistics.
- Create judges' materials.
3.2. Pattern Recognition¶
Identify the pattern in: 10, 20, 30, 40, 50...
Show solution
This is an arithmetic sequence increasing by 10.
3.3. Abstraction¶
A programmer builds a BMI calculator. Which details matter? Which do not?
Show solution
- Essential: weight, height.
- Not essential: hair color, music preference, phone number.
3.4. Algorithmic Design¶
Write an algorithm for checking out a book from a library.
Show solution
- Start.
- Pick a book.
- Go to librarian.
- Scan book.
- Scan library card.
- Confirm checkout.
- End.
4. Mini-Quiz
4.1. Which of the following best defines computational thinking?¶
A) A method for memorizing programming syntax.
B) A technique for translating code into natural language.
C) A set of methods for expressing problems and their solutions.
D) A way to optimize hardware performance.
Show answer
C) A set of methods for expressing problems and their solutions.
4.2. Breaking a complex challenge into smaller parts refers to:¶
A) Abstraction
B) Decomposition
C) Pattern Recognition
D) Algorithmic Design
Show answer
B) Decomposition
4.3. Showing only the Sun and planets to explain orbits is an example of:¶
A) Decomposition
B) Debugging
C) Algorithmic Design
D) Abstraction
Show answer
D) Abstraction
4.4. An algorithm is:¶
A) A list of random examples.
B) A precise, step-by-step procedure.
C) A collection of ideas.
D) Code written in Python.
Show answer
B) A precise, step-by-step procedure.
4.5. Finding similarities among sub-problems refers to:¶
A) Decomposition
B) Abstraction
C) Pattern Recognition
D) Debugging
Show answer
C) Pattern Recognition
5. Common Mistakes
- Confusing algorithm with program.
- Using vague steps ("do it", "fix it").
- Mixing Decomposition (break apart) with Abstraction (filter out details).
- Keeping irrelevant details.
6. Summary Mindmap
mindmap
root((Computational Thinking))
Decomposition
Break into parts
Manage complexity
Pattern Recognition
Identify similarities
Predict behavior
Abstraction
Remove noise
Focus on essentials
Algorithmic Design
Step-by-step plan
Precise instructions
7. Optional Extensions
- Decompose a daily-life problem.
- Identify patterns in a sequence you choose (e.g., even numbers, repeating schedules).
- Write an algorithm for a simple routine.