SlideShare a Scribd company logo
1 of 40
Download to read offline
Computational Thinking

                  Jeannette M. Wing


President’s Professor of Computer Science and Department Head
                  Computer Science Department
                    Carnegie Mellon University



                    © 2007 Jeannette M. Wing
My Grand Vision for the Field
     • Computational thinking will be a fundamental skill used
       by everyone in the world by the middle of the 21st
       Century.

            – Just like reading, writing, and arithmetic.
            – Imagine every child knowing how to think like a computer
              scientist!

            – Incestuous: Computing and computers will enable the spread of
              computational thinking.




Computational Thinking               2                               Jeannette M. Wing
Computational Thinking
       • C.T. enables what one human being cannot do alone
              – For solving problems
              – For designing systems
              – For understanding the power and limits of human and
                machine intelligence




Computational Thinking                3                               Jeannette M. Wing
The Two A’s of Computational Thinking
        • Abstraction
               – C.T. is operating in terms of multiple layers of abstraction
                 simultaneously
               – C.T. is defining the relationships the between layers

        • Automation
               – C.T. is thinking in terms of mechanizing the abstraction
                 layers and their relationships
                         • Mechanization is possible due to precise and exacting
                           notations and models
               – There is some “machine” below (human or computer, virtual
                 or physical)

        • They give us the ability and audacity to scale.

Computational Thinking                          4                                  Jeannette M. Wing
Examples of Computational Thinking
       •     How difficult is this problem and how best can I solve it?
              – Theoretical computer science gives precise meaning to these and related
                  questions and their answers.
       •     C.T. is thinking recursively.
       •     C.T. is reformulating a seemingly difficult problem into one which we know how to
             solve.
              – Reduction, embedding, transformation, simulation
       •     C.T. is choosing an appropriate representation or modeling the relevant aspects of
             a problem to make it tractable.
       •     C.T. is interpreting code as data and data as code.
       •     C.T. is using abstraction and decomposition in tackling a large complex task.
       •     C.T. is judging a system’s design for its simplicity and elegance.
       •     C.T. is type checking, as a generalization of dimensional analysis.
       •     C.T. is prevention, detection, and recovery from worst-case scenarios through
             redundancy, damage containment, and error correction.
       •     C.T. is modularizing something in anticipation of multiple users and prefetching
             and caching in anticipation of future use.
       •     C.T. is calling gridlock deadlock and avoiding race conditions when synchronizing
             meetings.
       •     C.T. is using the difficulty of solving hard AI problems to foil computing agents.
       •     C.T. is taking an approach to solving problems, designing systems, and
             understanding human behavior that draws on concepts fundamental to computer
             science.

           Please tell me your favorite examples of computational thinking!
Computational Thinking                        5                                         Jeannette M. Wing
Evidence of Computational Thinking’s Influence
   •       Computational thinking, in particular, machine learning has
           revolutionized Statistics
           –     Statistics departments in the US are hiring computer scientists
           –     Schools of computer science in the US are starting or embracing
                 existing Statistics departments
   •       Computational thinking is our current big bet in Biology
           –     Algorithms and data structures, computational abstractions and
                 methods will inform biology.

   •       Computational thinking in other disciplines (more examples later)
           –     Game Theory
                  •      CT is influencing Economics
           –     Nanocomputing
                  •      CT is influencing Chemistry
           –     Quantum computing
                  •      CT is influencing Physics



Computational Thinking                               6                             Jeannette M. Wing
Analogy
       The boldness of my vision: Computational thinking is
         not just for other scientists, it’s for everyone.

       • Ubiquitous computing was yesterday’s dream, today’s
         reality
       • Computational thinking is today’s dream, tomorrow’s
         reality




Computational Thinking         7                              Jeannette M. Wing
Computational Thinking: What It Is and Is Not

       • Conceptualizing, not programming
              – Computer science is not just computer programming
       • Fundamental, not rote skill
              – A skill every human being needs to know to function in
                modern society
              – Rote: mechanical. Need to solve the AI Grand Challenge of
                making computers “think” like humans. Save that for the
                second half of this century!
       • A way that humans, not computers think
              – Humans are clever and creative
              – Computers are dull and boring




Computational Thinking                8                               Jeannette M. Wing
Computational Thinking: What It Is and Is Not

       • Complements and combines mathematical and engineering
         thinking
              – C.T. draws on math as its foundations
                         • But we are constrained by the physics of the underlying machine
              – C.T. draws on engineering since our systems interact with the real
                world
                         • But we can build virtual worlds unconstrained by physical reality
       • Ideas, not artifacts
              – It’s not just the software and hardware that touch our daily lives, it
                will be the computational concepts we use to approach living.
       • It’s for everyone, everywhere
              – C.T. will be a reality when it is so integral to human endeavors that
                it disappears as an explicit philosophy.




