1 / 36

Is Computational Thinking a 21st Century Skill?

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

vance
Télécharger la présentation

Is Computational Thinking a 21st Century Skill?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Is Computational Thinkinga 21st Century Skill? Joe Kmoch Milwaukee Public Schools joe@jkmoch.com

  2. 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

  3. 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)

  4. 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

  5. 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

  6. 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

  7. ...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

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

  9. The Computing part of CT • Computing is fundamentally concerned with two phenomena: data and processes – these are everywhere

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

  11. 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

  12. 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

  13. 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)

  14. 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)

  15. 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

  16. 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

  17. 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

  18. 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)

  19. 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

  20. 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)

  21. 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

  22. 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

  23. 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”

  24. 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)

  25. 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

  26. 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

  27. 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)

  28. 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

  29. For example, CT has… • Been instrumental in many new discoveries such as DNA mapping, development of new materials, new formulations, new techniques

  30. Think… • Computational Biology • Computational Chemistry • Computational Physics • Computational Linguistics • Computational Finance • Computational Economics • Computational … almost anything you can name.

  31. 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

  32. ... 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

  33. ... And here • Economics • Automated mechanism design underlies electronic commerce (eg, ad placement) • Social Sciences • Statistical machine learning used for recommendation and reputation services

  34. ... 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

  35. 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

  36. 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

More Related