Computational Thinking, the Underpinning of STEM Education in Schools
Schools today are dealing with many pressures and Jim has eloquently made the point that there are many different programs that address the STEM /STEAM push. But, we also need ways to address the basics of STEM/STEAM preparation for students within the existing programs of instruction. We need to have ways to incorporate computational thinking as a goal in student learning. Some aspects of computational thinking are simply a matter of looking at educational activities with a different perspective.
The Executive Summary from 21st Century Education: Computational Thinking, Computational Science and High Performance Computing in K-12 Education that I recently co-authored puts this in perspective.
The 2010 National Educational Technology Plan says “…technology is at the core of virtually every aspect of our daily lives and work… Whether the domain is English language arts, mathematics, sciences, social studies, history, art, or music, 21st-century competencies and such expertise as critical thinking, complex problem solving, collaboration, and multimedia communication should be woven into all content areas.”
The US has, since the late 1990s, been trying to describe what a 21st Century education should look like. Futurists are trying to divine the skills that will be needed for jobs that do not yet exist, employing technologies that have not yet been invented. However, a careful look around can allow us to see many areas that have been virtually unnoticed by those who are focused on 21st Century Skills.
Supercomputing – sometimes called high performance computing – is not a new technology concept, but the supercomputers of 25 years ago were about as powerful as a cell phone is today, and likewise the supercomputers of today will be no better than a laptop of 10 to 15 years from now. As the world of the biggest and fastest computers has evolved and these computers have become increasingly available to industry, government and academia, they are being used in ways that influence everyday life, from the cars we drive, to the food in our cupboards, to the movies we enjoy.
Supercomputing is not an end in itself, but rather the technological foundation for large scale computational and data-enabled science and engineering, or computational science for short, a collection of techniques for using computing to examine phenomena that are too big, too small, too fast, too slow, too expensive or too dangerous to experiment on in the real world. While problems with small computing footprints can be examined on a laptop, the grand challenge problems most crucial for us to address have enormous computing footprints and thus are best solved via supercomputing.
As a result, in order to be competitive as a nation, we need to produce knowledge workers in far greater numbers who understand both what supercomputers can do, and also how to use them effectively to improve our understanding of the world around us and our day to day lives.
The thinking about large scale and advanced computing has evolved too. Today we realize that while not everyone will be using big computing in their jobs, they will need to understand the underlying concepts.
These concepts collectively are referred to as ‘computational thinking’, a means of describing problems, and how to solve them, so that their solutions can be found via computing.[1] Computational thinking includes: abstraction (generalizing problems to make related problems more straightforward to solve); recursion (applying the same solution method to smaller and smaller sub-problems, then recombining their individual solutions to create an overall solution); algorithms (step-by-step methods for solving problems); induction (basing the solution of a particular problem on the solutions of related problems already solved); scale (understanding the relationships between problems and solutions of widely varying sizes, and how the size of a problem affects both its solution and its relationships to other problems).
Our 21st century citizens, entrepreneurs, leadership and workforce will be best positioned to solve emerging challenges and to exploit new opportunities if they have a strong understanding of computational thinking, how it applies to computational science, and how it can be implemented via high performance computing. These are true 21st century competencies that will serve our nation well.
http://etcjournal.com/2011/04/01/white-paper-21st-century-education-computational-thinking-computational-science-and-high-performance-computing-in-k-12-education/
Sample Middle Grade Programs that Build Computational Thinking
There are innovative programs developed to address computational thinking but which are framed around different topics. Globaloria, (globaloria.org),developed by the World Wide Workshop Foundation, approaches this by having students learn game design in Adobe Flash and then develop socially relevant games. Students learn to program in Flash, an industry-standard tool and the basics of a set of skills that prepare them for a career in game design. Within the Globaloria program the key elements students are learning are computational thinking skills and how to control technology. Globaloria is being used across West Virginia high schools and middle schools as an elective. The East Austin College Prep Academy in Austin, Texas has taken a different approach. Globaloria is one of the core courses taught every day, just like English and Math. The program is now used in the 6th and 7th grades, and as the students move up to the 8th grade next year the students will have three years of experience in the program.
Another program that has taken on teaching game design to students beginning at the middle grades is the Scaleable Game Design Program from the Computer Science program at the University of Colorado http://scalablegamedesign.cs.colorado.edu/wiki/Scalable_Game_Design_wiki. The Scaleable Game Design Program uses a different tool for game design; AgentSheets (http://www.agentsheets.com/) is a unique software authoring environment where users of all ages can build games, interactive demonstrations, and modifiable simulations. It is not however an application that is used in the game development industry.
There are many schools that teach students using instructional games, but these two are models where teaching game design is the motivation for students gaining knowledge across a much wider range of content areas.
Examples of existing resources
Google has taken great interest in developing computational thinking in K-12 and has a substantial number of resources and information on the topic. Here are two places to start:
http://www.google.com/edu/computational-thinking/index.html
http://googleresearch.blogspot.com/2010/10/exploring-computational-thinking.html
The Science Foundation Arizona runs the iPlant Collaborative: Empowering Computational Thinking in Arizona High Schools. More information can be found at:
http://www.sfaz.org/live/collection/stem-teachers/10725
A national resource for computational science education with resources for science and mathematics at the middle and high school levels can be found at:
http://www.shodor.org/
[1] Paraphrased from Jeanette Wing, Jan Cuny and Larry Snyder. http://www.cs.cmu.edu/~CompThink/resources/TheLinkWing.pdf