Computational Thinking                              9                                          Jeannette M. Wing
Two Messages for the General Public
       • Intellectually challenging and engaging scientific
         problems in computer science remain to be
         understood and solved.
              – Limited only by our curiosity and creativity


       • One can major in computer science and do anything.
              – Just like English, political science, or mathematics




Computational Thinking                  10                             Jeannette M. Wing
Research Implications




Computational Thinking           11              Jeannette M. Wing
CT in Other Sciences, Math, and Engineering


       Biology
           - Shotgun algorithm expedites sequencing
             of human genome
            - DNA sequences are strings in a language
            - Protein structures can be modeled as knots
            - Protein kinetics can be modeled as computational processes
            - Cells as a self-regulatory system are like electronic circuits



                                 Brain Science
                                 - Modeling the brain as a computer
                                 - Vision as a feedback loop
                                 - Analyzing fMRI data with machine learning

Computational Thinking                 12                                  Jeannette M. Wing
CT in Other Sciences, Math, and Engineering

  Chemistry              [Madden, Fellow of Royal Society of Edinburgh]
             - Atomistic calculations are used to explore
               chemical phenomena
             - Optimization and searching algorithms
          identify
               best chemicals for improving reaction
               conditions to improve yields
                                                                          [York, Minnesota]


                                   Geology
                                   - “The Earth is an analogue computer.”
                                       [Boulton, Edinburgh]
                                   - Abstraction boundaries and hierarchies of
                                       complexity model the earth and our atmosphere

Computational Thinking                          13                                 Jeannette M. Wing
CT in Other Sciences, Math, and Engineering
Astronomy
        - Sloan Digital Sky Server brings a telescope
            to every child
        - KD-trees help astronomers analyze very large
            multi-dimensional datasets

                          Mathematics
                           - Discovering E8 Lie Group:
                               18 mathematicians, 4 years and 77 hours of
                               supercomputer time (200 billion numbers).
                               Profound implications for physics (string theory)
                            - Four-color theorem proof

  Engineering (electrical, civil,mechanical, aero&astro, …)
    - Calculating higher order terms implies
     more precision, which implies reducing
     weight, waste, costs in fabrication
  - Boeing 777 tested via computer simulation alone,
     not in a wind tunnel
 Computational Thinking                     14                                     Jeannette M. Wing
CT for Society
  Economics
   - Automated mechanism design underlies
       electronic commerce, e.g., ad placement,
       on-line auctions, kidney exchange
   - MIT PhDs in CS are quants on Wall Street




                               Social Sciences
                               - Social networks explain phenomena such
                                   as MySpace, YouTube
                               - Statistical machine learning is used for
                                   recommendation and reputation services,
                                   e.g., Netflix, affinity card

Computational Thinking           15                              Jeannette M. Wing
CT for Society

Medicine
  - Robotic surgery
   - Electronic health records require privacy technologies
   - Scientific visualization enables virtual colonoscopy




                         Law
                          - Stanford CL approaches include AI, temporal logic,
                              state machines, process algebras, petri nets
                          - POIROT Project on fraud investigation is creating a detailed
                              ontology of European law
                          - Sherlock Project on crime scene investigation



Computational Thinking                    16                                     Jeannette M. Wing
CT for Society
                          Entertainment
                                - Games
                                - Movies
                                   - Dreamworks uses HP data center to
                                       renderShrek and Madagascar
                                   - Lucas Films uses 2000-node data center to
                                       produce Pirates of the Caribbean.




                         Arts
                          - Art (e.g., Robotticelli)
                          - Drama                             Sports
                          - Music                              - Lance Armstrong’s cycling
                          - Photography                          computer tracks man and
                                                                 machine statistics
                                                               - Synergy Sports analyzes
                                                                 digital videos NBA games
Computational Thinking                            17                                Jeannette M. Wing
Educational Implications




Computational Thinking            18                Jeannette M. Wing
Curricula Development
       • Universities should start with their freshmen-level
         intro courses.
              – Teach “Ways to Think Like a Computer Scientist” not just
                “Intro to <programming langage du jour>”
       • Engage national and international organizations to
         reform curricula, in particular K-12.
              – ACM, CSTA, CRA, etc.
       • It needs to be a collective effort.




Computational Thinking                 19                              Jeannette M. Wing
Adapt Course Material for Other Audiences

       • K-6, 7-9, 10-12
       • Undergraduate courses
              – Freshmen year
                         • “Ways to Think Like a Computer Scientist” aka Principles of
                           Computing
              – Upper-level courses
       • Graduate-level courses
              – Computational arts and sciences
                         • E.g., entertainment technology, computational linguistics, …,
                           computational finance, …, computational biology,
                           computational astrophysics
       • Students and teachers
              – CS4All: Carnegie Mellon outreach to high school teachers,
                counselors, and guidance counselors


