Computational Thinking in Dishwashing and Texting
Posted by Giang Son | Sep 26, 2025 | 2 min read
I came up with fun examples of computational thinking.
"Computational thinking" might seem like a strange concept, known only to coders. Java coding probably scares you. But here's the thing: It's friendlier than you think.
Let’s take an example. When I was eight, my mother requested me to “wash the dishes”.
I used to joke about the literal meaning of that phrase: “I’ll only wash the dishes, and not the bowls, the chopsticks, the pans, etc.” Of course my mom didn’t mean literally “just the dishes”. She is using the phrase “washing the dishes” to refer to the entire process of putting all the equipment we used for cooking and eating into the sink, clean them, then leave them to dry. But it would be a mouthful to say “Son, wash the pans and the pot and the dishes and the bowls…” every meal. Instead, my mother taught me what “wash the dishes” meant, and just used only that phrase afterwards.
This is an example of abstraction: focusing on the most relevant information while leaving out unnecessary detail.
I can extend this abstraction kind of thinking to other examples: When you text your boss, you’ll only say “I’ll send you the report next Monday”. “Sending the report” is an abstraction – how you make the report and when you send it is up to you. It would be burdensome to include all those details into the text message; besides, your boss probably only needs the report, not the knowledge of how you make it. Perhaps you already know this, then you are already using abstraction – now you know it has a name.
But, this knowledge might be useful to your teammate, so maybe you need to tell them what to do step-by-step in great details.
- Collect and analyze the data.
- Create charts to visualize key findings.
- Write a short summary of your analysis.
- Put everything together in a PowerPoint or document.
- Save the file.
- Email it to your boss (and copy other relevant people).
This is what we mean by decomposition: breaking down a problem into atomic, actionable steps. Of course, this is a simplified example, so the decomposition is not perfect. You could, for example, further decompose “Write a short summary” step into small sub-steps like 'determine key takeaways' and 'draft executive summary'.
If you are a seasoned analyst, you know exactly “sending the report” entails. Yet, to young, inexperienced staff, they might need very detailed, broken-down style, step-by-step guidance – otherwise they might miss some steps in a complex process (it happens more than you think).
As you can see, computational thinking is not a strange concept, it is already a part of our life. I can give further examples as well, but maybe another time.