The classroom I led early in my teaching career was known as a “Life Skills” class for special needs students in kindergarten through second grade. These children worked hard to learn vital everyday tasks that may seem very simple to us.
Growing up, we learned these “simple” tasks through repeated trial and error and task analysis – in many cases before we had any type of language structure by which we organized our learning. Those skills exist in a large pool of unorganized learned skills that most of us gain strictly through experience.
For my K-2 students, most of their vital skills had to be taught to them explicitly many times in multiple ways. I discovered over time that some tasks were learned best and made automatic by having students discuss and model those tasks in smaller more manageable models.
I learned that the best way to help students with these early acquisition skills was to think about them not as individual tasks to teach, but processes to show and adapt.
This was the first “pseudocode” I ever taught. I found that by then having students teach and model those skills every day they became more adept at learning new skills as they generalized their learning process to the new experiences they encountered.
What does this have to do with Computer Science? Studying computer science formalizes this process in a way that helps CS students bring this high level way of thinking and interacting to any discipline.
Think about it this way
Whether we are learning to walk, talk, write, or solve differential equations, there is a process of smaller specific steps that must be learned to automaticity before we master any skill.
This is “computational thinking” and it’s something that many of us take for granted in that we do it innately much of the time.
We don’t think about the steps it takes for us to rise from a chair and orient ourselves in relation to our velocity and mass and the force needed to create those motions. Yet those calculations are made each time a motion is carried out by our body. At some period in our early lives, we spent a great deal of learning time testing and practicing those “simple” steps so well that they became “automatic.”
At its core, Computer Science is just the methods by which we teach a machine to perform simple tasks based on our instructions. Formalizing this process and then showing learners how the same process can be applied in multiple ways across multiple situations and formats teaches skills explicitly in a way that most of us struggle to articulate in actual practice.
All students benefit from Computer Science studies
Students who excel in CS are problem solvers, analytical observers, and creative thinkers. Students who can learn to generalize the critical skills of inquiry and examination across multiple subject areas are more able to excel in whatever learning is necessary to support them in their future goals for life.
By teaching young students how to think about the many small steps involved in teaching a task to a machine in order to reach a goal, we connect that learner to the essential skills needed to become a lifelong automatic learner who examines any new challenge in a systematic and structured manner.
Computer Science studies challenge students by asking them to learn skills that deal with systems and organized data structures. This gives them tangible models for organizing all types of skill-based learning in the future. Every learner needs this.
From artists to athletes, we talk about recipes for success. Students will continue to learn in other ways, of course – through the study of literature and history and art and by developing a deeper understanding of social-emotional experiences. If they also have the benefit of coursework in computer science, the new skills and insights they gain – across all the disciplines and throughout their human interactions – will be more easily integrated into the kind of organized and structured paradigm that becomes the framework for a rich and productive life.
The Alabama Legislature is currently considering legislation that will ensure Alabama’s public schools are providing the computer science education students need to enter a changing workforce and make Alabama a national leader in computer science education. Click here for information to contact your legislator and tell them to support HB 216 this legislative session.
Eleson Tanton is a STEM educator and advocate, currently serving as a Computer Science Teacher with Eufaula City (AL) Schools.
After 12 years as a Special Education teacher serving students with severe learning, communication, and behavioral challenges, Eleson left teaching for the business world, founding and later selling a small IT consulting company. He also worked as an IT project manager, network engineer, and systems designer.
“Having enjoyed the challenges of industry,” he says, “I returned to teaching with a great desire to help students become proficient using the tools of today to develop the innovations and experiences of tomorrow.” Eleson recently became a facilitator for A+ College Ready (Computer Science). “I want to grow interest in the field so that more students are exposed to the amazing opportunities that are available today and can be the innovators and experts of tomorrow.”