Computational Thinking                          20                                       Jeannette M. Wing
Ways To Think Like A Computer Scientist
       • Freshmen year course
       • Suitable for non-majors, but inspirational for majors
       • Lessons
              –    Thinking   Recursively
              –    Thinking   Abstractly
              –    Thinking   Ahead (caching, pre-fetching…)
              –    Thinking   Procedurally
              –    Thinking   Logically
              –    Thinking   Concurrently
              –    …
       • Problem sets: pencil-and-paper thought exercises,
         programming exercises

Computational Thinking                    21                   Jeannette M. Wing
Recursion: Towers of Hanoi

          Goal: Transfer the entire tower to one of the other pegs, moving only
          one disk at a time and never a larger one onto a smaller.




Computational Thinking                  22                                    Jeannette M. Wing
Data Abstraction and Representation




                stack             queue            tree
                                              (upside down)



                                             representation invariant

                         array and pointer
Computational Thinking       23                           Jeannette M. Wing
Composition and Decomposition




Computational Thinking   24            Jeannette M. Wing
Sorting and Search




Computational Thinking   25   Jeannette M. Wing
Intractability: Traveling Salesman
          Problem: A traveling salesperson needs to visit n cities.
                   Is there a route of at most d in length?




        O(n!)
        n = 16 → 242 days
        n = 25 → 5x10^15 centuries

Computational Thinking                    26                          Jeannette M. Wing
Undecidability: Tiling




                         Can we tile the entire plane Z2?




                                                            Example from David Harel
Computational Thinking              27                                   Jeannette M. Wing
Data as Code and Code as Data




                         unrecognized
                         email attachment


Computational Thinking                      28   Jeannette M. Wing
Recursion Revisited

              The Y operator

                                  Y = λ f. (λ x. f (x x)) (λ x. f (x x))

                         which satisfies the following equation

                                              Y f = f (Y f)

                         and is the basis of recursion in Computer Science.



                     Y is the fixed point combinator in lambda calculus.


Computational Thinking                         29                             Jeannette M. Wing
Correctness: Avoiding Bugs to Save Money and Lives



                                                                 Ariane 5 failure




      Intel Pentium FPU error




  Now Intel uses formal verification.        Now Microsoft uses formal verification.

Computational Thinking                  30                               Jeannette M. Wing
Caching




                                              knapsack
                                     locker
                         home
Computational Thinking          31              Jeannette M. Wing
Pipelining: Doing Laundry



   6 hours to do 4 loads




                                   3.3 hours to do 4 loads




Computational Thinking     32                    Jeannette M. Wing
Concurrency: Dining Philosophers
      Five philosophers sit around a circular table. Each philosopher spends his
      life alternately thinking and eating. In the centre of the table is a large bowl of
      spaghetti. A philosopher needs two forks to eat a helping of spaghetti.




Computational Thinking                    33                                      Jeannette M. Wing
Distributed Computing: The Internet




                         • Asynchronous communication
                         • Failures
                         • Speed of light




Computational Thinking             34                   Jeannette M. Wing
Deep Questions in Computer Science
       •    Does P = NP ?
       •    What is computable?
       •    What is intelligence?
       •    What is system complexity?




Computational Thinking          35          Jeannette M. Wing
The $1M Question: Does P = NP?

     • The most important open problem in theoretical computer science.
       The Clay Institute of mathematics offers one million dollar prize for
       solution!
             –    http://www.claymath.org/Millennium_Prize_Problems/




                               NP

                                     NP-                                  P = NP = NP-complete
                         P           complete
                                            Boolean satisfiability(SAT)
                                                     N-puzzle
                                                     Knapsack
                                                Hamiltonian cycle
                                               Traveling salesman
                                             Subgraph isomorphism

                             If P ≠ NP              Subset sum
                                                       Clique                    If P = NP
                                                   Vertex cover
                                                 Independent set
                                                  Graph coloring




Computational Thinking                               36                                          Jeannette M. Wing
What is Computable?
       • What is are the power and limits of computation?

       • What is computable when one considers The
         Computer as the combination of Human and
         Machine?




                                         Labeling Images on the Web




                         CAPTCHAs

Computational Thinking              37                           Jeannette M. Wing
What is Intelligence?

                              Human and Machine


                                                    invariant representations:
                                                    On Intelligence,
                                                    by Jeff Hawkins, creator
                                                    of PalmPilot and Treo




 “Computing Versus Human
 Thinking,” Peter Naur,
 Turing Award 2005 Lecture,     Human vs. Machine
 CACM, January 2007.


Computational Thinking           38                              Jeannette M. Wing
What is System Complexity?
 Question 1: Do our systems have to be so complex?
 • Can we build systems with simple designs, that are easy to understand, modify, and
 maintain, yet provide the rich complexity in functionality of systems that we enjoy today?


 Further, observe:
 • We have complexity classes from
 theory.
 • We build complex systems that do
 amazing, but often unpredictable, things.


