Computational Thinking (CT) is a process that generalizes a solution to open ended problems. Open-ended problems encourage full, meaningful answers based on multiple variables, which require using decomposition, data representation, generalization, modeling, and algorithms found in Computational Thinking. Computational Thinking requires the decomposition of the entire decision making process, the variables involved, and all possible solutions, ensuring that the right decision is made based on the corresponding parameters and limitations of the problem. The term computational thinking was first used by Seymour Papert in 1980 and again in 1996. Computational thinking can be used to algorithmically solve complicated problems of scale, and is often used to realize large improvements in efficiency.
The characteristics that define computational thinking are decomposition, pattern recognition / data representation, generalization/abstraction, and algorithms. By decomposing a problem, identifying the variables involved using data representation, and creating an algorithms the result is a generic solution. The generic solution is a generalization or abstraction that can be used to solve a multitude of variations of the initial problem.
The phrase computational thinking was brought to the forefront of the computer science community as a result of an ACM Communications article on the subject by Jeannette Wing. The article suggested that thinking computationally was a fundamental skill for everyone, not just computer scientists, and argued for the importance of integrating computational ideas into other disciplines.
Characteristics of Computational Thinking
Computational Thinking is a problem-solving process that includes the following characteristics:
- Analyzing and logically organizing data
- Data modeling, data abstractions, and simulations
- Formulating problems such that computers may assist
- Identifying, testing, and implementing possible solutions
- Automating solutions via algorithmic thinking
- Generalizing and applying this process to other problems
Center for Computational Thinking
Carnegie Mellon University in Pittsburgh has a Center for Computational Thinking. The Center's major activity is conducting PROBEs or PROBlem-oriented Explorations. These PROBEs are experiments that apply novel computing concepts to problems to show the value of computational thinking. A PROBE experiment is generally a collaboration between a computer scientist and an expert in the field to be studied. The experiment typically runs for a year. In general, a PROBE will seek to find a solution for a broadly applicable problem and avoid narrowly focused issues. Some examples of PROBE experiments are optimal kidney transplant logistics and how to create drugs that do not breed drug resistant viruses. 
Computational Thinking (CT) for Pre-College levels
While Computational Thinking is mostly practiced in college level education, it has gained its ground in K-12 levels in STEM education. You may find a small handful of online institutions which provides curriculum, and other related resources to build and strengthen pre-college students with Computational Thinking, Analysis and Problems Solving. One prominent one is the Carnegie Mellon Robotics Academy. It offers training sessions for both pre-college students, as well as teachers. CMU's programs exercise instructional scaffolding methods via engineering process. There is also another online site named legoengineering.com. offering similar resources.
As far as a physical facility, in Central New Jersey, there is a small institution, named Storming Robots, offers technology programs to Grade 4 to 12 with focus on Algorithmic and Computational Thinking via robotics projects throughout the school year. Students may follow its road map  starting from Grade 4 until they graduate to college.
Computational Thinking (CT) for Secondary STEM Education
Problem-based learning is an important element of Science, Technology, Engineering, and Mathematics, also known as STEM, education in particular . The connection Computational Thinking makes in the context of problem solving processes is present in STEM focused classes. Characteristics of Computational Thinking reformulate problems by decomposing them into smaller and more manageable segments. These strategies enable students to transform complex problems into multiple step procedures that is not only easier to navigate through, but also provides an efficient way of thinking (Wing, 2006). In STEM education Computational Thinking is defined as a set of cognitive skills that let K-12 educators identify patterns, break apart complex problems into smaller steps , organize and create a series of steps to provide solutions, and build a representation of interacting data through simulations. Teachers in STEM focused classrooms that include Computational Thinking, allow students to practice problem-solving skills such as trial and error (Barr, et al, 2011).
- Papert, Seymour. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc., 1980.
- Papert, Seymour (1996). "An exploration in the space of mathematics educations". International Journal of Computers for Mathematical Learning 1. doi:10.1007/BF00191473.
- Repenning, A.; Webb, D.; Ioannidou, A. (2010). "Scalable game design and the development of a checklist for getting computational thinking into public schools". Proceedings of the 41st ACM technical symposium on Computer science education - SIGCSE '10. p. 265. doi:10.1145/1734263.1734357. ISBN 9781450300063.
- Guzdial, Mark (2008). "Education: Paving the way for computational thinking" (PDF). Communications of the ACM 51 (8): 25. doi:10.1145/1378704.1378713.
- Wing, J. M. (2008). "Computational thinking and thinking about computing". Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences 366 (1881): 3717. Bibcode:2008RSPTA.366.3717W. doi:10.1098/rsta.2008.0118.
- Center for Computational thinking at Carnegie Mellon cmu.edu
- Exploring Computational Thinking, Google.com
- on YouTube, TED talk 2010-11-15
- What is Computational Thinking? CS4FN at CS4FN
- The Sacramento Regional CPATH Team has created a Think CT website with information on CT developed by this NSF-funded project.
- A short introduction to Computational Thinking by the Open University
- "Introduction to computational thinking". BBC Bitesize. Retrieved 25 November 2015.
- "Exploring Computational Thinking". Google for Education. Retrieved 25 November 2015.
- Wing, Jeanette M. (2006). "Computational thinking" (PDF). Communications of the ACM 49 (3): 33. doi:10.1145/1118178.1118215.
- Stephenson, Chris; Valerie Barr (May 2011). "Defining Computational Thinking for K-12". CSTA Voice 7 (2): 3–4. ISSN 1555-2128.
CT is a problem solving process...
- PROBE Experiments
- "LEGO Engineering". Retrieved 30 Dec 2013.
- "Roadmap for learning path". Retrieved 30 Dec 2013.
- Barr, David; Harrison, John; Leslie, Conery (2011-03-01). "Computational Thinking: A Digital Age Skill for Everyone". Learning & Leading with Technology 38 (6): 20–23. ISSN 0278-9175.
|The Wikibook [[wikibooks:A-level Computing
|A-level Computing]] has a page on the topic of: Introduction to principles of computation