Teaching Computational Thinking

Version 3


    A month ago, vkajones shared a change.org petition that urged the U.S. Senate to support more computer science in K-12 education. The petition, organized by the Computer Science Education Coalition in partnership with Code.org and signed by a wide swath of business leaders, governors, and education leaders, cites the glaring discrepancy between a lack of computer science courses 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 deserves 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.


    However, the benefits of CT extend far beyond computer science. CT introduces students to data: how to collect, organize, and represent it, and most importantly, how to use data to better understand our world and solve problems.


    Whereas, adding computer science courses may require new staff, new infrastructure, and/or new curricula, integrating CT into schools can be easy. CT and working with data skills can be developed within the context of existing curriculum across the subject areas through “unplugged” activities, free from any technology. Elementary students asked to collect data from their peers to inform classroom decisions are discovering the value of data. Middle school students exploring different strategies for visual representation of data collected during a science experiment are using critical thinking skills. High School students iterating through an engineering design challenge are collecting and analyzing data to improve a 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.


    What do you see as the value of teaching Computational Thinking in school? How do you embed activities into your classroom activities to develop CT skills?