Question 2: Is there a meaning
of system complexity
that spans the theory and
practice of computing?

  Computational Thinking                     39                                        Jeannette M. Wing
Grand Vision for Society
     • Computational thinking will be a fundamental skill used
       by everyone in the world by the middle of the 21st
       Century.
     • Join us at Carnegie Mellon and the entire computing
       community toward making computational thinking
       commonplace.
            – www.cs.cmu.edu/ct


                                Spread the word!
              To your fellow faculty, students, researchers, administrators,
                   teachers, parents, principals, guidance counselors,
                            school boards, teachers’ unions,
                             congressmen, policy makers, …
Computational Thinking                  40                                 Jeannette M. Wing

More Related Content

What's hot

What is an algorithm?
What is an algorithm?What is an algorithm?
What is an algorithm?Angela DeHart
 
"Introduction to Machine Learning and its Applications" at sapthgiri engineer...
"Introduction to Machine Learning and its Applications" at sapthgiri engineer..."Introduction to Machine Learning and its Applications" at sapthgiri engineer...
"Introduction to Machine Learning and its Applications" at sapthgiri engineer...Sachin Nagargoje
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languagesVarun Garg
 
Job Opportunities for a Computer Science Student
Job Opportunities for a Computer Science StudentJob Opportunities for a Computer Science Student
Job Opportunities for a Computer Science StudentSyed Areeb Jafri
 
Lecture 1: What is Machine Learning?
Lecture 1: What is Machine Learning?Lecture 1: What is Machine Learning?
Lecture 1: What is Machine Learning?Marina Santini
 
Our presentation on algorithm design
Our presentation on algorithm designOur presentation on algorithm design
Our presentation on algorithm designNahid Hasan
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and AlgorithmDhaval Kaneria
 
Applications of Discrete Structures
Applications of Discrete StructuresApplications of Discrete Structures
Applications of Discrete Structuresaviban
 
Introduction To Computer Science (getting started)
Introduction To Computer Science (getting started)Introduction To Computer Science (getting started)
Introduction To Computer Science (getting started)Lawrence Wachs
 
Knowledge representation In Artificial Intelligence
Knowledge representation In Artificial IntelligenceKnowledge representation In Artificial Intelligence
Knowledge representation In Artificial IntelligenceRamla Sheikh
 
Algorithm Design Presentation
Algorithm Design PresentationAlgorithm Design Presentation
Algorithm Design PresentationKawsar Ahmed
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of AlgorithmsSwapnil Agrawal
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its ApplicationsDr Ganesh Iyer
 
Stuart russell and peter norvig artificial intelligence - a modern approach...
Stuart russell and peter norvig   artificial intelligence - a modern approach...Stuart russell and peter norvig   artificial intelligence - a modern approach...
Stuart russell and peter norvig artificial intelligence - a modern approach...Lê Anh Đạt
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithmrajkumar1631010038
 
Data Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptxData Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptxEllenGrace9
 

What's hot (20)

What is an algorithm?
What is an algorithm?What is an algorithm?
What is an algorithm?
 
"Introduction to Machine Learning and its Applications" at sapthgiri engineer...
"Introduction to Machine Learning and its Applications" at sapthgiri engineer..."Introduction to Machine Learning and its Applications" at sapthgiri engineer...
"Introduction to Machine Learning and its Applications" at sapthgiri engineer...
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
Job Opportunities for a Computer Science Student
Job Opportunities for a Computer Science StudentJob Opportunities for a Computer Science Student
Job Opportunities for a Computer Science Student
 
Lecture 1: What is Machine Learning?
Lecture 1: What is Machine Learning?Lecture 1: What is Machine Learning?
Lecture 1: What is Machine Learning?
 
Our presentation on algorithm design
Our presentation on algorithm designOur presentation on algorithm design
Our presentation on algorithm design
 
Algorithm
AlgorithmAlgorithm
Algorithm
 
Text Similarity
Text SimilarityText Similarity
Text Similarity
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
 
Applications of Discrete Structures
Applications of Discrete StructuresApplications of Discrete Structures
Applications of Discrete Structures
 
Randomized algorithms ver 1.0
Randomized algorithms ver 1.0Randomized algorithms ver 1.0
Randomized algorithms ver 1.0
 
Introduction To Computer Science (getting started)
Introduction To Computer Science (getting started)Introduction To Computer Science (getting started)
Introduction To Computer Science (getting started)
 
Knowledge representation In Artificial Intelligence
Knowledge representation In Artificial IntelligenceKnowledge representation In Artificial Intelligence
Knowledge representation In Artificial Intelligence
 
Algorithm Design Presentation
Algorithm Design PresentationAlgorithm Design Presentation
Algorithm Design Presentation
 
