Computaonal Thinking

Jeannee M. Wing President’s Professor of Computer Science and Department Head Computer Science Department Carnegie Mellon University

40 Year Anniversary Event University of Zurich Zurich, Switzerland 24 September 2010 My Grand Vision

• Computaonal thinking will be a fundamental skill used by everyone in the world by the middle of the 21st Century.

– Just like reading, wring, and arithmec. – Incestuous: Compung and computers will enable the spread of computaonal thinking.

– In research: sciensts, engineers, …, historians, arsts – In educaon: K-12 students and teachers, undergrads, …

J.M. Wing, “Computaonal Thinking,” CACM Viewpoint, March 2006, pp. 33-35. Paper off hp://www.cs.cmu.edu/~wing/

Computaonal Thinking 2 Jeannee M. Wing Compung is the Automaon of Abstracons

Abstracons

Automaon

Computaonal Thinking focuses on the process of abstracon - choosing the right abstracons - operang in terms of mulple layers of abstracon simultaneously as in - defining the relaonships the between layers Mathemacs

guided by the following concerns…

Computaonal Thinking 3 Jeannee M. Wing Measures of a “Good” Abstracon in C.T.

as in • Efficiency Engineering – How fast? – How much space? NEW – How much power? • Correctness – Does it do the right thing? • Does the program compute the right answer? – Does it do anything? • Does the program eventually produce an answer? [Halng Problem] • -ilies – Simplicity and elegance – Usability – Modifiability – Maintainability – Cost – …

Computaonal Thinking 4 Jeannee M. Wing Computaonal Thinking, Philosophically

• Complements and combines mathemacal and engineering thinking – C.T. draws on math as its foundaons • 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 arfacts – It’s not just the soware and hardware that touch our daily lives, it will be the computaonal concepts we use to approach living.

• It’s for everyone, everywhere

Computaonal Thinking 5 Jeannee M. Wing Sample Classes of Computaonal Abstracons • Algorithms – E.g., mergesort, binary search, string matching, clustering • Data Structures – E.g., sequences, tables, trees, graphs, networks • State Machines – E.g., finite automata, Turing machines • Languages – E.g., regular expressions, …, VDM, Z, …, ML, Haskell, …, Java, Perl • Logics and semancs – E.g., Hoare triples, temporal logic, modal logics, lambda calculus • Heuriscs – E.g., A* (best-first graph search), caching • Control Structures – /sequenal composion, iteraon, recursion • Communicaon – E.g., synchronous/asynchronous, broadcast/P2P, RPC, shared memory/message-passing • Architectures – E.g., layered, hierarchical, pipeline, blackboard, feedback loop, client-server, parallel, distributed • … NOT • Computer literacy, i.e., how to use Word and Excel or even Google • Computer programming, i.e., beyond Java Programming 101 Computaonal Thinking 6 Jeannee M. Wing Examples of Computaonal Thinking in Other Disciplines

Computaonal Thinking 7 Jeannee M. Wing One Discipline, Many Computaonal Methods

Computaonal Thinking 8 Jeannee M. Wing Computaonal Thinking in Biology

• Shotgun algorithm expedites sequencing of human genome

• DNA sequences are strings in a language • Boolean networks approximate dynamics of biological networks • Cells as a self-regulatory system are like electronic circuits • Process calculi model interacons among molecules • Statecharts used in developmental genecs • Protein kinecs can be modeled as computaonal processes • Robot Adam discovers role of 12 genes in yeast • PageRank algorithm inspires ecological food web

Computaonal Thinking 9 Jeannee M. Wing Model Checking Primer

Finite State Machine Temporal Logic model M property Φ

Φ = AG p M’s computaonal tree AF p, EG p, EF p Model Checker

yes counterexample

Φ is falsified here.

Computaonal Thinking 10 Jeannee M. Wing Model Checking Problem

Let M be a finite state machine. Let Φ be a specificaon in temporal logic.

Find all states s of M such that:

M, s |= Φ

Efficient algorithms: [CE81, CES86, Ku94, QS81, VW94] Efficient data structures: binary decision diagrams [Br86]

Computaonal Thinking 11 Jeannee M. Wing Model Checking in Biology Goal: Predict Rate of Folding of Proteins 1. Finite State Machine M 1’. BDD efficiently 2. Temporal Logic Formula Φ represents 3-residue protein represents M a. Will the protein end up in a parcular configuraon? b. Will the second residue fold before the first one? c. Will the protein fold within t ms? d. What is the probability that (c)? e. Does the state s have k folded residues and have energy c? Method easily handles proteins up to 76 residues.

