Monday, October 25, 2010

Exploring computational thinking

How about computational design?

Sent to you via Google Reader

Exploring computational thinking

Take a minute to think back to some of your past science fair projects or lab experiments. What elements did they have in common? What elements were different?

While every project or experiment may have been unique in the problem they were trying to solve, they all followed the same basic template of title, problem, hypothesis, materials, procedure, data and results, and conclusion. This ability to notice similarities, differences and trends is called pattern recognition. The ability to then extract out the unnecessary details and generalize those that are necessary is called pattern generalization, which leads us to an abstraction.

These are just some of the problem-solving skills that we apply when we design and run an experiment. Other skills include decomposition (the ability to break down a tasks into sub-tasks, e.g., when we specify each of the materials that we'll need to conduct the experiment) and algorithm design (the ability to build a repeatable, step-by-step process to solve a particular problem, e.g., when we create the procedure so that others can understand our process and run that same experiment).

All of these skills make up what we consider to be computational thinking (CT), a set of techniques that software engineers at Google and elsewhere apply all the time to write the programs that underlay the computer applications you use every day, including search, Gmail and Google Maps. Not only is this 21st century skill critical to being successful in the field of computer science, it's also increasingly important to several careers outside of our industry given the ubiquity of technology in our lives today. As a result, many universities have expanded their traditional majors to now also include studies where key components involve computing. For example, computational neuroscience is the study of how the brain learns and computes, using computational principals to understand perception, cognition, memory and motor behaviors; while computational linguistics involves developing algorithms to process natural languages.

With this changing educational landscape in mind, a group of California-credentialed teachers along with our own Google engineers have developed a program called Exploring Computational Thinking, which is committed to promoting CT throughout the K-12 curriculum to support student learning and expose everyone to this critical set of skills. Similar to some of our other initiatives in education, including CS4HS and Google Code University, we're providing educators with access to our curriculum models, resources and communities to help them learn more about CT and discuss it as a strategy for teaching and understandi...


Sent from my iPhone

No comments:

Post a Comment