There are a lot of ways to think about problem solving. This article will take on three of these that we are hearing more about recently: computational thinking, algorithmic thinking, and design thinking.
While there are differences between each, they all blend critical thinking and creativity, follow iterative processes to formulate effective solutions, and help students embrace ambiguous and open-ended questions. So, without further ado…
Computational thinking is a set of skills and processes that enable students to navigate complex problems. As we wrote in another article: “Computational thinking is a map from curiosity to understanding.”
The computational thinking process starts with data as the input and a quest to derive meaning and answers from it. The output is not only an answer but a process for arriving at it. To be a map toward understanding, computational thinking plots the journey to ensure that the process can be replicated and others can learn from it and use it. At this juncture, computational thinking often feeds into algorithmic thinking.
The computational thinking process includes four key concepts:
Decomposition: Break the problem down into smaller, more manageable parts.
Pattern Recognition: Analyze data and identify similarities and connections among its different parts.
Abstraction: Identify the most relevant information needed to solve the problem and eliminate the extraneous details.
Algorithmic Thinking: Develop a step-by-step process to solve the problem so that the work is replicable by humans or computers.
Computational Thinking Examples
Computational thinking is a multi-disciplinary tool that can be broadly applied in both plugged and unplugged ways. These are some examples of computational thinking in a variety of contexts.
1. Computational Thinking for Collaborative Classroom Projects
To navigate the different concepts of computational thinking – decomposition, pattern recognition, abstraction, and algorithmic thinking – guided practice is essential for students.
In these classroom-ready lesson plans, students cultivate understanding of computational thinking with hands-on, collaborative activities that guide them through the problem and deliver a clearly articulated and replicable process – an algorithm 😉 – that groups present to the class.
2. Computational Thinking for Data-Driven Instruction
In this example, the New Mexico School for the Arts sought a more defined process for using data to better inform decision-making across the school. To do so, they developed interim assessments that generate actionable data, but the process of mining the data for relevant information was incredibly cumbersome.
Expediting and improving the data analysis process, they designed a coherent process for analyzing the data quickly to find the most important information. This process can now be applied time and time again and has enabled them to tailor instructional planning to the needs of students.
3. Computational Thinking for Journalism
To measure gender stereotypes in films, Julia Silge, data scientist and author of Text Mining with R, coalesced data from 2000 movie scripts. Decomposing the problem, she specified that she would specifically look at the verb association with male and female pronouns in screen direction.
By identifying patterns in sentence structure, Silge was able to measure and abstract data from these on a mass scale, which made the research possible. Her analysis then resulted in this article, She Giggles, He Gallops.
Algorithmic thinking is a derivative of computer science and coding. This approach automates the problem-solving process by creating a series of systematic logical steps that process a defined set of inputs and produce a defined set of outputs based on these.
Algorithmic thinking is not solving for a specific answer; instead, it solves how to build a replicable process – an algorithm, which is a formula for calculating answers, processing data, or automating tasks.
Algorithmic Thinking Examples
If you are like me, examples can help conceptualize how algorithms operate and what they are capable of doing. Here are three examples that cover algorithms in basic arithmetic, standardized testing, and our good ol’ friend, Google.
1. Algorithmic Thinking in Long Division
Without having to dive into technology, there are algorithms we teach students, whether or not we realize it. For example, long division follows the standard division algorithm for dividing multi-digit integers to calculate the quotient.
The division algorithm enables both people and computers to solve division problems with a systematic set of logical steps, which this video shows. Rather than having to analyze and parse through these problems, we are able automate solving for quotients because of the algorithm.
2. Algorithmic Thinking in Standardized Testing
A somewhat recent development in standardized testing is the advent of computer adaptive assessments that pick questions based on student ability as determined by correct and incorrect answers given.
If students select the correct answer to a question, then the next question would be moderately more difficult. But if they answer wrong, then the assessment offers a moderately easier question. This occurs through an iterative algorithm that starts with a pool of questions. After an answer, the pool is adjusted accordingly. This repeats continuously.
The purpose of this algorithmic approach to assessment is to measure student performance in a more targeted way. This iterative algorithm isn’t just limited to standardized tests; personalized and adaptive learning programs use this same algorithm, too.
3. Algorithmic Thinking in Google
Have you ever wondered why the chosen results appear for a query as opposed to those on the second, third, fourth, or tenth pages of a google search?
You guessed it! Google’s search results are determined (in part) by the PageRank algorithm, which assigns a webpage’s importance based on the number of sites linking to it. In other words, the algorithm looks at hyperlinks to a webpage as an upvote.
So, if we google ‘what is an algorithm,’ we can bet that the chosen pages have the most links to them for the topic ‘what is an algorithm.’ It’s still more complicated than this, of course. PageRank also looks at the score for the site that is linking to the webpage to rank the authority of the link. And there is still much more; if you are interested, this article goes into the intricacies of the PageRank algorithm.
What can we take away from this? There are over 1.5 billion websites with billions more pages to count, but thanks to algorithmic thinking we can type just about anything into Google and expect to be delivered a curated list of resources in under a second. This right here is the power of algorithmic thinking.
Design thinking is a user-centered approach to problem solving. Applying this technique enables us to take on vague and open-ended problems that don’t have a defined output.
Design thinking starts with asking: ‘why is this a problem?’ The process ends with a deliverable of sorts, whether technological or constructed with tape and paper. Rather than being a replicable approach like computational thinking or algorithmic thinking, design thinking is conceptual, and its outputs are unique.
The design thinking process contains the following steps: empathize, define, ideate, prototype, ideate, and test (plus improve).
Empathize: Research the needs of the user to understand why they have the problem and identify their pain points.
(re)Define: Specify and articulate the problem based on feedback from the empathize phase.
Ideate: Strategize different ways to solve the problem that fit the user’s needs.
Prototype: Build models of sample solutions.
Test: Try the prototypes, experiment with them, and seek feedback.
Improve: Consider what worked and what did not from the testing prototypes, return to the ideate phase to develop enhanced prototypes, and test again.
This is a non-linear process meaning that we return to steps and restart in certain areas. Design thinking is deliverable focused, making sure what we create best serves and represents the end user’s needs.
Design Thinking Examples
Design Thinking is widely applied. Here are a few examples of innovative and disruptive ways teachers, schools, and organizations are using design thinking.
1. Design Thinking Student Projects
In this article, Kristen Magyar, fifth-grade teacher and STREAM enthusiast, shares how she was inspired to create a toy invention unit based on the popular show, Toy Box. What makes this project so excellent is that Magyar tailored it to the students’ interests, knowing that learning is far more likely resonate when instruction is relevant to their personal experiences and interests.
The Toy Box unit was project-based and centered on the design thinking process. Students invented entirely new toys and pitched them to a panel of judges. Learn more about this collaborative project here!
2. Design Thinking for School Improvement
This interview features Sam Seidel, Director of K12 Strategy + Research at the Stanford D.School. He is passionate about using design thinking to reimagine education. He focuses in a part on school initiatives like project-based learning and state programs like standardized testing.
Seidel’s message is that as schools seek to innovate their processes and programs, they need to bring teachers into the conversations. Initiatives will not be as effective without the buy-in from teachers. He encourages school and district leaders, to empathize with problems teachers may have, develop solutions that match their needs and their student needs, and embrace an iterative process for honing the efficacy of these.
3. Design Thinking for Business Growth
Now we get to talk about my second favorite topics (education being the first), which is food. As one of many food delivery applications, UberEats uses design thinking to improve on a city-by-city basis. UberEats affirms that their work must be relevant to that of the users, and as a multi-national company, that means they must tailor their program to each city in which they operate.
To do so, UberEats immerses their employees in different cities by exploring and eating their way through the various cuisines (Um… can I sign up for this?), talking with restaurants, and meeting with platform users.
UberEats then translates the findings into prototyped solutions. They iterate quickly and are not afraid of making improvements on the fly to uphold their belief that a user-centered product will grow its market and outperform its competition.