In the spring 1991, my freshman year high school history teacher had me and a couple of other promising students spend the entire semester researching and writing term papers on topics of our own choosing. Fast forward to a week before the due date, and I had read around a dozen thrilling books on the American Mafia1 but had not written a single word. I was simply overwhelmed by the sheer volume of information I had found. In the end, I managed to string together twenty pages worth of facts that were not organized in any coherent way, except perhaps chronologically, and turned in my term paper well aware of its failings but unaware of how to remedy them.
I did not know it at the time, but what I sorely needed was Computational Thinking (CT).
It would not be until fifteen years later in 2006 that Jeannette Wing considered computing’s fast growing influence in the physical sciences and presciently announced a reincarnation2 of CT as a universal problem-solving skill set. A mere one year later in 2007, the first iPhone started the widespread adoption of mobile devices that spurred demand for CS in K-12 education and a decade long growth of CS enrollment in universities (Guzdial, 2017). And in 2010, the National Research Council kickstarted research into CT in K-12 education.
What is Computational Thinking?
Computational Thinking (CT) encompasses a set of thought processes traditionally used in computer science (CS) to solve problems, achieve goals, and complete projects; processes such as decomposition, pattern recognition, abstraction, and algorithms. CT is especially good for clarifying and solving large complex problems or projects in any domain, like term papers or science projects, but is also effective for small problems as well.
Students who learn and practice CT will develop their ability to tackle uncertainty and complexity in problems in school assignments and in their own lives (International Society for Technology in Education & Computer Science Teachers Association, 2011). CT fosters an iterative mindset where students have the confidence to find solutions to difficult problems because they know they can try as many times as needed and make incremental improvements to gradually succeed. In practicing CT, students will learn that mistakes are not fatal, but helpful, and can be used to make the next version better, turning students who feel helpless and act clueless into students who are confident in experimenting with ideas and exploring creative solutions.
For teachers, CT is a way to integrate much needed and hoped for problem-solving instruction into the curriculum without having to make room in an already full curricular schedule. Because of CT’s usability across all domains (Barr & Stephenson, 2011; Yadav, Zhou, Mayfield, Hambrusch, & Korb, 2011), it can be taught in one subject and then used again and reinforced in another. Teachers need not be math and science experts to teach CT since it can be taught in english language arts and social studies, allowing all teachers to teach CT in conjunction with their strengths.
It is important to understand that even though CT is used by computer scientists as a precursor to coding as well as during the coding process, CT is not coding and can be taught without coding and even without computers (Yadav, et al, 2011). But in a world where computers are now everywhere, from satellites to coffee makers, from research labs to our back pockets; and used by everyone from grandmothers to toddlers, researchers hope that integrating CT in K-12 education will lead to broader participation in CS especially among underrepresented minorities and also better prepare students for the problems they will encounter in today’s modern technological world.
After all, if students are taught to think like computer scientists, if students learn to use the mental tools that computer scientists use, then, perhaps, hopefully, students will have an easier time learning to do the things computer scientists do.
That is the promise of CT.
Components of CT
The easiest of the CT skills to explain and use is decomposition, which is the breaking down of a large complex problem into smaller, more easily digestible and solvable parts. Organizing a term paper by creating an outline in English class would be one example. Delegating roles and tasks in a group collaboration is a way to decompose a group project. The separate branches of government, the way large corporations are organized into departments, or the way engineering projects are completed in phases are examples of large scale decomposition at work. Ultimately, decomposition is an organizational skill that allows people to focus on small parts of the whole, and complete large complex problems one small part at a time.
Pattern recognition is the finding and understanding of patterns in data. Analyzing climate data and identifying warming trends, looking at examples of expository writing on animal life cycles and discovering what type of information is repeated across reports and using those patterns to write one’s own report, surveying classmates and gathering data to look for patterns are all examples of pattern recognition. Finding repeated themes in literature and film, in music and art, in scientific phenomena all allow students to develop their observational and analytical skills.
Abstraction is the distillation of information and separation of details to convey key ideas clearly without any unnecessary or complicating specifics. Writing a inside-the-flap book summary without spoiling a book; communicating the essence of a subject, idea, or written material; drawing representations or models of physical objects that include key identifying details, but not every detail, are all abstractions. In engineering and CS, abstraction allows people to use complicated machines like automobiles and computers without having to worry about exactly how they work; the details of engine combustion and transistors are hidden while users need only interface with a steering wheel and keyboard. Social media is an abstraction of a person, showing only the most witty and photogenic parts of person, and obscuring all of one’s awkwardness and brokenness. Practicing abstraction allows students to clearly understand, use, and communicate key ideas without being bogged down with or overwhelmed by the details.
Lastly, algorithms, which is the component most closely aligned with computer science and coding, are step-by-step instructions to complete a task or solve a problem. Choreographing a dance, or making detailed plans for an event; writing detailed instructions for how to do an activity, planning before-game strategy in a team sport are all examples of creating and using algorithms. Closely related to algorithms is the idea of debugging: the step-by-step testing and fixing of algorithms or instructions for the purpose of improving their correctness and efficiency. Students that actively engage in debugging gain perspective on the value of mistakes and can learn to persist‐keep debugging‐until everything works.
Organization, observation, communication, and planning: these all sound suspiciously like management consulting skills! Could CT just be a set of existing skills rebranded for the modern age? Does it matter? Because there were never any management consultants calling for management consulting in K-12 education;3 it is computer scientists and educational researchers who have envisioned the use CT and its components in K-12 education, not to create a future consultants but future problem solvers capable of applying these skills in all domains including CS.4
CT in the Classroom
Because CT is a set of skills rather than a field of knowledge–CT is about the “how to” rather than the “what”–it can be easily integrated into existing lesson plans, where instead of merely having students learn content, the lessons ask students to use CT as a specific method for learning content.
An Example CT Lesson Plan
Take for instance the rules surrounding the use of the indefinite articles “a” and “an”. A typical lesson teaches students that “an” is used to refer to nouns that start with a vowel sound, whereas “a” is used to refer to nouns that start with a consonant sound. A CT-infused lesson on indefinite articles, as described by the Exploring Computational Thinking team at Google (2015), instead present multiple uses of “a” and “an” in existing sentences and explicitly ask students to use pattern recognition to discern the pattern themselves. Students are then instructed to write down an algorithm, a sequence of step-by-step instructions that, based on specific characteristics of a noun, determines whether to use “a” and “an”, and then test their algorithm out on a few sentences or nouns. In this way, instead of simply being told what the rule is, students are also given the opportunity to practice their pattern recognition and algorithm creation skills to determine the rule themselves. With CT, students have the tools to become more active participants in their education.
Integrating CT into existing lesson plans is a convenient and effective way for teachers to teach without having to learn new technology or any CS, lowering the barriers to teaching problem-solving skills. But, it should be noted that including computers in CT instruction has added benefits. Let us reconsider the CT-infused indefinite article lesson plan.
An Example CT Lesson Plan, With Computers
A CT-infused lesson plan with computers on indefinite articles can have students use computers to scrape children’s news sites or ebooks to quickly find a slew of sentences that include the use of an indefinite article. Students could then use the computer to search through those sentences for indefinite articles and noun pairs and quickly create an alphabetized list to assist in discovering patterns. Students could test their own algorithm against a computer generated list of words and compare the two for accuracy. Any discrepancies can be identified and used as data to improve their existing algorithm. This computer-assisted CT-infused lesson gives students added exposure in using computers, building their confidence and developing in them the identity of persons who are capable of using computers to solve problems, a key factor in encouraging underrepresented students to pursue CS.
Advanced CT Components
There are an additional set of CT components identified in literature: data practices (data collection, analysis, and representation), modeling, simulations, and automation, which are all widely used in the math and sciences to further understanding of mathematical concepts and scientific phenomena (Weintrop, et al., 2016). These can be considered advanced CT components since they are built upon the basic CT components. Data practices are an extension of pattern recognition, modeling and simulations are animated or visual abstractions, and simulations and automation are the application of algorithms. The use of these advanced CT concepts allow students to view and edit models to see the immediate effects of changing variables, aiding in the understanding of mathematical formulas or complex physical systems.
Students can use CT to solve problems and further understanding in multiple disciplines. It is a way for teachers to allow students to experiment, fail, retry, and persist in ill-defined and open-ended situations, building confidence and grit in their ability to find solutions. But CT also promises to prepare students for CS and prepare them for a world where a growing number of problems are created by computers and more and more problems are only solvable by computers. Recent events5,6,7,8 highlight the lack of equity and inclusion in CS and the need for engagement by a diverse population of students with different backgrounds, cultures, and values. Perhaps it is only fitting that CT in and of itself could be a solution to these problems.
My high school self would have been psyched to use decomposition to organize my term paper into more sensible chunks. Multiple attempts at abstraction could have helped me realize the most important parts of what I had read instead of thinking everything was important. CT would have turned what for me was an extremely frustrating and stressful writing assignment into the elation that students experience when they accomplish something large. Even now, nearly thirty years later, I smile at the how wicked awesome that term paper would have been if only I had CT skills at my disposal. CT promises to give students a better chance at experiencing those types of successes. It reminds them to take the first step and try, and gives them the tools to take the next step to make things better, and on and on until it all finally gets done.
References
National Research Council. (2010). Report of a workshop on the scope and nature of computational thinking. Washington, DC: The National Academies Press. doi:
https://doi.org/10.17226/12840
Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., Wilensky, U. (2016). Defining computational thinking for mathematics and science classrooms.
Journal of Science Education and Technology, 25, 127-147. Retrieved from
https://ccl.northwestern.edu/2015/Weintrop%20et%20al.%20-%202015%20-%20Defining%20Computational%20Thinking%20for%20Mathematics%20an.pdf
Yadav, A., Zhou, N., Mayfield, C., Hambrusch, S., & Korb, J.T. (2011). Introducing computational thinking in education courses.
SIGCSE ’11 Proceedings of the 42nd ACM technical symposium on Computer science education (pp. 465-470). New York, NY: ACM. Retrieved from
https://cs4edu.cs.purdue.edu/_media/ctmods_sigcse11.pdf
Footnotes
1 Francis Ford Coppola’s The Godfather III had just been released in the winter of 1990.
2 Seymour Papert first coined the term “computational thinking” in 1980 in his book Mindstorms.
3 This is pure but arguably reasonable conjecture. There is no money in education, so management consultants would never go near it.
4 Perhaps it is the promise of CT that sets it apart from management consulting skills?
5 Gupta, A.H. (2019, November 15). Are algorithms sexist? New York Times. Retrieved from https://www.nytimes.com/2019/11/15/us/apple-card-goldman-sachs.html
6 Ajunwa, I. (2019, October 9). Beware of automated hiring. New York Times, p. A27. Retrieved from https://www.nytimes.com/2019/10/08/opinion/ai-hiring-discrimination.html
7 Goethe, T.S. (2019, March 2). Bigotry encoded: racial bias in technology. Reporter Magazine. Retrieved from https://reporter.rit.edu/tech/bigotry-encoded-racial-bias-technology
8 Dean, S. (2019, December 2). Riot Games will pay $10 million to settle gender discrimination suit. Los Angeles Times. Retrieved from https://www.latimes.com/business/technology/story/2019-12-02/riot-games-gender-discrimination-settlement