Computational thinking

Preview:

DESCRIPTION

This slideshow explores definitions of computational thinking and associated concepts. It was originally developed for student teachers.

Citation preview

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

Recommended