Design and Analysis of Algorithms
Design and Analysis of AlgorithmsDesign and Analysis of Algorithms
Design and Analysis of Algorithms
 
Machine Learning and its Applications
Machine Learning and its ApplicationsMachine Learning and its Applications
Machine Learning and its Applications
 
4. algorithm
4. algorithm4. algorithm
4. algorithm
 
Stuart russell and peter norvig artificial intelligence - a modern approach...
Stuart russell and peter norvig   artificial intelligence - a modern approach...Stuart russell and peter norvig   artificial intelligence - a modern approach...
Stuart russell and peter norvig artificial intelligence - a modern approach...
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithm
 
Data Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptxData Structures and Algorithm - Module 1.pptx
Data Structures and Algorithm - Module 1.pptx
 

Similar to Computational Thinking

Theory Generation for Security Protocols
Theory Generation for Security ProtocolsTheory Generation for Security Protocols
Theory Generation for Security Protocolsbutest
 
Artificial Intelligence_Himani Patpatia.pptx
Artificial Intelligence_Himani Patpatia.pptxArtificial Intelligence_Himani Patpatia.pptx
Artificial Intelligence_Himani Patpatia.pptxHimaniPatpatia
 
Computational thinking jeannette m. wing
Computational thinking   jeannette m. wingComputational thinking   jeannette m. wing
Computational thinking jeannette m. winginformaticacuitlahuac
 
Artificial intelligence
Artificial intelligence Artificial intelligence
Artificial intelligence Jagadeesh Kumar
 
Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...Josh Sheldon
 
Assessing computational thinking
Assessing computational thinkingAssessing computational thinking
Assessing computational thinkingDaniel Duckworth
 
CI_module1.pptx .
CI_module1.pptx                                   .CI_module1.pptx                                   .
CI_module1.pptx .Athar739197
 
Introduction to Artificial Intelligences
Introduction to Artificial IntelligencesIntroduction to Artificial Intelligences
Introduction to Artificial IntelligencesMeenakshi Paul
 
computer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial Intelligencecomputer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial IntelligenceKhanKhaja1
 
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptxcsc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptxAlexKaul1
 
Machine Learning, AI and the Brain
Machine Learning, AI and the Brain Machine Learning, AI and the Brain
Machine Learning, AI and the Brain TechExeter
 

Similar to Computational Thinking (20)

Theory Generation for Security Protocols
Theory Generation for Security ProtocolsTheory Generation for Security Protocols
Theory Generation for Security Protocols
 
Artificial Intelligence_Himani Patpatia.pptx
Artificial Intelligence_Himani Patpatia.pptxArtificial Intelligence_Himani Patpatia.pptx
Artificial Intelligence_Himani Patpatia.pptx
 
Computational thinking jeannette m. wing
Computational thinking   jeannette m. wingComputational thinking   jeannette m. wing
Computational thinking jeannette m. wing
 
Artificial intelligence
Artificial intelligence Artificial intelligence
Artificial intelligence
 
Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...
 
Assessing computational thinking
Assessing computational thinkingAssessing computational thinking
Assessing computational thinking
 
CI_module1.pptx .
CI_module1.pptx                                   .CI_module1.pptx                                   .
CI_module1.pptx .
 
What iscs
What iscsWhat iscs
What iscs
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
Introduction to Artificial Intelligences
Introduction to Artificial IntelligencesIntroduction to Artificial Intelligences
Introduction to Artificial Intelligences
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
computer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial Intelligencecomputer science engineering spe ialized in artificial Intelligence
computer science engineering spe ialized in artificial Intelligence
 
ai.ppt
ai.pptai.ppt
ai.ppt
 
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptxcsc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
csc384-Lecture01-Introduction_abcdpdf_pdf_to_ppt.pptx
 
Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systems
 
Cognitive systems
Cognitive  systemsCognitive  systems
Cognitive systems
 
Machine Learning, AI and the Brain
Machine Learning, AI and the Brain Machine Learning, AI and the Brain
Machine Learning, AI and the Brain
 
Find your interest
Find your interestFind your interest
Find your interest
 
1. Cyber and Intelligence
1. Cyber and Intelligence1. Cyber and Intelligence
1. Cyber and Intelligence
 

More from showslidedump

Automated Prediction
Automated PredictionAutomated Prediction
Automated Predictionshowslidedump
 
2010 nasig integrating_usage_statistics
2010 nasig integrating_usage_statistics2010 nasig integrating_usage_statistics
2010 nasig integrating_usage_statisticsshowslidedump
 
Slides Chapter10.1 10.2
Slides Chapter10.1 10.2Slides Chapter10.1 10.2
Slides Chapter10.1 10.2showslidedump
 
5.2 Strong Induction
5.2 Strong Induction5.2 Strong Induction
5.2 Strong Inductionshowslidedump
 
