Computational Thinking

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

Barr, V., Stephenson, C. (2011). Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community? ACM Inroads, 2(1), 48-54. Retrieved from https://id.iste.org/docs/nets-refresh-toolkit/bringing-ct-to-k-12.pdf
Exploring Computational Thinking. (2015). ECT lesson plan: indefinite articles [Lesson Plan]. Retrieved from https://docs.google.com/document/d/1bv86T3Wq-p1fMvZgjva5UwkTRXelGNmxso48qc7VC-A/edit#
Guzdial, M. (2017). ‘Generation CS’ drives growth in enrollments. Communications of the ACM, 60(7), 10-11. Retrieved from https://cacm.acm.org/magazines/2017/7/218874-generation-cs-drives-growth-in-enrollments/fulltext
International Society for Technology in Education, & the Computer Science Teachers Association. (2011). Operational definition of computational thinking for K-12 education. Retrieved from https://id.iste.org/docs/ct-documents/computational-thinking-operational-definition-flyer.pdf
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
Wing, J.M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33-35. Retrieved from https://www.cs.cmu.edu/~15110-s13/Wing06-ct.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

Turning Players into Coaches in PE Class Using Algorithms

Meet Dana, a sixty-year old physical education instructor at a K-8 school in Southern Oregon.

For my assignment to teach a colleague about algorithms and decomposition and then ask them to integrate them into an existing lesson plan, Dana was my choice for a couple of reasons. First, we both teach at a school that is part of an NSF-funded research project to instruct teachers on how to integrate CT into their lesson plans in core subjects, which limited the set of teachers I could work with on this assignment to only elective instructors in physical education, art, and drama; to work with any other teachers might skew the research results. Second, when news of the research project was recently published in the local paper, Dana was the first person to approach me about it and express her interest. A couple of weeks later, when I explained this assignment to her, she was incredulous at first, but quickly agreed to try. We scheduled to meet the following week.

Intervention

After thirty minutes of instruction on algorithms and decomposition, Dana was unable to determine how to incorporate algorithms into her classes. I suggested her students, prior to game start, could build algorithms composed of different strategies they could use to win the game, essentially giving her students the opportunity to use algorithms to become coaches.

After considering, she shared there was one defensive strategy that she had struggled to convince her students of in her Capture the Flag class. We spent the rest of the session using decomposition and algorithms to figure out how to teach that defensive strategy to her students. Once taught, they could set their defense correctly prior to the start of the game, as the first step in their “defensive algorithm.”

Discussion

While there were many possible reasons Dana was unable to figure out how to integrate algorithms into her class, from teacher ineffectiveness to lack of time for student understanding, I would like to focus on two specific ones: the limitations of the existing class framework, and the lack of an established algorithmic “language” or set of usable steps.

Part of what allowed me to imagine that her students could become coaches was my long study of computational thinking–far longer than the thirty minutes Dana had–and a full week’s preparation in thinking about how algorithms could be integrated into physical education.

But, more importantly, I was able to imagine that scenario because I was ignorant of inherent restrictions of the framework of Dana’s classes. For example, Dana shared that her philosophy for physical education was that students “should be able to run around without having to do any thinking as a break from their other classes,” a philosophy that was in direct conflict with the idea of having students think about algorithmic steps before engaging in play. But, the connection of algorithmic planning to coaching was a natural fit with physical education, and paired with Dana’s natural interest in CT, provided her with enough motivation to adapt her philosophy.

When I broached the subject of strategy, Dana also shared that she tried not to teach students too much strategy because she wanted them to “figure things out on their own,” but would try to instruct students during games if they continually repeated poor in-game decisions. However, based on her philosophy of play-unburdened-by-thought, she had eschewed intentional instruction of game strategy in her classes, so her students did not have any firm knowledge of individual strategic moves or concepts to use to build any sort of algorithm or “coach’s plan” prior to the start of a game. Dana could not conceive of her students building algorithms, because she understood that her students had no knowledge with which to build their algorithms.

Oddly enough, the main difficulty I had in communicating CT concepts to Dana was that I feared that the best examples I could have used to explain algorithms to her, as a strategic plan used by coaches in sports, were too similar to the solution she herself would have to figure out to integrate algorithms into her lessons; I too feared I would be giving away the answer!

In retrospect, as obvious as the link between a sports example would be with her own lesson plans, it would not have precluded her from having to consider exactly what changes she would have needed to make to her lesson plans. After all, we did discover that to have students plan algorithms before games, she would still need to teach them individual strategic moves.

Epilogue

Dana tried out her new algorithm-infused lesson plan yesterday and was tentatively happy with the results. Students stayed engaged with the lesson on a single instance of defensive strategy, shared their own observations, and even gave suggestions for a better alternate strategy. Afterwards, she noticed the students employing the strategy she taught in the set of games they played.