Model checking can explore state spaces as large as 276 ≈ 1023, 14 orders of magnitude greater than comparable techniques [LJ07].

Energy Profile for FKBP-12, Computed via Method Computaonal Thinking 12 Jeannee M. Wing One Computaonal Method, Many Disciplines

Machine Learning has transformed the field of Stascs.

Computaonal Thinking 13 Jeannee M. Wing Machine Learning in the Sciences

- Brown dwarfs and fossil galaxies discovery Astronomy via machine learning, data mining, data federaon - Very large mul-dimensional datasets analysis using KD-trees Credit: SDSS Medicine - An-inflammatory drugs - Chronic hepas - Mammograms - Renal and respiratory failure

Credit: LiveScience Meteorology - Tornado formaon Neurosciences - fMRI data analysis to understand language via machine learning Computaonal Thinking 14 Jeannee M. Wing Machine Learning Everywhere

Supermarkets Credit Cards

Wall Street

Entertainment: Shopping, Music, Travel Sports

Computaonal Thinking 15 Jeannee M. Wing Computaonal Thinking 16 Jeannee M. Wing ?

Computaonal Thinking 17 Jeannee M. Wing Computaonal Thinking 18 Jeannee M. Wing Queson (Kearns): Can a Set of Weak Learners Create a Single Strong One?

Answer: Yes, by Boosng Algorithms (e.g., [FS99])

Computaonal Thinking 19 Jeannee M. Wing Computaonal Thinking 20 Jeannee M. Wing Computaonal Thinking 21 Jeannee M. Wing Computaonal Thinking 22 Jeannee M. Wing Computaonal Thinking 23 Jeannee M. Wing Computaonal Thinking 24 Jeannee M. Wing Computaonal Thinking 25 Jeannee M. Wing Computaonal Thinking 26 Jeannee M. Wing Computaonal Thinking in the Sciences and Beyond

Computaonal Thinking 27 Jeannee M. Wing CT in Other Sciences

- Atomisc calculaons are used to explore Chemistry chemical phenomena - Opmizaon and searching algorithms idenfy best chemicals for improving reacon condions to improve yields

Physics [York, Minnesota]

- Adiabac quantum compung: How quickly is convergence? - Genec algorithms discover laws of physics.

Geosciences - Abstracons for Sky, Sea, Ice, Land, Life, People, etc. - Hierarchical, composable , modular, traceability, allowing mulple projecons along any dimension, data element, or query - Well-defined interfaces Computaonal Thinking 28 Jeannee M. Wing CT in Math and Engineering

Mathemacs

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

Credit: Wikipedia Credit: Wikipedia

Engineering (electrical, civil, mechanical, aero & astro,…)

Credit: Boeing - Calculang higher order terms implies more precision, which implies reducing weight, waste, costs in fabricaon - Boeing 777 tested via computer simulaon alone, not in a wind tunnel

Computaonal Thinking 29 Jeannee M. Wing CT for Society

Economics - Automated mechanism design underlies electronic commerce, e.g., ad placement, on-line aucons, kidney exchange - Internet marketplace requires revising Nash equilibria model - Use intractability for vong schemes to circumvent impossibility results

- Invenons discovered through automated search are patentable - Stanford CL approaches include AI, temporal logic, state machines, process algebras, Petri nets - POIROT Project on fraud invesgaon is creang a detailed Law ontology of European law - Sherlock Project on crime scene invesgaon

Humanies

- Digging into Data Challenge: What could you do with a million books? Nat’l Endowment for the Humanies (US), JISC (UK), SSHRC (Canada) - Music, English, Art, Design, Photography, … Computaonal Thinking 30 Jeannee M. Wing Educaonal Implicaons

Computaonal Thinking 31 Jeannee M. Wing Pre-K to Grey

• K-6, 7-9, 10-12 • Undergraduate courses – Freshmen year • “Ways to Think Like a Computer Scienst” aka Principles of Compung – Upper-level courses • Graduate-level courses – Computaonal arts and sciences • E.g., entertainment technology, computaonal linguiscs, …, computaonal finance, …, computaonal biology, computaonal astrophysics • Post-graduate – Execuve and connuing educaon, senior cizens – Teachers, not just students

Computaonal Thinking 32 Jeannee M. Wing Educaon Implicaons for K-12

Queson and Challenge for the Compung Community:

