What is Computational Thinking?
Computational Thinking is the process of formulating a problem, finding a solution to that problem and expressing it in such a way that both humans and machines can understand the solution.
It involves the use of problem-solving methods to decompose the problem into smaller, manageable subproblems, and identifying the right abstractions so as to deal with scale and complexity. Further, it is used to find existing patterns or models that can be adapted and building an algorithm to solve the problem. Moreover, in the case of multiple solutions, it focuses on analyzing those solutions on multiple parameters to identify the one that best meets the given situation.
Computational Thinking is an analytical thinking skill that draws on concepts from computer science, but it is a fundamental skill useful for everyone (Wing [2006]). Computational Thinking as a practice is central to all sciences and not just computer science. There is hardly any profession where computers and computational methods are not used. Computational Thinking concepts are used in other disciplines including biology, health, retail, transportation, history, journalism, finance, and archaeology.
Students who can think computationally are better able to conceptualize, understand and use technology, helping them to be better prepared for the future.
It is said that by the middle of the 21st century, Computational skills would be essential skills like reading, writing, and arithmetic! This is why it becomes imperative that we teach Computational thinking in schools.
Computational Thinking in K-12 Education
The National Research Council (NRC) (NRC [2010]) has highlighted the importance of exposing students to computational thinking notions early in their school years and helping them to understand when and how to apply these essential skills. Computer Science Teachers Association (CSTA https://www.csteachers.org/) and the International Society for Technology in Education (ISTE https://www.iste.org/) have presented a Computational Thinking Framework for K-12 schools in 2011 with core Computational Thinking concepts and capabilities, including data collection, data analysis, data representation, problem decomposition, abstraction, algorithms and procedures, automation, parallelization, and simulation (CACM [2017]).
Algorithms are central to both computer science and Computational Thinking. Algorithms underlie the most basic tasks everyone performs, from following a simple cooking recipe to providing complicated driving directions. There is a general misconception that algorithms are used only to solve mathematical problems and are not applicable in other disciplines, whereas there are enough examples from daily lives that require us to use algorithms. For example, the steps involved in brushing teeth, getting ready for school, steps performed during a lab experiment and so on. Understanding and articulating algorithms as a sequence of precise steps, helps us develop an algorithm that can be understood by a human or a machine, in the latter case implemented by a computing program.
Abstraction helps students learn to strip away complexity and unnecessary detail to focus only on the important parts of the problem. A number of leading research, educational, and funding organizations have argued for the need to introduce K-12 students to these core constructs and practices. Students can be exposed to the Computational Thinking concept of abstraction by creating models in physics (such as a model of the solar system).
Cambridge University Press has recently introduced ‘Coding Sandpit’ to inculcate Problem-Solving and Computational Thinking.
The series is authored by The Association for Computing Machinery (ACM), which is an educational and scientific computing society. It is famous for handing out the Annual Turing Award, which is considered as the Nobel Prize for Computing.
Coding Sandpit is a step by step initializer for students to learn coding in a fun and engaging way. Coding Sandpit has been designed to promote Computational Thinking, problem-solving and critical reasoning skills. The program aims to enable young learners to:
• Use Computational Thinking to solve problems across different subjects
• Make them a skill- ready for the Digital Revolution
• Program a computer to solve complex tasks
• Obtain solutions in a systematic manner
• Explore ideas and articulate solutions as algorithms
Cambridge is making coding fun & engaging With Code Monkey, an engaging platform where programming knowledge is acquired alongside 21st-century skills through collaboratively playing and solving puzzles, inventing, creating and sharing.
Code Monkey, brings fun, knowledge, and opportunity into the lives of millions of learners around the world. The platform fosters in a deep understanding of technology and pedagogy, and the result is a situation that both teachers and kids enjoy tremendously.
With Computational Thinking, you will see your children getting smarter day by day.
References:
Tucker, F. Deek, J. Jones, D. McCowan, C. Stephenson, and A. Verno. 2006 A Model Curriculum for K-12 CS (2nd ed.). http://csta.acm.org/Curriculum/sub/CurrFiles/K-12ModelCurr2ndEd.pdf
CAS-UK. Computing at School Working Group http://www.computingatschool.org.uk, http://www.computingatschool.org.uk/data/uploads/CAS_UKCRC_report.pdf
Wing, J.M. Computational thinking. Commun. ACM 49, 3 (Mar. 2006), 33–35
National Research Council. Report of a Workshop on The Scope and Nature of Computational Thinking. The National Academies Press, Washington, D.C., 2010.
Aman Yadav, Chris Stephenson, Hai Hong. Computational Thinking for Teacher Education. Communications of the ACM, April 2017. Vol. 60 No. 4, Pages 55-62