When I set out to integrate computational thinking (CT) into a Spanish-language lesson, I kept asking myself, “How on earth am I going to pull this off?”
As a former Spanish language teacher, I wanted to challenge myself to combine what I know with what I was learning: language instruction and CT. I wanted to put myself in the shoes of teachers dipping their feet into this world because I’ve always felt learning by experience is powerful. With this determination, I set out to create this CT-Spanish lesson for my hypothetical classroom.
As I sat down to start, I had a lot of questions about CT. I knew there had to be a core problem to solve, but I kept getting stuck. I kept asking myself, “How does computation fit into a world language lesson? What even makes a problem computational?” It was all new to me, but I had to start somewhere and I figured my questions would be answered as I progressed.
Below are some takeaways I gathered from my experience.
Takeaway 1: Reflect on where data, algorithms or CT elements fit into your content.
Identifying a problem to solve is pivotal to the CT process. A problem suited for CT — a computational problem — incorporates analyzing data and designing an algorithm (instructions to follow) to arrive at a solution understandable by a computer or human. Often they are open-ended questions or have multiple solutions. Below are some examples of computational problems:
Problem 1: “Where should human-made oyster castles be placed in a waterway to increase oyster populations in the bay?”
This question fits the criteria because:
It’s open-ended; doesn’t result in a “yes” or “no” answer.
It requires that data (previous locations of castles, their sizes, construction materials, etc.) will be analyzed to make a decision.
Following an algorithm can determine the best spot for this castle
Problem 2: “How can we reduce food waste in our school?”
This question fits the criteria because:
It’s open-ended with multiple solutions that are all good depending on the situation. It requires that data (amount of food wasted, what kinds of food discarded, what time of day, where is food wasted, etc.) will be analyzed to make a decision.
An algorithm will provide a solution. (Something like do A, which will result in B or C, which will result in D, E, F, or G etc.) Eventually following this will end in a solution decreasing food waste.
Creating a computational problem was the hardest part of my lesson. I chose to focus on pattern recognition (one of the CT elements) as my starting point. I asked myself, “When do students work with patterns in a world language class?” I then had my first lightbulb moment. Pattern recognition is at the core of language instruction!
I began to think of some examples like verb conjugations and studying sentences, which make up the bulk of formal language study. Then my mind came to poetry; this was my second lightbulb moment.
Poetry is packed with pattern recognition! identifying rhyming patterns and counting syllables per line are two examples of pattern recognition. Poetry contains the data students will analyze! I had an idea. Now it was time to elaborate on it.
Takeaway 2: Brainstorm the core activities of your problem and where CT elements fit in.
My students would identify key characteristics like rhyme scheme and syllables in a specific poem style and create a general rule to identify this type of poem.
This was the general flow of the activity! After some rewording, I came up with the computational problem “How can we identify and classify poems?”
Planning a general road map of activities can often lead you to a question to solve. Thinking about the end can clarify the starting point.
Takeaway 3: Study your situation for guidelines.
Coming up with a computational problem requires some reflection on your specific teaching situation. It’s different for everyone. Since my lesson was an exercise in creating a lesson, not one that would be taught, I wasn’t limited by real students, curriculum and classroom time, meaning I had plenty of freedom to tailor the details.
On the other hand, it would have been nice to have concrete boundaries. Knowing students’ general abilities or what the curriculum requires would have helped filter initial ideas. Poetry would be difficult for beginning students, and simple grammar or vocab activities might have been too simple for advanced students.
A computational problem sets the stage for the rest of the CT process. It’s the North Star. Often it’s the part that requires some serious creativity. Use your situation as a way to filter ideas and get on track. What’s a problem you think your students could solve? What’s a problem that’s interesting to them? What does the curriculum say? What’s a problem professionals are trying to solve or have solved before that you could emulate? Your classroom will guide you.
Takeaway 4: Shift your focus toward “thinking” and away from “computation.”
Teachers new to CT, especially non-STEM teachers, might see the word “computation” and think it has nothing to do with them. I also thought this. But it’s not true!
Like technology, CT can be applied to any subject! All it takes is a little rethinking of your subject. Where in your content can you look for patterns? What are some specific procedures that are done? What are the open-ended problems/questions? The seeds for a truly great computational problem are in your content already. Thinking first, computation second.
CT doesn’t require coding, and can be done completely “unplugged.” Focusing your efforts on developing logical thinking, problem-solving, and inquiry-based thinking might give you some ideas.
If I overcame my perception of merging CT and world language — two subjects I thought had no relation — you can too! I am a firm believer in the idea that it is better to start and improve than to aim for perfection on the first go. As Tracy Kim, a third-grade teacher at Fullerton School District, says, “Learn a little, teach a little.” Anyone at any time can engage with CT, and it all starts with a problem to solve.
Where do I start?
Ready to get started teaching CT? Here are some good resources for you:
Nick Pinder is a project manager of computational thinking and higher education projects at ISTE. Nick is interested in the promotion of computational thinking and its intersection with language instruction specifically and the humanities in general.