What is an effecve way of learning (teaching) computaonal thinking by (to) K-12?

- What concepts can students (educators) best learn (teach) when? What is our analogy to numbers in K, algebra in 7, and calculus in 12?

- We uniquely also should ask how best to integrate The Computer with teaching the concepts.

Computer sciensts are now working with educators and cognive learning sciensts to address these quesons.

Computaonal Thinking 33 Jeannee M. Wing Computaonal Thinking in Daily Life

Computaonal Thinking 34 Jeannee M. Wing Geng Morning Coffee at the Cafeteria straws, srrers, coffee soda milk cups

sugar, lids creamers

napkins

Computaonal Thinking 35 Jeannee M. Wing Geng Morning Coffee at the Cafeteria straws, srrers, coffee soda milk cups

sugar, lids creamers

napkins

Computaonal Thinking 36 Jeannee M. Wing Geng Morning Coffee at the Cafeteria straws, srrers, coffee soda milk cups

sugar, lids creamers

napkins

Especially Inefficient With Two or More Persons…

Computaonal Thinking 37 Jeannee M. Wing Beer: Think Computaonally—Pipelining! straws, srrers, coffee soda milk cups

sugar, creamers lids

napkins

Computaonal Thinking 38 Jeannee M. Wing Computaonal Thinking at NSF CDI: Cyber-Enabled Discovery and Innovaon

Computational Thinking for Science and Engineering

• Paradigm shi – Not just compung’s metal tools (transistors and wires) but also our mental tools (abstracons and methods) • It’s about partnerships and transformave research. – To innovate in/innovavely use computaonal thinking; and – To advance more than one science/engineering discipline. • Investments by all directorates and offices – FY08: $48M, 1800 Leers of Intent, 1300 Preliminary Proposals, 200 Full Proposals, 36 Awards – FY09: $63M+, 830 Preliminary Proposals, 283 Full Proposals, 53+ Awards – FY10: 320 Full Proposals, … holding panels now …. – FY11 President’s Request: > $100M CISE AC 40 Jeannee M. Wing Range of Disciplines in CDI Awards

• Aerospace engineering • Linguiscs • Astrophysics and cosmology • Materials engineering • Atmospheric sciences • Mathemacs • Biochemistry • Mechanical engineering • Biomaterials • Molecular biology • Biophysics • Nanocompung • Chemical engineering • Neuroscience • Civil engineering • Proteomics • Communicaons science and • Robocs engineering • Social sciences • Computer science • Stascs • Cosmology • Stascal physics • Ecosystems • Sustainability • Genomics • … • Geosciences … advances via Computaonal Thinking Computaonal Thinking 41 Jeannee M. Wing Range of Societal Issues Addressed

• Cancer therapy • Climate change • Environment • Sustainability • Visually impaired • Water

Computaonal Thinking 42 Jeannee M. Wing C.T. in Educaon: Naonal Efforts

ACM-Ed Compung CRA-E Community CSTA

NSF College Board

Reboong Naonal Academies

Computaonal Thinking workshops

CSTB “CT for Everyone” Steering Commiee • Marcia Linn, Berkeley K-12 • Al Aho, Columbia • Brian Blake, Georgetown BPC CPATH AP • Bob Constable, Cornell • Yasmin Kafai, U Penn • Janet Kolodner, Georgia Tech • Larry Snyder, U Washington • Uri Wilensky, Northwestern Computaonal Thinking 43 Jeannee M. Wing Computaonal Thinking, Internaonal

UK Research Assessment (2009)

The Computer Science and Informacs panel said “Computaonal thinking is influencing all disciplines….”

Computaonal Thinking 44 Jeannee M. Wing Spread the Word

• Help make computaonal thinking commonplace!

To fellow faculty, students, researchers, administrators, teachers, parents, principals, guidance counselors, school boards, teachers’ unions, congressmen, policy makers, …

Computaonal Thinking 45 Jeannee M. Wing Thank you! References (Representave Only)

