Skip to main content

Computational thinking is for everyone


Problem solving is not trivial (Beaumont and Fox, 2003).  In fact, if we think about Bloom’s Taxonomy’s (Bloom 1956) and the Cognitive Domain, problem-solving involves the high-level skills of synthesis, evaluation, analysis and applications, so perhaps it is not surprising that student’s often struggle in this area and with subjects based around problem-solving (such as programming). A much discussed and related area of Computational Thinking (Wing, 2006) has raised the profile of areas such as problem-solving, by highlighting the importance of “thinking like a computer scientist” (Wing 2006). The thought processes involved in being a computer scientist are more complicated than just being able to program, “Computational thinking is reformulating a seemingly difficult problem into one we know how to solve, perhaps by reduction, embedding, transformation, or simulation.” (Wing, 2006). The skills of computer scientists are applicable to a much wider range of areas or as Wing states: “One can major in computer science and go on to a career in medicine, law, business, politics, any type of science or engineering, and even the arts.” (Wing, 2006).

Characteristics of Computational Thinking (Wing 2006):
“Conceptualizing, not programming. Computer science is not computer programming. Thinking like a computer scientist means more than being able to program a computer. It requires thinking at multiple levels of abstraction;
Fundamental, not rote skill. A fundamental skill is something every human being must know to function in modern society. Rote means a mechanical routine. Ironically, not until computer science solves the AI Grand Challenge of making computers think like humans will thinking be rote;
A way that humans, not computers, think. Computational thinking is a way humans solve problems; it is not trying to get humans to think like computers. Computers are dull and boring; humans are clever and imaginative. We humans make computers exciting. Equipped with computing devices, we use our cleverness to tackle problems we would not dare take on before the age of computing and build systems with functionality limited only by our imaginations;
Complements and combines mathematical and engineering thinking. Computer science inherently draws on mathematical thinking, given that, like all sciences, its formal foundations rest on mathematics. Computer science inherently draws on engineering thinking, given that we build systems that interact with the real world. The constraints of the underlying computing device force co puter scientists to think computationally, not just mathematically. Being free to build virtual worlds enables us to engineer systems beyond the physical world;
Ideas, not artifacts. It’s not just the software and hardware artifacts we produce that will be physically present everywhere and touch our lives all the time, it will be the computational concepts we use to approach and solve problems, manage our daily lives, and communicate and interact with other people; and
For everyone, everywhere. Computational thinking will be a reality when it is so integral to human endeavors it disappears as an explicit philosophy.”(Wing 2006)

Carnegie Mellon now has a Centre of Computational Thinking 


Beaumont, C., & Fox, C. (2003). Learning Programming: Enhancing Quality Through Problem-Based Learning (pp. 90-95) 4th Annual Conference of the ICS HE Academy Galway: ICS.
Bloom, B., S. (ed.) (1956). Taxonomy of Educational Objectives, the classification of educational goals – Handbook I: Cognitive Domain New York: McKay.




Comments

Popular posts from this blog

Build yourself a Crumble Eggbot from junk

Full details at http://bit.ly/2yZ3dZT There was three inspirations for this project ·       Eggbot - http://www.instructables.com/id/Plastic-Egg-Bot/?utm_content=buffer9b065&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer ·   Femi Owolade supported by Nic Hughes ran a session at Mozilla Festival 2016 using the Crumble’s to make a wheeled robot. ·   The junkbot project https://junkbots.blogspot.co.uk/ Kit ·       Kinder Egg (without the Chocolate and toy) ·       Crumble  also available at  https://redfernelectronics.co.uk/crumble/ ·       4x Crocodile clips and leads ·       Battery pack and 3xAA ·       Vibrating motor ·       Tape (lots of) . Sticky-tack of some form. ·       Pe...

Building an artificial neuron in Scratch

1. Single Neurone   Instructions: Set the inputs by pressing the buttons marked input 1 and input 2 (Red is off(False or 0) and Green is on(True or 1)) Change the weights by changing weights 1 to 3, wx goes with input x and weight 3 is the bias. To activate the neuron you need to click on the the yellow ball ('the neuron'). The video below show it in action and explains the code. To see the code go to  https://scratch.mit.edu/projects/131892234/  . A slight modification click on the bell to change the weights The code is available at  https://scratch.mit.edu/projects/171190294/ 2. Training a Neurone In this part, the training of a neuron all written in Scratch is tackled. The video shows it action and you can have a go at using the software yourself at the end of the post. The Scratch code can be found at  https://scratch.mit.edu/projects/132915502/ All opinions in this blog are the Author's and should not in any way be seen a...

Problem-solving or computational Thinking

Confession time, this has been a research interest for me, along with a number of colleagues, since around 2005. It started with undergraduate students - investigating teaching and developing problem solving skills as a first step in developing programming skills through the use of LEGO-based robots and graphics based programming for undergraduate students. The main vehicle then for developing the problem-solving skills was the LEGO RCX Mindstorms robotics kits and series of gradually more challenging robot-based tasks. Lawhead et al (2003) stated that robots “…provide entry level programming students with a physical model to visually demonstrate concepts” and “the most important benefit of using robots in teaching introductory courses is the focus provided on learning language independent, persistent truths about programming and programming techniques. Robots readily illustrate the idea of computation as interaction”. Synergies can be made with our wo...