36
Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools [email protected] 1

Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools [email protected] 1

Embed Size (px)

Citation preview

Page 1: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Is Computational Thinkinga 21st Century Skill?

Joe Kmoch

Milwaukee Public Schools

[email protected]

1

Page 2: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Roadmap

• What is computational thinking• What does it look like?• Some essential concepts (Computing and

the 3 “A”s)• Why CT and K-12 students• CT is everywhere• Time for you to get involved• Next steps

2

Page 3: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

My Goals

• Make the case that– The principles of CT are applicable to many

subjects areas. – CT is very much ingrained in critical 21st

Century Skills– CT is a mechanism to handle larger, more

complex problems that are by their nature cross-curricular (ie real world)

3

Page 4: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

What is Computational Thinking (CT)?

• Application of Computer Science (CS) concepts to problems in virtually all disciplines

• Use of computational resources such as tools, techniques along with data to solve complex problems

• Strong supports for the 4 essential 21st Century Skills (communication, collaboration, critical thinking and ps,

creativity and innovation as defined on ps21.org) • Encourages broad-based thinking about cross-

curricular problems

4

Page 5: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Some Examples of Computational Thinking(Jeannette Wing, CMU)

• CT is reformulating a seemingly difficult problem into one which we know how to solve (reduction, embedding, transformation, simulation)

• CT is using abstraction and decomposition in tackling a large complex task

• CT is judging a system’s design for its simplicity and elegance

• CT is judging a problem solution for its simplicity and elegance

• CT is prevention, detection and recovery from worst case scenarios through redundancy, damage containment and error correction

• CT is modularizing something in anticipation of multiple uses

5

Page 6: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Simple Daily Examples(Jeannette Wing, CMU)

• Looking up a name in an alphabetically sorted list– Linear – start at the top– Binary – start in the middle

• Standing in line at a bank– Performance analysis of task scheduling

• Putting things in your child’s knapsack for the day– Pre-fetching and caching

6

Page 7: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

...and more

• Taking your kids to their various activities– Traveling salesman problems – graph theory

• Cooking a gourmet meal (actually most any meal)– Parallel processing

• Storing away your child’s Lego pieces scattered in the floor– Using hashing (eg, by shape, by color)

• Doing laundry, getting food at a buffet– Pipelining the wash, dry and iron stages; plates, salad, entrée,

dessert stations

7

Page 8: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

...and one more

• Even in grade school we learn algorithms (long division, factoring, GCD, ...) and abstract data types (sets, tables, ...)

8

Page 9: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

The Computing part of CT

• Computing is fundamentally concerned with two phenomena: data and processes – these are everywhere

9

Page 10: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Data

• Anything that can be observed or imagined in the physical or logical worlds: numbers, images, songs, positions of planets, subway maps, medical records

10

Page 11: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Process

• A sequence of actions: setting up a coffee maker starts with getting out the filter, placing it in the basket, filling the reservoir with water

11

Page 12: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Abstraction – the first “A” of CT• Technique of generalizing from specific

instances (process and data)• Capture essential common characteristics

while discarding unessential characteristics

• Operate simultaneously at multiple layers and define relationships between layers

12

Page 13: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Abstractions example

Cooking a meal• At the highest level we might have the list of courses that

make up the meal– Appetizer(s)– Soup/salad– Entree– Dessert

• And an order in which to work on them (project timeline)

13

Page 14: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Cooking a Meal Abstraction• At the next level, we might have the details

of the individual parts– The recipes, for example

• At the next level, we might have the details of how to do certain cooking actions – doing a reduction or – pureeing, or – rolling dough

(All process abstractions)

14

Page 15: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Example of data abstraction

This Chicago transit map is a data abstraction; contains essential info like stations and transfer points, avoids details like exact street locations of stations or distances

15

Page 16: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Process Abstractions of the mind

• Techniques• For example: Divide and

Conquer• Abstraction of how to

solve a problem, not actually a solution to any particular problem.

• Take a problem and divide it into several piece

• Solve or complete each piece

• Re-combine the pieces to solve original problem

16

Page 17: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Automation – the 2nd leg of CT

• Mechanizing our abstractions, abstraction layers and their relationships

• Agents– Can be a person or a computer– Can be a group of people or computers– Any combination of these

17

Page 18: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Automation Agents

