Explorations and Deconstructions
Encouraging Computational Thinking in Professional Development
Do you ever see something and can’t leave it alone until you figure out how it was made? It happens to me often. In fact, it happened just the other day. I’ve made a ‘spirograph’ application on Scratch, and I was looking at how other Scratchers have coded similar projects. I ran across one in particular that had a beautiful introductory scene. I watched it a few times from the project page before looking behind the scenes in the code.
The animation is composed of layers. The top layer is white rectangle that has cutout letters on it. The bottom layer has a gradient that fades from white to rainbow colors, then to white again. As the bottom layer slides from left to right, the letters are briefly visible. The idea is incredibly simple, and the effect is beautiful. Once I saw it, I had to make my own using letter cutouts to mask a moving layer. For projects like these, projects that involve manipulating shapes and images, I like using Keynote.
The Process (Keynote)
After seeing how the original project was made in Scratch, I wanted to create a title sequence for a video. Of course, there are tools that are made specifically for animating title sequences. I have Motion, for example. But I like making things in more democratic tools. Keynote is a free tool for all Mac and iPad owners and it is easy to use.
I was not working on any particular video at the time, but I had the idea in my mind. I open with a white slide, then the title is briefly visible, then the title scales up and becomes a window. The camera seems to fly through that window into the scene.
I started my Keynote project by creating a white slide with bold black text. I was careful to select a typeface that was bulky throughout. Then I took a screen capture of the slide and pasted it onto a new slide. Using Keynote’s instant alpha tool, I erased the letters, creating open spaces where the letters had been. Then, I created a new rectangle the same height as the erased text on my mask layer. Using the complex gradient setting, I created a rainbow pattern across the rectangle. Then, I moved the rainbow rectangle behind the mask and animated it to move slowly across the screen. I also layered an image behind the rainbow rectangle and used the scale and dissolve animations to give the impression of a window.
Masks can provide so many interesting on-screen effects. For example, I had previously used masking to animate creatures like the ones at the top of this post. The eyes on the faces are open spaces where the pupils and eyelids slide in and out of view. Sliding colors and images behind open letters was something I had not thought of before — and this new idea opened so many creative possibilities for me.
The Process (Scratch)
Of course, I also wanted to replicate the project in Scratch. For the top layer, I created a sprite that consisted of a large rectangle. I used the eraser tool to cut out the letters in it. For the bottom layer, I created another rectangle made up of smaller color-filled stripes. My abilities with the drawing tools in Scratch are not so great and I did not like what I made originally. In the end, I resorted to exporting my Keynote images as PNG files and uploading both the text and the rainbow rectangle as sprites. Then I coded the animation aiming for the simplest code possible.
I created the same on-screen effect in two very different tools. One is known as presentation software. The other is a very accessible coding environment. Both animations required similar amounts of work and effort. Each of the two projects could be a part of a larger project, but that wasn’t really my main interest: I just wanted to see if I could replicate the project I had seen using tools I know. To do so, I had to think deeply and solve problems, taking me beyond those tools’ basic use. And this has led me once again to a significant argument: we should be teaching how to think through problems rather than focusing too narrowly on the how-to of specific tools.
Confining computational thinking and creative problem-solving to coding environments is nearsighted, restrictive, and exclusionary.
Computational thinking is a relatively new term, but problem-solving and creativity have been an essential component of human life for as long as there have been humans. Confining computational thinking and creative problem-solving to coding environments is nearsighted, restrictive, and exclusionary.
This narrow definition of computational thinking is seriously problematic when we look at the overall use of digital technologies in education. When we silo an important idea such as this, it is easy to assign the responsibility of helping learners develop this problem-solving skill to “others” — technology teachers.
I wonder if educators do this because they don’t have a good grasp on what computational thinking actually is. For example, I have often heard computational thinking equated to just coding. I’ve also known educators who think there is a hard link between computational thinking and mathematics, and little else. All of these views are myopic, and they defeat the purpose of teaching computational thinking in the first place. Helping educators and students understand the very nature of thinking through a problem and developing solutions regardless of the tool should be a at the forefront of our efforts make school more relevant.
Recipes vs. Explorations
Comparing and ranking uniform end products takes little time or effort. Sadly, it also results in little to no learning beyond the tools themselves…
When thinking about technology in education, it is easy to fall into the expediency trap. Asking learners of any age to play with a few building blocks and seeing where they end up is much more time consuming than giving them an instruction sheet. The end result when following an instruction sheet is predictable and uniform across the board (think of a room full of assembled IKEA shelves). The assessment of an assembly project is also easier. Comparing and ranking uniform end products takes little time or effort. Sadly, it also results in little to no learning beyond the tools themselves, and what we are really grading is how well the learners can follow instructions. On the other hand, giving learners a challenge that requires them to determine their own actions can be messy.…
We need to find a middle ground that supports both open-ended projects and the teachers who guide and assess them.
Tools vs. Tasks
For much of my teaching career, a large portion of my work has been providing professional development for teachers, helping them enrich learning activities through the use of digital technologies. Of course, I’ve created the requisite video, text, and image tutorials and have led teachers through in-person sessions. There is never a lull in the demand for tech tool tutorials since the only constant in technology is change. When your faculty and student body have had enough time to become experts at using any particular tool, along comes an updated version or a completely new product.
After so many years in the field, there is one truth that stands out: teaching a tool without a valid context — without giving my audience an authentic reason to use the tool — is an absolute waste of time. And, as a corollary, focusing too narrowly on the how-to for the tool rather than providing a broader purpose that helps people explore possibilities will yield a low use of that particular tool. Poisoning the well by focusing only on how-to recipes can even lead to disenchantment with other existing tools — it all becomes just a meaningless set of exercises that no one really cares about.
Why is all of this such a problem? Let me explain.
Teaching Through Tinkering and Conversations
Unless we are talking about a single-use tool, it is pretty hard to teach anyone everything there is to know about a tool when following a recipe. Let’s take a look back at the animation I described at the start of this post. If I teach a class focused on how to make an animation just like mine by giving participants a step-by-step guide, they walk away knowing how to recreate my project. The project was of interest to me, but may not be of interest to them. They walk away having checked the “attended a tech session this year” box but their practice as a teacher and their understanding of the tools they used is likely unchanged.
Rather than walking participants through the process of creating a sample, let participants deconstruct and alter ready-made samples that showcase different approaches.
What if I approach this from a different angle? The task is to make something temporarily visible on a screen using layers. Rather than walking participants through the process of creating a sample, let participants deconstruct and alter ready-made samples that showcase different approaches. Focus the conversation on how participants can use what they are learning. Let everyone share.
Imagine the discussion that could emerge around a few basic questions posed to participants: “Can we use this idea of hiding and showing by using layers in different contexts using different tools?” “What are the advantages and disadvantages of the tool you’re using?” “Which yields the most effective result in terms of communication?” “Which yields the best result in terms of aesthetics?” “Which is the best overall — and why?” Inviting participants into a critical process rather than asking them to follow a standardized recipe results in a wider exploration of tools and methods and lets participants follow their own interests and find something that would fit their classroom. Some of them may choose artistic purposes (as with my title sequence) but others might consider storytelling, data visualization, illustrating a scientific concept, etc. In every case, because participants have been caught in a critical challenge — because they’ve been asked to perform “computational thinking” — they’ll leave with a more complete understanding of the tools as well as the purposes for using them. In other words, their thinking and practice will have changed.
Following a Model
I started out this post by talking about a specific Scratch example. I mentioned a particular project, but the ideas have been percolating for a while. Over the summer, I participated in a unique learning experience. The #GettingUnstuck event from the ScratchEd Team was free, informal, and very loosely structured. Over a two week period, each weekday, the team issued a daily challenge for participants. We were asked to use a particular block or combination of blocks to make something. Then we were encouraged to share our creations. Moderators used the commenting features on the Scratch website to give feedback and ask questions that sparked discussions about both the product and the process. On each of the two Saturdays during the event, participants could join a live even via Zoom to meet other participants and talk about Scratch, the event, and just make friends.
In a year of stress and isolation, these two weeks were very special for me. I met some really amazing people from all over the world, and I got to see lots of cool and creative projects. The wide range of projects that came from the very simple challenges blew me away and helped me see so many new possibilities. What I learned by looking under the hood of everyone else’s projects, understanding what and how they made things, has really stuck with me. It would have taken weeks and weeks of traditional “sit-and-get” workshops to learn a fraction of what I learned over those ten days. And that “sit-and-get” content would have been forgotten within days. Having so many educators creating, sharing, and having purposeful conversations pushed participants to stretch and learn in ways that cannot happen when we just follow a recipe.
This is the kind of learning that does not result in assembly-line products to be compared and ranked, but actually respects learners’ abilities, preferences, and instincts. This is the kind of learning that lets teachers find the best fit for any tool within their own classroom and for their own students. If we can apply these ideas to professional development offerings in our own environments, maybe we can start to change how we do school for the better, too. Maybe we can finally stop training teachers on where to click and how to drag and can work towards a more humane use of technology in teaching and learning — and that will hopefully influence the way they train learners, too.