• Computaonal Thinking – University of Edinburgh, hp://www.inf.ed.ac.uk/research/programmes/comp-think/ – [Wing06] J.M. Wing, “Computaonal Thinking,” CACM Viewpoint, March 2006, pp. 33-35, hp://www.cs.cmu.edu/~wing/ • Model Checking, Temporal Logic, Binary Decisions Diagrams – [Br86] , “Graph-Based Algorithms for Boolean Funcon Manipulaon,” IEEE Trans. Computers, 35(8): 677-691 (1986). – [CE81] E. M. Clarke and E. A. Emerson, “The Design and Synthesis of Synchronizaon Skeletons Using Temporal Logic,” Proceedings of the Workshop on Logics of Programs, IBM Watson Research Center, Yorktown Heights, New York, Springer-Verlag Lecture Notes in Computer Science, #131, pp. 52–71, May 1981. – [CES86] E. M. Clarke, E. A. Emerson, and A. P. Sistla, “Automac Verificaon of Finite State Concurrent Systems Using Temporal Logic Specificaons,” ACM Trans. Prog. Lang. and Sys., (8)2, pp. 244-263, 1986. – [CGP99] Edmund M. Clarke, Jr., Orna Grumberg and Doron A. Peled, Model Checking, MIT Press, 1999, ISBN 0-262-03270-8. – [Ku94] Robert P. Kurshan, Computer Aided Verificaon of Coordinang Processes: An Automata-theorec Approach, Princeton Univ. Press, 1994. – [Pn77] Amir Pnueli, “The Temporal Logic of Programs,” Foundaons of Computer Science, FOCS, pp. 46-57, 1977. – [QS82] Jean-Pierre Queille, Joseph Sifakis, “Specificaon and verificaon of concurrent systems in CESAR,” Symposium on Programming, Springer LNCS #137 1982: 337-351. – [VW86] Moshe Y. Vardi and , “An Automata-Theorec Approach to Automac Program Verificaon (Preliminary Report),” Logic in Computer Science, LICS 1986: 332-344. • Computaonal Thinking and Biology – Allessina and Pascual, “Googling Food Webs: Can an Eigenvector Measure Species' Importance for Coexncons?”, PLoS Computaonal Biology, 5(9), September 4, 2009. hp://www.ploscompbiol.org/arcle/info:doi%2F10.1371%2Fjournal.pcbi.1000494 – Executable Cell Biology, Jasmin Fisher and Thomas A Henzinger, Nature Biotechnology, Vol. 25, No. 11, November 2007. (See paper for many other excellent references.) – [LJ07] Predicng Protein Folding Kinecs via Temporal Logic Model Checking, Christopher Langmead and Sumit Jha, WABI, 2007. – Systems Biology Group, Ziv Bar-Joseph, Carnegie Mellon University, hp://www.sb.cs.cmu.edu/pages/publicaons.html Computaonal Thinking 47 Jeannee M. Wing References (Representave Only) • Machine Learning and Applicaons – Christopher Bishop, Paern Recognion and Machine Learning, Springer, 2006. – [FS99] and Robert E. Schapire, “A short introducon to boosng.” Journal of Japanese Society for Arficial Intelligence, 14(5):771-780, September, 1999. – Tom Mitchell, Machine Learning, McGraw Hill, 1997 – Symbolic Aggregate Approximaon, Eamonn Keogh, UC Riverside, hp://www.cs.ucr.edu/~eamonn/SAX.htm (applicaons in Medical, Meteorological and many other domains) – The Auton Lab, Artur Dubrawski, Jeff Schneider, Andrew Moore, Carnegie Mellon, hp://www.autonlab.org/autonweb/2.html (applicaons in Astronomy, Finance, Forensics, Medical and many other domains) • Computaonal Thinking and Astronomy – J. Gray, A.S. Szalay, A. Thakar, P. Kunszt, C. Stoughton, D. Slutz, J. vandenBerg, “Data Mining the SDSS SkyServer Database,” in Distributed Data & Structures 4: Records of the 4th Internaonal Meeng, W. Litwin, G. Levy (eds), Paris France March 2002, Carleton Scienfic 2003, ISBN 1-894145-13-5, pp 189-210. – Sloan Digital Sky Survey @Johns Hopkins University, hp://www.sdss.jhu.edu/ • Computaonal Thinking and Chemistry – [Ma07] Paul Madden, Computaon and Computaonal Thinking in Chemistry, February 28, 2007 talk off hp://www.inf.ed.ac.uk/research/programmes/comp-think/previous.html • Computaonal Thinking and Economics – Abraham, D., Blum, A. and Sandholm, T., “Clearing algorithms for barter exchange markets: enabling naonwide kidney exchanges,“ Proc. 8th ACM Conf. on Electronic Commerce, pp. 295–304. New York, NY: Associaon for Compung Machinery, 2007. – Conitzer, V., Sandholm, T., and Lang, J., When Are Elecons with Few Candidates Hard to Manipulate? Journal of the ACM, 54(3), June 2007. – Conitzer, V. and Sandholm, T., Universal Vong Protocol Tweaks to Make Manipulaon Hard. In Proceedings of the Internaonal Joint Conference on Arficial Intelligence (IJCAI), 2003. – Michael Kearns, Computaonal Game Theory, Economics, and Mul-Agent Systems, University of Pennsylvania, hp://www.cis.upenn.edu/~mkearns/#gamepapers – Algorithmic Game Theory, edited by , , Eva Tardos, and Vijay V. Vazirani, September 2007, hp://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521872829 – David Pennock, Yahoo! Research, Algorithmic Economics, hp://research.yahoo.com/ksc/Algorithmic_Economics

