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

PPTX
Computational Thinking in the Workforce and Next Generation Science Standards...
DOC
Artificial intelligent
PPTX
Artificial Intelligent introduction or history
PDF
Computational thinking-illustrated
PDF
Applying Computational Thinking
PDF
Ai 01 introduction
PPTX
Cognitive architectures
DOCX
Case study on deep learning
Computational Thinking in the Workforce and Next Generation Science Standards...
Artificial intelligent
Artificial Intelligent introduction or history
Computational thinking-illustrated
Applying Computational Thinking
Ai 01 introduction
Cognitive architectures
Case study on deep learning

What's hot (17)

PPTX
The IOT Academy Training for Artificial Intelligence ( AI)
PPTX
Junkbots and computational thinking
PPTX
Machine Learning, AI and the Brain
PPTX
Unit 2 ai
PDF
JD McCreary Presentation to Williams Foundation, March 22, 2018
PDF
Adarsh gupta ppt
PPTX
Computational Thinking - a 4 step approach and a new pedagogy
PPTX
Computational thinking and curriculum
PPTX
Artificial intelligence LAB 1 overview &amp; intelligent systems
PDF
International journal of engineering issues vol 2015 - no 2 - paper4
PPT
AI Lecture 1 (introduction)
PDF
ADVANCED CIVIL ENGINEERING OPTIMIZATION BY ARTIFICIAL INTELLIGENT SYSTEMS: RE...
PPTX
Computational Thinking - A Revolution in 4 Steps
PDF
AI And Philosophy
PDF
Artificial Intelligence Notes Unit 1
DOCX
Unit I What is Artificial Intelligence.docx
PPTX
ELH School Tech 2013 - Computational Thinking
The IOT Academy Training for Artificial Intelligence ( AI)
Junkbots and computational thinking
Machine Learning, AI and the Brain
Unit 2 ai
JD McCreary Presentation to Williams Foundation, March 22, 2018
Adarsh gupta ppt
Computational Thinking - a 4 step approach and a new pedagogy
Computational thinking and curriculum
Artificial intelligence LAB 1 overview &amp; intelligent systems
International journal of engineering issues vol 2015 - no 2 - paper4
AI Lecture 1 (introduction)
ADVANCED CIVIL ENGINEERING OPTIMIZATION BY ARTIFICIAL INTELLIGENT SYSTEMS: RE...
Computational Thinking - A Revolution in 4 Steps
AI And Philosophy
Artificial Intelligence Notes Unit 1
Unit I What is Artificial Intelligence.docx
ELH School Tech 2013 - Computational Thinking
Ad

Similar to IT_Computational thinking (20)

PPTX
Theory Generation for Security Protocols
PDF
Computational thinking jeannette m. wing
PPTX
NRC-Nature-Scope computational thinking.pptx
PDF
Computational Thinking (MIT Press Essential Knowledge series) Peter J. Denning
PPTX
Foundation for computational computing
PDF
Computational thinking in Egypt
PPTX
Assessing computational thinking
PDF
Emerging Research, Practice, and Policy on Computational Thinking
PPTX
Qsite Presentation computational thinking 2013
PDF
Inria - Activity report 2009
PPTX
Computational Thinking - 101
DOCX
What is creative computing
PPTX
What and why of computational thinking
PPT
science _engineering__and_the_liberal_arts
PPT
2005: Natural Computing - Concepts and Applications
PDF
PPTX
Introduction to Computational Thinking.pptx
PPTX
Computer Science
PDF
Computation of Things
PDF
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ Harvard
Theory Generation for Security Protocols
Computational thinking jeannette m. wing
NRC-Nature-Scope computational thinking.pptx
Computational Thinking (MIT Press Essential Knowledge series) Peter J. Denning
Foundation for computational computing
Computational thinking in Egypt
Assessing computational thinking
Emerging Research, Practice, and Policy on Computational Thinking
Qsite Presentation computational thinking 2013
Inria - Activity report 2009
Computational Thinking - 101
What is creative computing
What and why of computational thinking
science _engineering__and_the_liberal_arts
2005: Natural Computing - Concepts and Applications
Introduction to Computational Thinking.pptx
Computer Science
Computation of Things
Computation of Things - Justyna Zander, Pieter Mosterman - H+ Summit @ Harvard
Ad

Recently uploaded (20)

PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PPTX
Configure Apache Mutual Authentication
PPTX
Microsoft User Copilot Training Slide Deck
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PPTX
Internet of Everything -Basic concepts details
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Advancing precision in air quality forecasting through machine learning integ...
PPTX
Module 1 Introduction to Web Programming .pptx
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PPTX
future_of_ai_comprehensive_20250822032121.pptx
PDF
SaaS reusability assessment using machine learning techniques
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
MuleSoft-Compete-Deck for midddleware integrations
Rapid Prototyping: A lecture on prototyping techniques for interface design
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Configure Apache Mutual Authentication
Microsoft User Copilot Training Slide Deck
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
NewMind AI Weekly Chronicles – August ’25 Week IV
Internet of Everything -Basic concepts details
Early detection and classification of bone marrow changes in lumbar vertebrae...
Advancing precision in air quality forecasting through machine learning integ...
Module 1 Introduction to Web Programming .pptx
Basics of Cloud Computing - Cloud Ecosystem
future_of_ai_comprehensive_20250822032121.pptx
SaaS reusability assessment using machine learning techniques

IT_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