Can you think at multiple levels of abstraction? Can you break down a complex problem into simpler ones?
Computational thinking, is often defined as a thought process that allows one to break down problems and formulate solutions systematically – much like how computers “think”. Many technology experts and educators have identified such thinking as a fundamental skill for the next-generation workforce. The ability to problem-solve by applying logic and creative thinking are skills that employers in every sector will seek, not just in technology. Computational Thinking equips students to tackle complex problems!
To reading, writing and arithmetic, we need to add computational thinking to every child’s analytical ability. While often imparted through coding, computational thinking is embraced not only for computer science applications, but also for its wide applicability to solve everyday problems.
It enables students to
- discover the science of computing (or How to think like a Computer Scientist)
- model problems and learn practical problem-solving techniques to tackle complex computational problems
- apply problem-solving techniques to develop more elegant and efficient solutions
- reformulate a seemingly difficult problem into one we know how to solve, perhaps by reduction, embedding, transformation, or simulation
- represent and manipulate with complex data objects
- understand the challenge of scale, not only in dealing with large data sets, but also in appreciating the patterns in such data
An example is how two young medical students who envisioned the use of technology to help people live and stay healthy applied computational thinking and coding to develop an application called Eyenaemia. Eyenaemia is a non-invasive and easily-accessible screening tool for anaemia made for use by anyone. With this application, screening is now as simple as taking a selfie with a smart phone – after which the application analyses the conjunctiva and calculates the risk of anemia, putting years of medical training into the hands of untrained users.
It’s time we recognize the value of programming in education and appreciate the opportunities it creates for a bright future.