By Grant Smith
Computer science education is not a new field. Much of what we know about the pedagogy and content for elementary students comes from Seymour Papert’s research on teaching elementary students to code back in the 1970’s and 80’s. But, as we shift from labs and one-off classrooms to a broad expansion for all students in every classroom K-12, we are seeing changes to how computer science is taught. This means we are working in a rapidly evolving field (insert metaphor of building a plane while flying it). Over time, we have gone from a focus on coding (often in isolation) to a more broad idea of computer science as a whole, and now to the refined idea of computational thinking as a foundational understanding for all students.
Pause. You may be asking, “But wait, what’s computational thinking again?” In her book Coding as a Playground, Marina Umaschi Bers explained: “The notion of computational thinking encompasses a broad set of analytic and problem-solving skills, dispositions, habits, and approaches most often used in computer science, but that can serve everyone.” More simply, you can think of computational thinking as the thought processes involved in using algorithms to solve problems. Sheena Vaidyanathan writes some good articles explaining the differences between computer science, coding, and computational thinking here and here.
If you’re reading this, chances are you are interested in (or already are) teaching your students computational thinking. Whether it’s because you are on a mission to bring computer science to girls and racial minorities, meet the growing demands of parents and community members, or provide a critical 21st-century skill you understand the need. The tricky part is making it happen!
Many teachers are finding that the best way to teach computational thinking is by integrating it into other subject areas. This not only alleviates the pressure to find time for discrete lessons, it’s also a better application of computational thinking. Integration creates a more authentic and interesting learning environment. This concept isn’t new–in fact, Seymour Papert outlined it decades ago:
“In my vision, the child programs the computer, and in doing so, both acquires a sense of mastery over a piece of the most modern and powerful technology and establishes an intense contact with some of the deepest ideas from science, from mathematics, and from the art of intellectual model building.”
After all, if computational thinking is important because it applies to all fields, why aren’t we teaching it as an integrated part of other subjects?
However, there are barriers to integrating computational thinking found around curriculum and teachers. For the past few years, we’ve seen new “learn to code” curricula and websites spring up like weeds. A majority of them promise to teach your students to code through puzzles. Bers warns against these type of tools:
“As educators, we must be aware of [the impact of the tool] when thinking about pedagogical approaches for teaching coding. If our teaching is limited to puzzle-like challenges, we deprive children of the most powerful impact of computational literacy: expression with their own voices.”
Not only is self-expression through computational thinking important for the student, it’s vital for integration. The curricula and tools that use prescribed puzzles have very little wiggle room for teachers to modify and fit into an ELA lesson. These puzzles are the worksheets of computer science education and result in every student producing the same results. Again, Bers explains, “In terms of textual literacy, it would be like only giving children crossword puzzles to solve and expecting them to become fluent writers.” They are by no means the end-goal for computer science education, and are less than ideal for integrating computational thinking.
Now, before you scroll down to the comments section and write an angry response, let me clarify that those puzzle-based tools definitely serve a noble purpose. They serve as a starting point for educators who are looking to dip their toe into the seemingly dark and mysterious pool of computer science. But, the critical piece that is missing, the fuel that will boost our students to the next level and our teachers to computational thinking integration is: teacher pedagogical content knowledge.
In every other subject, we as teachers have to prove our content knowledge. It is expected that we know well beyond what we teach our students. In computer science, the mantra has been, “learn alongside your students.” This has served us well. It has empowered many educators to get started. But, we are now seeing educators hit a wall. They are finding their lack of content knowledge eventually becomes prohibitive, especially when they start trying to integrate computational thinking.
The lack of content knowledge is an intimidating mountain to climb. To use the words of Alan Turing, the father of theoretical computer science, “We can only see a short distance ahead, but we can see plenty there that needs to be done.” If we are serious about computer science/coding/computational thinking integration, it’s time to dig in and master the necessary pedagogical content knowledge. But as a teacher, the responsibility to gain this knowledge does not rest on your shoulders alone.
A lot of work needs to be done to provide teachers with ample opportunities to learn. Some pre-service programs are already starting to fold computational thinking into their elementary education courses. My own company, Launch CS, provides courses aimed at helping teachers gain critical content knowledge so they can feel empowered to integrate computational thinking. All of our training is based on Papert’s theory of constructionism, which means participants of our courses learn through fun and engaging activities (not a sit-and-get PD). Our recently launched virtual hybrid course, for example, is activity-based, collaborative, and includes real-world work and products. It’s our way of trying to provide authentic computational thinking training to teachers who will then, hopefully, be able to do the same for their students
In addition to our courses, I encourage all teachers to participate in as much computational thinking PD as they can find! Digital Promise has some great offerings, as does Google. Think about how many years of Math classes you took to qualify to teach 3rd grade Math–we all have a lot of catching up to do. I see the pursuit of computational thinking content knowledge as a multi-year journey. To end with some words of wisdom from Papert to remind us about the importance of this work:
“Now more people are doing work that requires individual decision-making and problem-solving, and we need an educational system that will help develop those skills.”
For more, see:
- How Can We Bring Coding into Authentic PBL?
- Advancing Computational Thinking Across K-12 Education
- Maker Space Promotes Problem Solving & Computational Thinking
Stay in-the-know with all things EdTech and innovations in learning by signing up to receive our weekly newsletter, Smart Update.