370 likes | 569 Views
Is Computational Thinking a 21st Century Skill?. Joe Kmoch Milwaukee Public Schools joe@jkmoch.com. 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
E N D
Is Computational Thinkinga 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com
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
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)
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
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
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
...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
...and one more • Even in grade school we learn algorithms (long division, factoring, GCD, ...) and abstract data types (sets, tables, ...)
The Computing part of CT • Computing is fundamentally concerned with two phenomena: data and processes – these are everywhere
Data • Anything that can be observed or imagined in the physical or logical worlds: numbers, images, songs, positions of planets, subway maps, medical records
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
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
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)
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)
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
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
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
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)
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
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)
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
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
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”
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)
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
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
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)
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
For example, CT has… • Been instrumental in many new discoveries such as DNA mapping, development of new materials, new formulations, new techniques
Think… • Computational Biology • Computational Chemistry • Computational Physics • Computational Linguistics • Computational Finance • Computational Economics • Computational … almost anything you can name.
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
... 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
... And here • Economics • Automated mechanism design underlies electronic commerce (eg, ad placement) • Social Sciences • Statistical machine learning used for recommendation and reputation services
... 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
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
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 joe@jkmoch.com