The life and_times_of_biomet_1977-2012____trine
The life and_times_of_biomet_1977-2012____trineThe life and_times_of_biomet_1977-2012____trine
The life and_times_of_biomet_1977-2012____trineshowslidedump
 

More from showslidedump (9)

Automated Prediction
Automated PredictionAutomated Prediction
Automated Prediction
 
2010 nasig integrating_usage_statistics
2010 nasig integrating_usage_statistics2010 nasig integrating_usage_statistics
2010 nasig integrating_usage_statistics
 
Slides Chapter10.1 10.2
Slides Chapter10.1 10.2Slides Chapter10.1 10.2
Slides Chapter10.1 10.2
 
5.2 Strong Induction
5.2 Strong Induction5.2 Strong Induction
5.2 Strong Induction
 
5.1 Induction
5.1 Induction5.1 Induction
5.1 Induction
 
2.2 Set Operations
2.2 Set Operations2.2 Set Operations
2.2 Set Operations
 
2.1 Sets
2.1 Sets2.1 Sets
2.1 Sets
 
Exam 2 Study Guide
Exam 2 Study GuideExam 2 Study Guide
Exam 2 Study Guide
 
The life and_times_of_biomet_1977-2012____trine
The life and_times_of_biomet_1977-2012____trineThe life and_times_of_biomet_1977-2012____trine
The life and_times_of_biomet_1977-2012____trine
 

Recently uploaded

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

