Geometric formulae

A few years ago, there was a movement that emerged: Hour of Code–an opportunity to get students to spend one hour doing a coding activity. There were several organizations that immediately jumped to the forefront, perhaps none more prominent than Code.org, a non-profit dedicated to expanding access to computer science in schools and increasing participation by women and underrepresented minorities. There were several games and fun activities for students to begin exploring how accessible block-based programming can be. Hour of Code took off in many schools across the country and proved to be a low-barrier way for teachers and students to get involved in computer science. As it expanded and demand for coding and computer science activities grows, many schools are looking for ways to expand and incorporate computer science into other subject areas. This led some schools to investigate computational thinking (CT) as “habits of mind” that can be fostered as a means for supporting computer science education.

In 2016, Reedy Creek Middle School partnered with the Friday Institute to begin implementing CT school-wide as they transitioned into a magnet school: The Center for the Digital Sciences. From the outset, however, they discovered that CT was broader than just computer science. In fact, as the teachers would discover, CT isn’t altogether new. As we worked through different words, ideas, and implementation strategies, we began to understand that CT has always been a part of a strong, metacognitive classroom environment.

Computational thinking wasn’t born out of computer science. Computer science was born out of computational thinking.

Based on the work of George Stiny, Derek Ham, and (of course) Seymour Papert among others, CT is a fundamental part of being human. There are four initial stages to psycho-cognitive neurological development (in regular-person terms: the stages the human brain goes through that makes it uniquely human).

SENSORY: The human brain begins development with sensory awareness or input. It’s not able to really do anything with that information, but it’s able to perceive light/dark, hot/cold, etc. You might consider this stage the ‘identification’ of inputs.

SPATIAL: As the brain develops, it begins developing spatial/volumetric awareness. Hotter, colder, etc. This pairs with sensory thinking to begin developing a framework of how the world works insofar as you are a passive observer/operant within that framework. This stage is about quantification and measurement. But what if you want to make changes? What if you want to understand how the framework of the world around you will respond if you begin making modifications or adjustments?

COMPUTATIONAL: This is the next developmental stage: computational thinking. The brain begins exploring, “what happens if I _____?” and then it compares the results with expectations. Computational thinking is the full utilization of the first two kinds of thinking (sensory and spatial) that then adds the ability to exert agency. At its core, CT is about modification or manipulation. These first three stages (sensory, spatial, computational) are taking place when we are just months old. We develop these abilities before we have the ability to articulate them and, even as we grow older, we have tremendous tacit thinking capabilities and it is often our inability to express our thinking adequately that hinders our collaborative efforts. It makes sense to us, but we need something else to be able to make our thinking clear to others.

LANGUAGE: The final stage is the development of language. So, before you can articulate what you’re doing, why you’re doing it, or what you hope to learn, you intuit that the world around you is there for you to understand and manipulate. Remember when your geometry teacher made you write proofs and you spent as much time trying to figure out how to say you know what you know as you spent just solving for the correct answer? You could think computationally, but it was language that was holding you back. The main theme for this stage of development is articulation. This stage is not computational thinking directly, but it is the metacognitive ability to translate our computational processes into language that others can interpret and understand.

Why does this matter? Simply put: the better you can get at thinking computationally and being able to articulate your computations, the more agency you can exert on the world around you, the more you can own your learning, and the deeper your understanding of your environment will be.

Hierarchical layers of psychocognitive development

What does this mean for classrooms? First, you should understand that you’re already doing computational thinking. You just might need to make it more explicit or look for natural ways to encourage students to manipulate their environment. This might come in the form of simulations or it might be that students identify and then manipulate patterns as they emerge. At Reedy Creek, we’ve focused (so far) on pattern recognition, decomposition (breaking things down into their component pieces), algorithms (rules, processes, & procedures), and abstraction (in the form of removing highly specific information to make more generalizable statements). Each of these four ideas center around students understanding and then manipulating the world around them. There are more ideas that we’ll continue to explore, but these four have served as a pretty good starting block to help us see content and knowledge structures as variables worth changing.

Keep an eye out for future updates from the Friday Institute about how we approach computational thinking, but for now, look through your lessons and wonder, “what if we changed this…?” And yes, you get to decide what this is. What will you change? Will you change the characters in your story? Will you change the way you teach fractions? Will you try to see patterns that lead to international war? Will you create algorithms for processing a text? Once you start looking at your lessons this way, you are well on your way to exploring how computational thinking is already present in your lessons. You just have to look for it!