• Use each for what the agent can do well• People

– Interpret– Speed (in certain areas, eg understanding)

• Computers– Vast memory– Speed (in certain areas, eg searching)

18

Page 19: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Analysis – 3rd leg of CT

• Ensuring that abstractions (algorithms, programs, databases, systems of all sorts) are efficient and are correct

• Analysis includes– Algorithmic and performance analysis– Specification– Verification, debugging, testing,

experimentation

19

Page 20: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Academic definition of CT

• Computational Thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science (J. Wing, 2006)

20

Page 21: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Why CT for students?

• Claim: Students need to acquire thinking habits of computer scientists

• Claim: These are widely applicable in the information society in which these students live and work regardless of their eventual profession

21

Page 22: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

CT and K-12

• K-12th graders should be introduced to computational thinking in order to set these fundamental thinking habits firmly in the minds of the next generation

• Recall the 3 As of CT– Abstraction, Automation, Analysis– Compare with High Order Thinking Skills

• Analysis, creativity, evaluation

22

Page 23: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Implications for K-12

CT would• Encourage further inclusion of high order

thinking skills• Encourage students to develop tools and

techniques that will become more important for success– Their own “toolkit”

23

Page 24: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

More Implications for K-12

• Is in step with the increased emphasis of technology in careers and in life

• Can help move more digital natives from consuming technology to creating, adapting, modifying technology – Marc Prensky coined the terms digital natives

and digital immigrants (most of us are the latter)

24

Page 25: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

CT Concepts, Capabilities

• Data collection, analysis, representation• Abstraction• Analysis and model validation• Automation• Testing and verification• Algorithms and procedures• Problem Decomposition• Control Structures• Parallelization• Simulation

25

Page 26: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

21st Century Skills (Dispositions and Predispositions)

• Collaboration– Working with others toward common goal

• Communication – reading, writing, presenting CT-based solutions

• Critical Thinking & Problem Solving– abstraction, automation, analysis

• Creativity and Innovation– Confidence with complexity, ambiguity– Persistence with difficult problems– Deal with open-ended problems

26

Page 27: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

What CT is not

• Does it mean we should all think like a computer? (NO)

• Does it mean that everyone should be a programmer? (NO)– Although more and more careers are

involving something that looks like programming – most manufacturing careers require CNC (programming)

27

Page 28: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Characteristics of CT

• Thinking abstractly• Thinking at multiple levels of abstraction• Learning to manage complexity• Learning to deal with scale• Logical reasoning• Emphasis on a holistic approach rather

than on specific topics• Involves data and processes

28

Page 29: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

For example, CT has…

• Been instrumental in many new discoveries such as DNA mapping, development of new materials, new formulations, new techniques

29

Page 30: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Think…

• Computational Biology• Computational Chemistry• Computational Physics• Computational Linguistics• Computational Finance• Computational Economics• Computational … almost anything you

can name.

30

Page 31: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

CT is everywhere

• Biology– DNA sequences are strings in a language– Protein structures modeled as knots

• Brain Science– Modeling the brain as a computer– Vision as a feedback loop– Analyzing MRI data with machine learning

31

Page 32: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

... And here

• Astronomy– KD-trees help astronomers analyze very large

multi-dimensional datasets

• Mathematics– Four-color theorem proof

• Engineering– Boeing 777 tested via computer simulation

alone

32

Page 33: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

... And here

• Economics– Automated mechanism design underlies

electronic commerce (eg, ad placement)

• Social Sciences– Statistical machine learning used for

recommendation and reputation services

33

Page 34: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

... Here, too

• Medicine– Robotic surgery– Scientific visualization (virtual colonoscopy)

• Entertainment– Games, movies– Huge computing farms to render movies

• Sports– Record and analyzing performance– Analyzing digital video of NBA games

34

Page 35: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Thank you

• Jeannette Wing, CMU and NSF• Pat Phillips, Janesville Craig HS and

Microsoft• Carolyn Sykora, ISTE• Many friends at the CT Thought Leaders

workshop in May, 2010 and the curriculum workshop in November, 2010

35

Page 36: Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com 1

Resources

• My CT wiki:

http://computationalthinking.pbworks.com/

Lots of stuff collected, more to come

...email me about the WI CS and IT mailing list...

Joe Kmoch

[email protected]

36