A recent change.org petition urges the U.S. Senate to support more computer science courses across K-12 education. The petition, organized by the Computer Science Education Coalition in partnership with Code.org, cites the glaring discrepancy between a lack of computer science courses in schools and the large demand for computer science workers in the modern economy. According to the petition, “every student, in every school, should have a chance to learn computer science.”
Every child does deserve the opportunity to learn computer science. While every child may not display an affinity toward the topic or aspire to be a computer programmer, they need to have the opportunity to develop that interest.
Yet, even if they don't plan to code, every student should develop the Computational Thinking (CT) skills needed for coding.
As defined by ISTE and the Computer Science Teachers of America, CT is a “problem solving process” where learners define problems by decomposition; organize, analyze, and represent data with models; and use algorithmic thinking or a series of ordered steps to formulate and implement solutions. You can’t be a successful computer scientist without developed CT skills. Without the ability to think logically, identify patterns, and generalize solutions, it is difficult to write efficient and effective lines of code.
However, while computer science requires CT, CT does not require computer science. The benefits of CT extend beyond computer science and can be more broadly applied to solving problems and thinking systematically across disciplines.
ISTE and CSTA believe CT is also inherently associated with a host of desirable dispositions including persistence in difficult tasks, confidence and tolerance when working with open-ended problems, and effective communication and collaboration. The Harvard Graduate School of Education even added a perspective dimension to their CT definition. When engaged in CT, students believe they can use “computation as a medium for creation,” recognize “the power of creating with and for others,” and feel “empowered to ask questions about the world.”
Whereas, adding computer science courses can require new staff, new infrastructure, and/or new curricula, integrating CT into schools can be easy. CT skills are developed within the context of existing curriculum across the subject areas through “unplugged” activities, free from any technology. Elementary students publishing their favorite recipes develop their understanding of algorithms and procedures by decomposing a complex task. Middle school students making a video comparing and contrasting ancient civilizations are grappling with abstraction and becoming better collaborators. High school students iterating through an engineering design challenge are collecting and analyzing data to improve their final product.
Maybe CT skills developed in such project-based activities will never be applied to a future career in computer science, but they will be invaluable to whatever a child chooses to pursue in college, career, and life.