Computational Thinking Exercises¶
Day 1 Activities¶
Exercise 1: Algorithm Writing - "How to Make a Sandwich"¶
Objective¶
Understand that algorithms are precise, step-by-step instructions.
Instructions¶
- Write step-by-step instructions for making a sandwich
- Exchange instructions with a partner
- Follow your partner's instructions exactly as written
- Discuss: What worked? What was missing?
Discussion Questions¶
- What made some instructions better than others?
- Why is precision important in algorithms?
- How does this relate to computer programming?
Extension¶
- Write algorithm for "How to Brush Your Teeth"
- Identify patterns (repetitive steps)
- Create abstraction (generalize the process)
Exercise 2: Pattern Recognition - "Find the Pattern"¶
Objective¶
Recognize patterns in sequences and data.
Activity¶
Pattern Sequences: 1. 2, 4, 6, 8, ? (What comes next?) 2. Red, Blue, Red, Blue, ? (What comes next?) 3. Circle, Square, Circle, Square, ? (What comes next?)
Real-World Patterns: - Daily routines (wake up, breakfast, school, etc.) - Seasons (summer, autumn, winter, spring) - Math patterns (multiplication tables)
Discussion¶
- How do patterns help us solve problems?
- Where do we see patterns in our daily lives?
- How can recognizing patterns help in coding?
Exercise 3: Decomposition - "Plan a School Event"¶
Objective¶
Break complex problems into smaller, manageable parts.
Activity¶
Task: Plan a school science event
Steps: 1. List all the things needed for a science fair 2. Group related items together 3. Break each group into smaller tasks 4. Create a timeline
Example Decomposition: - Venue: Book hall, set up tables, arrange seating - Participants: Invite students, register projects, assign spaces - Judging: Recruit judges, create criteria, schedule judging - Publicity: Create posters, send invitations, announce winners
Discussion¶
- Why is it easier to solve small problems than one big problem?
- How does this relate to writing computer programs?
- What happens if we skip steps in decomposition?
Exercise 4: Abstraction - "Describe a Car"¶
Objective¶
Focus on important details while ignoring irrelevant ones.
Activity¶
Task: Describe a car to someone who has never seen one
Levels of Abstraction: 1. Very Detailed: "A red 2020 Toyota Corolla with 4 doors, 5 seats, engine in front, wheels made of rubber..." 2. Moderate: "A vehicle with 4 wheels, engine, seats, used for transportation" 3. Abstract: "A machine that moves people from one place to another"
Discussion¶
- Which description is most useful? Why?
- When do we need detail? When can we use abstraction?
- How does abstraction help in programming?
- Example: In Scratch, we use "move 10 steps" without needing to know how the computer calculates pixels
Exercise 5: Algorithm Debugging - "Fix the Instructions"¶
Objective¶
Understand that algorithms must be correct and complete.
Activity¶
Broken Algorithm: "How to Make Tea" 1. Put water in kettle 2. Add tea bag 3. Pour hot water 4. Drink tea
Problems: - Missing: Turn on kettle, wait for water to boil, remove tea bag, add sugar/milk - Wrong order: Tea bag added before water is hot
Task: Fix the algorithm
Discussion¶
- What happens when algorithms have errors?
- How do we find and fix errors? (Debugging)
- Why is testing important?
Exercise 6: Computational Thinking in Daily Life¶
Objective¶
Recognize computational thinking in everyday activities.
Activity¶
Choose a daily activity and identify: - Decomposition: What are the steps? - Pattern Recognition: What patterns exist? - Abstraction: What are the key details? - Algorithm: What is the sequence?
Examples: - Getting ready for school - Cooking a meal - Doing homework - Playing a game
Reflection¶
- How do you already use computational thinking?
- How can you teach this to students?
- What activities in your subject use computational thinking?
Assessment Rubric¶
| Component | Beginner | Developing | Proficient | Advanced |
|---|---|---|---|---|
| Decomposition | Can identify main parts | Can break into sub-parts | Can create detailed breakdown | Can identify dependencies |
| Pattern Recognition | Recognizes obvious patterns | Finds patterns in sequences | Identifies patterns in complex data | Creates patterns |
| Abstraction | Describes with all details | Can simplify descriptions | Focuses on essential details | Creates useful abstractions |
| Algorithms | Can list steps | Creates ordered steps | Writes precise instructions | Tests and debugs algorithms |
Integration with DBE Subjects¶
Mathematics¶
- Problem-solving strategies
- Logical reasoning
- Pattern recognition (number patterns, geometric patterns)
Languages¶
- Following instructions
- Clear communication
- Sequential thinking (story structure)
Natural Sciences¶
- Scientific method (decomposition)
- Observing patterns in nature
- Abstracting scientific concepts
Life Skills¶
- Critical thinking
- Decision-making
- Planning and organization
Extension Activities¶
- Create a Computational Thinking Poster
- Design a poster explaining the four pillars
- Include examples from your subject area
-
Share with other teachers
-
Student Activity Design
- Create an activity for your students
- Focus on one computational thinking concept
-
Include assessment criteria
-
Cross-Curricular Project
- Design a project that uses computational thinking
- Integrate multiple subjects
- Plan implementation steps