We were both intrigued enough by the results to resolve to find new strategies to teach, both defensive and offensive ones, to expand the palette with which students can construct their before-game strategies. It will be interesting to observe how students respond to the challenge of learning to be coaches, and we are hopeful this added mental dimension to physical education instruction will add to, instead of detract from, the overall enjoyment of her classes.

TPACK: Ambitions As a Writer NON-EXPLICIT*

This week, we learned about Technological Pedagogical Content Knowledge (TPACK), a remarkably succinct and super-sensible formal educational theory explaining how all three of those areas of knowledge plus contextual knowledge combine to make effective teaching and learning experiences.

Revised version of the TPACK image. © Punya Mishra, 2018. Reproduced with permission

To further illustrate, we created a video using pseudo-random kitchenware (technology), to prepare a predetermined food (learning goal). Luckily, my random kitchenware matched up pretty well with my predetermined food:

E. Hung. (2019). Cooking with TPACK, Take 2. Retrieved from https://youtu.be/TQfpFRx_kRI

See? The technology used in the classroom will affect how you teach and how content is communicated. If the tools aren’t a good match, teachers have to adapt to salvage their lesson plan! Pretty simple, right?

Except, I have a confession.

Four years ago in my first year of teaching, while researching computational thinking (CT), I discovered TPACK but didn’t understand it! I dismissed it as unrelated to CT and doubted its general relevance.

Tupac is not impressed via GIPHY.

I believe two factors contributed to my lack of understanding:

  • I had yet to acquire enough teaching experience to distinguish content from pedagogy. My early understanding was that I was supposed to disseminate content and provide a constructivist “lab” environment where students could experiment, which in my mind was simply a single endeavor called “teaching.”
  • I hadn’t yet read How People Learn, which described how experts with content knowledge often fail to teach it–my early teaching experience in a nutshell–lacking pedagogical content knowledge, which is the intersection of knowledge of content with knowledge of how to teach, or the knowledge of how to teach specific content. With that understanding in hand, I could easily comprehend TPACK’s remaining intersections.

It’s amazing how much timing and apropos learning can influence understanding, huh?

* Title does not actually describe the content of this post but instead is a pun based on the name of a deceased artist and his song.

References

Bransford, J. D., Brown, A. L., Cocking, R. R., Donovan, M. S., & Pellegrino, J. W. (Eds.). (2000). How People Learn: Brain, Mind, Experience, and School. Expanded Edition. Washington, DC: The National Academies Press. doi: https://doi.org/10.17226/9853
Gangsta Westside Gif [gif]. (2017). Retrieved from https://giphy.com/gifs/gangsta-popkey-westside-dOkqWfoEJ2IJG
Mishra, P., (2018). Revised version of TPACK image. Retrieved from https://punyamishra.com/2018/09/10/the-tpack-diagram-gets-an-upgrade/
Mishra, P., & Koehler, M. J. (2006). Technological pedagogical content knowledge: A framework for teacher knowledge. Teachers College Record, 108(6), 1017-1054.
Shakur, T. A. (1996). Ambitionz Az A Ridah [Recorded by 2Pac]. On All Eyes On Me [online]. Los Angeles, CA: Death Row Records. Retrieved from https://open.spotify.com/album/4CzT5ueFBRpbILw34HQYxi

Excited About Learning About How People Learn And About How People Learn To Code #EALAHPLAAHPLTC*

I feel like I’ve learned just as much about teaching in this second week of class as I have in the last four years of in-class teaching!

xxxbrewxxx. (2012, May 30). Mind Blown [Video file]. Retrieved from https://www.youtube.com/watch?v=LLpIMRowndg

There’s just something about being taught by a professional, instead of trying to figure things out on your own in the dark. Wearing sunglasses. And winter gloves.

Moreover, whereas I was slowly learning random bits of theory behind teaching based on my experiences (read: mistakes) in the classroom, now I can apply the theory I’m learning in class to the classroom. It’s a much more sensible process that I wish new teachers could start with, instead of waiting to get to graduate school to learn. Why don’t principals gift How People Learn to all new teachers?

Inspired by reading How People Learn, I went ahead and googled “how people learn to code” and found an academic paper “Learning and Teaching Programming: A Review and Discussion.” I felt the same reading that as I did reading How People Learn: they describe all the experiences and mistakes I’ve had in the classroom and more. I find it encouraging to discover that researchers understand my experience. They get me! They really do!

I feel like I could fail the remainder of my graduate career and still find the entire endeavor worthwhile just because of this past week.

By the way, I’ve written a three-page essay reflecting on my personal experiences with learning, understanding, and conceptual change, all of which are major concepts I read about this week in the first three chapters of How People Learn.

Oh, and I’ve included a description of my worst teaching moment in that essay. Uh…enjoy!

* not a real hashtag

References

Bransford, J. D., Brown, A. L., Cocking, R. R., Donovan, M. S., & Pellegrino, J. W. (Eds.). (2000). How People Learn: Brain, Mind, Experience, and School. Expanded Edition. Washington, DC: The National Academies Press. doi: https://doi.org/10.17226/9853

Blog at WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started