computational thinking

19
COMPUTATIONAL THINKING THINKING LOGICALLY AND ALGORITHMICALLY

Upload: jeremy-burton

Post on 23-Dec-2014

719 views

Category:

Education


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Computational thinking

COMPUTATIONAL THINKING

THINKING LOGICALLY AND ALGORITHMICALLY

Page 2: Computational thinking

WHAT IS COMPUTATIONAL THINKING?

Page 3: 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

Page 4: 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/)

Page 5: Computational thinking

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

Page 6: Computational thinking

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

Page 7: 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’)

Page 8: Computational thinking

WHAT IS AN ALGORITHM?

Page 9: Computational thinking

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

Page 10: Computational thinking

CARD TRICK

Page 11: Computational thinking

LOGICAL AND ALGORITHMIC THINKING ACTIVITIES

Page 12: Computational thinking

SEARCHING ALGORITHMS

Binary Search http://csunplugged.org/searching-algorithms

Page 13: Computational thinking

SORTING ALGORITHMS

Quick Sort http://csunplugged.org/sorting-algorithms

Page 14: Computational thinking

LOGICAL REASONING

Routing and Deadlock | The Orange Game http://csunplugged.org/routing-and-deadlock

Page 15: Computational thinking

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

Page 16: 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

Page 17: 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

Page 18: Computational thinking

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

Page 19: 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