Computaonal Thinking 48 Jeannee M. Wing References (Representave Only) • Computaonal Thinking and Law – The Poirot Project, hp://www.ffpoirot.org/ – Robert Plotkin, Esq., The Genie in the Machine: How Computer-Automated Invenng is Revoluonizing Law and Business, forthcoming from Stanford University Press, April 2009, Available from www.geniemachine.com – Burkhard Schafer, Computaonal Legal Theory, hp://www.law.ed.ac.uk/staff/burkhardschafer_69.aspx – Stanford Computaonal Law, hp://complaw.stanford.edu/ • Computaonal Thinking and Medicine – The Diamond Project, Research Pisburgh, hp://techresearch.intel.com/arcles/Tera-Scale/1496.htm – Instute for Computaonal Medicine, Johns Hopkins University, hp://www.icm.jhu.edu/ – See also Symbolic Aggregate Approximaon, Eamonn Keogh, UC Riverside, hp://www.cs.ucr.edu/~eamonn/SAX.htm • Computaonal Thinking and Meteorology – Yubin Yang, Hui Lin, Zhongyang Guo, Jixi Jiang, “A data mining approach for heavy rainfall forecasng based on satellite image sequence analysisSource,” Computers and Geosciences, Volume 33 , Issue 1, January 2007, pp. 20-30, ISSN:0098-3004. – See also Symbolic Aggregate Approximaon, Eamonn Keogh, UC Riverside, hp://www.cs.ucr.edu/~eamonn/SAX.htm • Computaonal Thinking (especially Machine Learning) and Neuroscience – Yong Fan, Dinggang Shen, Davatzikos, C., “Detecng Cognive States from fMRI Images by Machine Learning and Mulvariate Classificaon,” Computer Vision and Paern Recognion Workshop, 2006. CVPRW '06, June 2006, p. 89. – T.M. Mitchell, R. Hutchinson, R.S. Niculescu, F.Pereira, X. Wang, M. Just, and S. Newman, " Learning to Decode Cognive States from Brain Images,"Machine Learning, Vol. 57, Issue 1-2, pp. 145-175. October 2004. – X. Wang, R. Hutchinson, and T. M. Mitchell, " Training fMRI Classifiers to Detect Cognive States across Mulple Human Subjects ," Neural Informaon Processing Systems 2003. December 2003. – T. Mitchell, R. Hutchinson, M. Just, R.S. Niculescu, F. Pereira, X. Wang, " Classifying Instantaneous Cognive States from fMRI Data," American Medical Informacs Associaon Symposium, October 2003. – Dmitri Samaras, Image Analysis Lab, hp://www.cs.sunysb.edu/~ial/brain.html – Singh, Vishwajeet and Miyapuram, K. P. and Bapi, Raju S., “Detecon of Cognive States from fMRI data using Machine Learning Techniques,” IJCAI, 2007. • Computaonal Thinking and Sports – Synergy Sports analyzes NBA videos, hp://broadcastengineering.com/news/video-data-dissect-basketball-0608/ Computaonal Thinking – Lance Armstrong’s cycling computer tracks man and machine stascs, website 49 Jeannee M. Wing Credits

• Copyrighted material used under Fair Use. If you are the copyright holder and believe your material has been used unfairly, or if you have any suggesons, feedback, or support, please contact: [email protected]

• Except where otherwise indicated, permission is granted to copy, distribute, and/or modify all images in this document under the terms of the GNU Free Documentaon license, Version 1.2 or any later version published by the Free Soware Foundaon; with no Invariant Secons, no Front- Cover Texts, and no Back-Cover Texts. A copy of the license is included in the secon entled “GNU Free Documentaon license” ( hp://commons.wikimedia.org/wiki/Commons:GNU_Free_Documentaon_License)

Computaonal Thinking 50 Jeannee M. Wing