Upload
ezequiel-warrington
View
215
Download
0
Embed Size (px)
Citation preview
Is Computational Thinkinga 21st Century Skill?
Joe Kmoch
Milwaukee Public Schools
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
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
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
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
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
...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
...and one more
• Even in grade school we learn algorithms (long division, factoring, GCD, ...) and abstract data types (sets, tables, ...)
8
The Computing part of CT
• Computing is fundamentally concerned with two phenomena: data and processes – these are everywhere
9
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
For example, CT has…
• Been instrumental in many new discoveries such as DNA mapping, development of new materials, new formulations, new techniques
29
Think…
• Computational Biology• Computational Chemistry• Computational Physics• Computational Linguistics• Computational Finance• Computational Economics• Computational … almost anything you
can name.
30
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
... 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
... And here
• Economics– Automated mechanism design underlies
electronic commerce (eg, ad placement)
• Social Sciences– Statistical machine learning used for
recommendation and reputation services
33
... 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
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
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
36