Computational Thinking

  • 1. Computational Thinking Jeannette M. Wing President’s Professor of Computer Science and Department Head Computer Science Department Carnegie Mellon University © 2007 Jeannette M. Wing
  • 2. My Grand Vision for the Field • Computational thinking will be a fundamental skill used by everyone in the world by the middle of the 21st Century. – Just like reading, writing, and arithmetic. – Imagine every child knowing how to think like a computer scientist! – Incestuous: Computing and computers will enable the spread of computational thinking. Computational Thinking 2 Jeannette M. Wing
  • 3. Computational Thinking • C.T. enables what one human being cannot do alone – For solving problems – For designing systems – For understanding the power and limits of human and machine intelligence Computational Thinking 3 Jeannette M. Wing
  • 4. The Two A’s of Computational Thinking • Abstraction – C.T. is operating in terms of multiple layers of abstraction simultaneously – C.T. is defining the relationships the between layers • Automation – C.T. is thinking in terms of mechanizing the abstraction layers and their relationships • Mechanization is possible due to precise and exacting notations and models – There is some “machine” below (human or computer, virtual or physical) • They give us the ability and audacity to scale. Computational Thinking 4 Jeannette M. Wing
  • 5. Examples of Computational Thinking • How difficult is this problem and how best can I solve it? – Theoretical computer science gives precise meaning to these and related questions and their answers. • C.T. is thinking recursively. • C.T. is reformulating a seemingly difficult problem into one which we know how to solve. – Reduction, embedding, transformation, simulation • C.T. is choosing an appropriate representation or modeling the relevant aspects of a problem to make it tractable. • C.T. is interpreting code as data and data as code. • C.T. is using abstraction and decomposition in tackling a large complex task. • C.T. is judging a system’s design for its simplicity and elegance. • C.T. is type checking, as a generalization of dimensional analysis. • C.T. is prevention, detection, and recovery from worst-case scenarios through redundancy, damage containment, and error correction. • C.T. is modularizing something in anticipation of multiple users and prefetching and caching in anticipation of future use. • C.T. is calling gridlock deadlock and avoiding race conditions when synchronizing meetings. • C.T. is using the difficulty of solving hard AI problems to foil computing agents. • C.T. is taking an approach to solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science. Please tell me your favorite examples of computational thinking! Computational Thinking 5 Jeannette M. Wing
  • 6. Evidence of Computational Thinking’s Influence • Computational thinking, in particular, machine learning has revolutionized Statistics – Statistics departments in the US are hiring computer scientists – Schools of computer science in the US are starting or embracing existing Statistics departments • Computational thinking is our current big bet in Biology – Algorithms and data structures, computational abstractions and methods will inform biology. • Computational thinking in other disciplines (more examples later) – Game Theory • CT is influencing Economics – Nanocomputing • CT is influencing Chemistry – Quantum computing • CT is influencing Physics Computational Thinking 6 Jeannette M. Wing
  • 7. Analogy The boldness of my vision: Computational thinking is not just for other scientists, it’s for everyone. • Ubiquitous computing was yesterday’s dream, today’s reality • Computational thinking is today’s dream, tomorrow’s reality Computational Thinking 7 Jeannette M. Wing
  • 8. Computational Thinking: What It Is and Is Not • Conceptualizing, not programming – Computer science is not just computer programming • Fundamental, not rote skill – A skill every human being needs to know to function in modern society – Rote: mechanical. Need to solve the AI Grand Challenge of making computers “think” like humans. Save that for the second half of this century! • A way that humans, not computers think – Humans are clever and creative – Computers are dull and boring Computational Thinking 8 Jeannette M. Wing
  • 9. Computational Thinking: What It Is and Is Not • Complements and combines mathematical and engineering thinking – C.T. draws on math as its foundations • But we are constrained by the physics of the underlying machine – C.T. draws on engineering since our systems interact with the real world • But we can build virtual worlds unconstrained by physical reality • Ideas, not artifacts – It’s not just the software and hardware that touch our daily lives, it will be the computational concepts we use to approach living. • It’s for everyone, everywhere – C.T. will be a reality when it is so integral to human endeavors that it disappears as an explicit philosophy. Computational Thinking 9 Jeannette M. Wing
  • 10. Two Messages for the General Public • Intellectually challenging and engaging scientific problems in computer science remain to be understood and solved. – Limited only by our curiosity and creativity • One can major in computer science and do anything. – Just like English, political science, or mathematics Computational Thinking 10 Jeannette M. Wing
  • 12. CT in Other Sciences, Math, and Engineering Biology - Shotgun algorithm expedites sequencing of human genome - DNA sequences are strings in a language - Protein structures can be modeled as knots - Protein kinetics can be modeled as computational processes - Cells as a self-regulatory system are like electronic circuits Brain Science - Modeling the brain as a computer - Vision as a feedback loop - Analyzing fMRI data with machine learning Computational Thinking 12 Jeannette M. Wing
  • 13. CT in Other Sciences, Math, and Engineering Chemistry [Madden, Fellow of Royal Society of Edinburgh] - Atomistic calculations are used to explore chemical phenomena - Optimization and searching algorithms identify best chemicals for improving reaction conditions to improve yields [York, Minnesota] Geology - “The Earth is an analogue computer.” [Boulton, Edinburgh] - Abstraction boundaries and hierarchies of complexity model the earth and our atmosphere Computational Thinking 13 Jeannette M. Wing
  • 14. CT in Other Sciences, Math, and Engineering Astronomy - Sloan Digital Sky Server brings a telescope to every child - KD-trees help astronomers analyze very large multi-dimensional datasets Mathematics - Discovering E8 Lie Group: 18 mathematicians, 4 years and 77 hours of supercomputer time (200 billion numbers). Profound implications for physics (string theory) - Four-color theorem proof Engineering (electrical, civil,mechanical, aero&astro, …) - Calculating higher order terms implies more precision, which implies reducing weight, waste, costs in fabrication - Boeing 777 tested via computer simulation alone, not in a wind tunnel Computational Thinking 14 Jeannette M. Wing
  • 15. CT for Society Economics - Automated mechanism design underlies electronic commerce, e.g., ad placement, on-line auctions, kidney exchange - MIT PhDs in CS are quants on Wall Street Social Sciences - Social networks explain phenomena such as MySpace, YouTube - Statistical machine learning is used for recommendation and reputation services, e.g., Netflix, affinity card Computational Thinking 15 Jeannette M. Wing
  • 16. CT for Society Medicine - Robotic surgery - Electronic health records require privacy technologies - Scientific visualization enables virtual colonoscopy Law - Stanford CL approaches include AI, temporal logic, state machines, process algebras, petri nets - POIROT Project on fraud investigation is creating a detailed ontology of European law - Sherlock Project on crime scene investigation Computational Thinking 16 Jeannette M. Wing
  • 17. CT for Society Entertainment - Games - Movies - Dreamworks uses HP data center to renderShrek and Madagascar - Lucas Films uses 2000-node data center to produce Pirates of the Caribbean. Arts - Art (e.g., Robotticelli) - Drama Sports - Music - Lance Armstrong’s cycling - Photography computer tracks man and machine statistics - Synergy Sports analyzes digital videos NBA games Computational Thinking 17 Jeannette M. Wing
  • 19. Curricula Development • Universities should start with their freshmen-level intro courses. – Teach “Ways to Think Like a Computer Scientist” not just “Intro to <programming langage du jour>” • Engage national and international organizations to reform curricula, in particular K-12. – ACM, CSTA, CRA, etc. • It needs to be a collective effort. Computational Thinking 19 Jeannette M. Wing
  • 20. Adapt Course Material for Other Audiences • K-6, 7-9, 10-12 • Undergraduate courses – Freshmen year • “Ways to Think Like a Computer Scientist” aka Principles of Computing – Upper-level courses • Graduate-level courses – Computational arts and sciences • E.g., entertainment technology, computational linguistics, …, computational finance, …, computational biology, computational astrophysics • Students and teachers – CS4All: Carnegie Mellon outreach to high school teachers, counselors, and guidance counselors Computational Thinking 20 Jeannette M. Wing
  • 21. Ways To Think Like A Computer Scientist • Freshmen year course • Suitable for non-majors, but inspirational for majors • Lessons – Thinking Recursively – Thinking Abstractly – Thinking Ahead (caching, pre-fetching…) – Thinking Procedurally – Thinking Logically – Thinking Concurrently – … • Problem sets: pencil-and-paper thought exercises, programming exercises Computational Thinking 21 Jeannette M. Wing
  • 22. Recursion: Towers of Hanoi Goal: Transfer the entire tower to one of the other pegs, moving only one disk at a time and never a larger one onto a smaller. Computational Thinking 22 Jeannette M. Wing
  • 23. Data Abstraction and Representation stack queue tree (upside down) representation invariant array and pointer Computational Thinking 23 Jeannette M. Wing
  • 24. Composition and Decomposition Computational Thinking 24 Jeannette M. Wing
  • 25. Sorting and Search Computational Thinking 25 Jeannette M. Wing
  • 26. Intractability: Traveling Salesman Problem: A traveling salesperson needs to visit n cities. Is there a route of at most d in length? O(n!) n = 16 → 242 days n = 25 → 5x10^15 centuries Computational Thinking 26 Jeannette M. Wing
  • 27. Undecidability: Tiling Can we tile the entire plane Z2? Example from David Harel Computational Thinking 27 Jeannette M. Wing
  • 28. Data as Code and Code as Data unrecognized email attachment Computational Thinking 28 Jeannette M. Wing
  • 29. Recursion Revisited The Y operator Y = λ f. (λ x. f (x x)) (λ x. f (x x)) which satisfies the following equation Y f = f (Y f) and is the basis of recursion in Computer Science. Y is the fixed point combinator in lambda calculus. Computational Thinking 29 Jeannette M. Wing
  • 30. Correctness: Avoiding Bugs to Save Money and Lives Ariane 5 failure Intel Pentium FPU error Now Intel uses formal verification. Now Microsoft uses formal verification. Computational Thinking 30 Jeannette M. Wing
  • 31. Caching knapsack locker home Computational Thinking 31 Jeannette M. Wing
  • 32. Pipelining: Doing Laundry 6 hours to do 4 loads 3.3 hours to do 4 loads Computational Thinking 32 Jeannette M. Wing
  • 33. Concurrency: Dining Philosophers Five philosophers sit around a circular table. Each philosopher spends his life alternately thinking and eating. In the centre of the table is a large bowl of spaghetti. A philosopher needs two forks to eat a helping of spaghetti. Computational Thinking 33 Jeannette M. Wing
  • 34. Distributed Computing: The Internet • Asynchronous communication • Failures • Speed of light Computational Thinking 34 Jeannette M. Wing
  • 35. Deep Questions in Computer Science • Does P = NP ? • What is computable? • What is intelligence? • What is system complexity? Computational Thinking 35 Jeannette M. Wing
  • 36. The $1M Question: Does P = NP? • The most important open problem in theoretical computer science. The Clay Institute of mathematics offers one million dollar prize for solution! – http://www.claymath.org/Millennium_Prize_Problems/ NP NP- P = NP = NP-complete P complete Boolean satisfiability(SAT) N-puzzle Knapsack Hamiltonian cycle Traveling salesman Subgraph isomorphism If P ≠ NP Subset sum Clique If P = NP Vertex cover Independent set Graph coloring Computational Thinking 36 Jeannette M. Wing
  • 37. What is Computable? • What is are the power and limits of computation? • What is computable when one considers The Computer as the combination of Human and Machine? Labeling Images on the Web CAPTCHAs Computational Thinking 37 Jeannette M. Wing
  • 38. What is Intelligence? Human and Machine invariant representations: On Intelligence, by Jeff Hawkins, creator of PalmPilot and Treo “Computing Versus Human Thinking,” Peter Naur, Turing Award 2005 Lecture, Human vs. Machine CACM, January 2007. Computational Thinking 38 Jeannette M. Wing
  • 39. What is System Complexity? Question 1: Do our systems have to be so complex? • Can we build systems with simple designs, that are easy to understand, modify, and maintain, yet provide the rich complexity in functionality of systems that we enjoy today? Further, observe: • We have complexity classes from theory. • We build complex systems that do amazing, but often unpredictable, things. Question 2: Is there a meaning of system complexity that spans the theory and practice of computing? Computational Thinking 39 Jeannette M. Wing
  • 40. Grand Vision for Society • Computational thinking will be a fundamental skill used by everyone in the world by the middle of the 21st Century. • Join us at Carnegie Mellon and the entire computing community toward making computational thinking commonplace. – www.cs.cmu.edu/ct Spread the word! To your fellow faculty, students, researchers, administrators, teachers, parents, principals, guidance counselors, school boards, teachers’ unions, congressmen, policy makers, … Computational Thinking 40 Jeannette M. Wing