computational thinking
DESCRIPTION
This slideshow explores definitions of computational thinking and associated concepts. It was originally developed for student teachers.TRANSCRIPT
COMPUTATIONAL THINKING
THINKING LOGICALLY AND ALGORITHMICALLY
WHAT IS COMPUTATIONAL THINKING?
“Computational thinking will be a fundamental skill used by everyone by the middle of the 21st Century. Just like reading, writing and arithmetic.”
Wing (2011) Computational Thinking
SO WHAT IS COMPUTATIONAL THINKING?
“Computational Thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent.”
Cuny, Snyder, Wing (http://www.cs.cmu.edu/~CompThink/)
SO WHAT IS COMPUTATIONAL THINKING?
“Well it is a collection of diverse skills to do with problem solving that result from studying the nature of computation. It includes some obviously important skills that most subjects help develop, like creativity, ability to explain and team work. It also consists of some very specific problem solving skills such as the ability to think logically, algorithmically and recursively. Computer Science is unique in the way it brings all these diverse skills together.”
http://www.cs4fn.org/computationalthinking
SO WHAT IS 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.
http://en.wikipedia.org/wiki/Computational_thinking
3 DIMENSIONS OF CT
1. Computational concepts
Computational concepts that are common in many programming languages. Sequences, loops, parallelism, events, conditionals, operators, and data.
2. Computational practices
Being incremental and iterative, testing and debugging, reusing and remixing, and abstracting and modularizing.
3. Computational perspectives
Expressing, connecting, questioning.
Brennan & Resnick (see ‘Further Learning’)
WHAT IS AN ALGORITHM?
WHAT IS AN ALGORITHM?
“An algorithm is like a recipe: it must be followed exactly, it must be unambiguous, and it must have an end.”
Source unknown
CARD TRICK
LOGICAL AND ALGORITHMIC THINKING ACTIVITIES
SEARCHING ALGORITHMS
Binary Search http://csunplugged.org/searching-algorithms
SORTING ALGORITHMS
Quick Sort http://csunplugged.org/sorting-algorithms
LOGICAL REASONING
Routing and Deadlock | The Orange Game http://csunplugged.org/routing-and-deadlock
WHAT IS DECOMPOSITION?
“The ability to break down a task into minute details so that we can clearly explain a process to another person or to a computer, or even to just write notes for ourselves. Decomposing a problem frequently leads to pattern recognition and generalization, and thus the ability to design an algorithm.”
http://www.google.com/edu/computational-thinking
WHAT IS ABSTRACTION?
“The ability to filter out information that is not necessary to solve a certain type of problem and generalize the information that is necessary. Pattern generalization and abstraction allows us to represent an idea or a process in general terms (e.g., variables) so that we can use it to solve other problems that are similar in nature.”
http://www.google.com/edu/computational-thinking
WHAT IS ABSTRACTION?
“…the art of taking the details out of a problem so that you can make a solution work for many different things.”
http://games.thinkingmyself.com
EXAMPLES OF ABSTRACTION
1. A daily planner uses abstraction to represent a week in terms of days and hours, helping us to organize our time.
2. A world map is an abstraction of the earth in terms of longitude and latitude, helping us describe the location and geography of a place.
3. In mathematics, we write generalized formulas in terms of variables instead of numbers so that we can use them to solve problems involving different values.
http://www.google.com/edu/computational-thinking
FURTHER LEARNING
Computer Science Unplugged http://csunplugged.org
Computer Science for Fun http://www.cs4fn.org
Computer Science Teachers Association http://csta.acm.org/Curriculum/sub/CompThinking.html
Card Trick http://www.cs4fn.org/mathemagic/cardshuffle.php
Centre for Computational Thinking http://www.cs.cmu.edu/~CompThink/
Thinking Myself http://games.thinkingmyself.com
Brennan, K. & Resnick, M. (2012) New frameworks for studying and assessing the development of computational thinking AERA