The coding movement certainly has gained a great deal of traction in a very short period of time. When you consider Seymour Papert’s work in the 70s and 80s, the last three years of Hour of Code are only a small, but significant blip on the historical timeline of Computer Science integration as a compulsory credit in schools. There were many before me right here in Ontario trying to create a movement towards a constructivist approach to learning, and not just in mathematics.
When we consider the importance of coding and Computer Science education, let’s not forget the importance is learning.
Coding plays a minor role in Computer Science education. However, it has taken on the only label of what CS is about. Computer Science is about how things work and how we can make them work better, using coding and other hardware tangibles. The key is that we must think critically about how things work and think critically about how we can improve them. The key to Computer Science is thinking. I am not suggesting we don’t think in other disciplines, I want to raise an awareness to the importance of coding and Computer Science beyond the “future jobs” narrative. No one can argue the Internet of Things will create a multitude of programming jobs in the near future. But many students won’t be professional coders.
“Computational thinking will be in every aspect of our economy.” – Satya Nadella
Providing students with open ended opportunities to think critically (with or without coding) creates problem solvers and independence, both of which are required skills for today’s industry. Experts have branded a set of skills as “21 Century Competencies” which include computational thinking. Coding also supports spatial sense and makes students think about possible scenarios. Regardless of their chosen profession, thinking critically provides students with a variety of perspectives.
Great chess players can visualize multiple outcomes and react accordingly to different moves from their opponent.
Excellent point guards are able to view possible situations on the basketball court in a matter of seconds. Professional choreographers think in repeating patterns and can visualize a team of dancers through a wide lens.
So why should students be coding in schools? Well, that depends on the goal or task. If you want to create a community of risk-takers,problem solvers and independent thinkers, give coding a shot. Tinkering, making, remixing and disassembling old technology also provide students opportunities to think computationally. Computer Science education is much larger than just coding. Ultimately, don’t we want students to decide for themselves what their future profession will be? You don’t know if you like broccoli until you try it.
Brian, I really like your thinking about truly teaching/supporting the development of thinking skills. Computer Science could certainly do that. I wonder if it’s “fear” to an extent that’s holding people back (me, to a degree, included). We can say that we can learn with our students, but when the learning that the students have to do seems so far outside of our comfort zone and skill level, how do we exactly do this? When we’re struggling, how do we support students? I’m not sure if there’s an easy answer to these questions, but they are ones that I continue to think about. I also think from a classroom perspective in terms of where do I begin? What if my students are developmentally way below Kindergarten level? What could provide them with a “good struggle?” What might this look like in other grades? How do we support struggling students along the way? (And not the “good struggling,” but the frustrated, close to tears, totally stressed part?) The more I read and the more I think, the more questions that I have. Any thoughts? Thanks for listening to my “stream of consciousness” thinking …
Aviva
Hi Brian,
I want to say that most (if not all teachers) want to create a community of risk-takers, problem solvers and independent thinkers. The issue with bringing Computer Science (or just even coding) into our classroom is that have to think about the BIG IDEAS within the curriculum, rather than the specific expectations that many of us get caught up in. There’s nothing about risk-taking and problem solving within the specific expectations of the Language curriculum, however, linking coding into my Grade One class has so many advantages for growth in Language and connect to the curriculum in so many areas. We need to break away from the constraints of the specifics. We need to really know the curriculum, know our students and be okay with leaping out of our comfort zone.
Thanks for making me think .
@jennivanrees
The word “inquiry” is mentioned in the Language curriculum a gazillion times. Could we use that as the umbrella for risk-taking and problem solving?
Inquiry is absolutely umbrella for risk-taking and problem solving. It’s just the big ideas again, not the specifics (which some teachers can get caught up in). Believe it or not, inquiry is actually only found in the Language curriculum 5 times. It does devote a paragraph to it, which speaks of questioning which can definitely be linked to CS. (see below for quote). My point was just that inquiry isn’t in the specifics, which stops some teachers from trying things that are not on the “checklist” to get through by the end of the year. Not necessarily correct thinking, but it’s out there. How can we change the thinking of teachers so that they can try others things to allow students to problem solve and become independent thinkers?
“Inquiry is at the heart of learning in all subject areas. In language, students are encour- aged from a very early age to develop their ability to ask questions and to explore a vari- ety of possible answers to those questions. In the primary grades, they begin to identify various sources that can help them answer the questions they pose. As they advance through the grades, they acquire the skills to locate relevant information from a variety of sources, such as books, newspapers, dictionaries, encyclopaedias, interviews, videos, and the Internet. The questioning they practised in the early grades becomes more sophisti- cated as they learn that all sources of information have a particular point of view and that the recipient of the information has a responsibility to evaluate it, determine its validity and relevance, and use it in appropriate ways. The ability to locate, question, and validate information allows a student to become an independent, lifelong learner.” (2006. Language Curriculum, P. 29)
Hi Brian,
A wonderful post! I agree 100% I often feel that people see me for coding. Maybe coding is the “in thing.” But I see our push as much more than that. I see computational thinking and algorithms as our thrust. I’ll take the coding attention, but I like to point to what we are really concerned about. Your comparison to chess is absolutely perfect. It neatly sums up how we are called to consider possibilities and make decisions based on chance, knowledge and choice. It is pure step-by-step thinking. Coding achieves this goal neatly because it encourages, as you say, problem solving, risk taking etc etc. I’m sure you would agree that coding can be aligned to every curriculum area and definitely every math strand. It will deepen their understanding of these areas. We can encourage teachers to take that “leap of faith.” But I also consider the complete opposite. What do we risk if our Canadian kids do not have this knowledge? Short answer: too much.
Enzo