Computational Thinking  2007 Jeannette M. Wing Jeannette M. Wing Assistant Director Computer and Information Science and Engineering Directorate National.

Slides:



Advertisements
Similar presentations
Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools 1.
Advertisements

Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools 5/3/
CSTA K-12 Computer Science Standards (rev 2011)
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Computing Studies Is it for me? Click here to find out…
What is the computational cost of automating brilliance or serendipity? (Computational complexity & P vs NP) COS 116, Spring 2012 Adam Finkelstein.
Integrating Educational Technology into the Curriculum
Ying Wang EDN 303 Fall Objectives Define curriculum-specific learning Explain the difference between computer, information, and integration literacy.
Computational Thinking IS 101Y/CMSC 101 September 5, 2013 Carolyn Seaman Susan Martin University of Maryland Baltimore County.
The New Curriculum and Helping at home with Maths.
What is the computational cost of automating brilliance or serendipity? (Computational complexity and P vs NP question) COS 116: 4/12/11 Sanjeev Arora.
Computational Thinking 101 “Computational thinking is a fundamental skill for everybody, not just for computer.
What Everyone Needs to Know About Computation Steve Cooper
CS4 - Introduction to Scientific Computing Alan Usas Topics Covered Algorithms and Data Structures –Primality testing, bisection, Newton’s method,
Le Moyne College Summer Math Academy August 2007 Computational Thinking & Related Tools.
Introduction to Databases Transparencies
Computer Science Prof. Bill Pugh Dept. of Computer Science.
Introduction to Programming with Java, for Beginners Welcome.
Recursion Chapter 7. Chapter 7: Recursion2 Chapter Objectives To understand how to think recursively To learn how to trace a recursive method To learn.
Intel® Education K-12 Resources Our aim is to promote excellence in Mathematics and how this can be used with technology in order.
Recursion Chapter 7. Chapter 7: Recursion2 Chapter Objectives To understand how to think recursively To learn how to trace a recursive method To learn.
Algebra I Model Course Background. Education Reform Act signed into law by Governor Rell May 26, 2010 Includes many recommendations of the ad hoc committee.
Computational Thinking CS4HS Summer Institute 22 July 2006 Jeannette M. Wing President’s Professor and Head Computer Science Department Carnegie Mellon.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Computer Software in Today’s Classrooms Chapter 4.
Computational thinking. Hour of Code Prof Dr. Valentina Dagiene Ágnes Erdősné Németh Maria Gaiduk Bojan Kostadinov.
Definition and Importance of Computer
Computational Thinking for Everyone Jeannette M. Wing President’s Professor of Computer Science Carnegie Mellon University and Assistant Director Computer.
Introduction to Computer and Programming CS-101 Lecture 6 By : Lecturer : Omer Salih Dawood Department of Computer Science College of Arts and Science.
Computational Thinking Jeannette M. Wing President’s Professor of Computer Science Carnegie Mellon University and Assistant Director Computer and Information.
Unit 2: Engineering Design Process
TECHNOLOGY WITH MATHEMATICS AND SCIENCE BY: BRITTANY OWENS & NATHAN JACKSON.
CSCI 4410 Introduction to Artificial Intelligence.
© 2008 Pittsburgh Supercomputing Center Tour Your Future The Girls, Math & Science Partnership Pittsburgh Supercomputing Center Computer Network Engineering.
Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14.
Computational Thinking and Thinking About Computing Jeannette M. Wing Assistant Director Computer and Information Science and Engineering Directorate National.
INFORMATION SYSTEMS Overview
Spring Learning Statement #1 I am learning that the use of technology is not always engaging for students and does not always support student learning.
Suzanne Westbrook, PhD School of Information: Science, Technology, & Arts Computer Science Dept, UA.
Recursion Chapter 7. Chapter Objectives  To understand how to think recursively  To learn how to trace a recursive method  To learn how to write recursive.
Computational Thinking September 2006 Jeannette M. Wing President’s Professor of Computer Science and Department Head Computer Science Department Carnegie.
Computational Thinking Jeannette M. Wing Assistant Director Computer and Information Science and Engineering Directorate National Science Foundation and.
Sign on to wireless – Use the ‘Northwestern – Guest’ wireless Follow instructions in browser for login. Input OSEP as ‘Sponsor’ If the ‘Northwestern Guest’
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
Computational Thinking in K-12 and Scalable Game Design Michael Shuffett.
1 CS 350 Data Structures Chaminade University of Honolulu.
Indulge into Mathematics Mrs. Puckett 3 rd Grade Winter 2010.
Chapter 10 Math Research has demonstrated that virtually all young children have the capability to learn and become competent in mathematics. ©2015 Cengage.
I Robot.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
Computational Thinking
Computer Science in Context Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University.
SNU OOPSLA Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.
Ch. 1: Introduction: Physics and Measurement. Estimating.
What is Artificial Intelligence?
Artificial Intelligence: Research and Collaborative Possibilities a presentation by: Dr. Ernest L. McDuffie, Assistant Professor Department of Computer.
1Computational ThinkingJeannette M. Wing Biology - Algorithms for DNA sequencing of human genome Brain Science - Modeling the brain as a computer CT in.
Technology Integration & Technology Innovations Chun-Yi Lin Jan 14, 2008.
1CT: 1.5 Years LaterJeannette M. Wing CT in Other Sciences, Math, and Engineering Biology - Shotgun algorithm expedites sequencing of human genome - DNA.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Sub-fields of computer science. Sub-fields of computer science.
Computational Thinking for Everyone
ICT in Education Program
Big Ideas in Computer Science
CS 21a: Intro to Computing I
Computational Thinking
CS 1104 INTRODUCTION TO COMPUTER SCIENCE
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
Discrete Mathematics in the Real World
Presentation transcript:

Computational Thinking  2007 Jeannette M. Wing Jeannette M. Wing Assistant Director Computer and Information Science and Engineering Directorate National Science Foundation and President’s Professor of Computer Science Carnegie Mellon University

2Computational ThinkingJeannette 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 21 st 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.

3Computational ThinkingJeannette 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

4Computational ThinkingJeannette M. Wing The Two A’s of Computational Thinking Abstraction –C.T. is choosing the right abstractions –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, 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.

5Computational ThinkingJeannette 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!

6Computational ThinkingJeannette 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

7Computational ThinkingJeannette M. Wing Simple Daily Examples Looking up a name in an alphabetically sorted list –Linear: start at the top –Binary search: start in the middle Standing in line at a bank, supermarket, customs & immigration –Performance analysis of task scheduling Putting things in your child’s knapsack for the day –Pre-fetching and caching Taking your kids to soccer, gymnastics, and swim practice –Traveling salesman (with more constraints) Cooking a gourmet meal –Parallel processing: You don’t want the meat to get cold while you’re cooking the vegetables. Cleaning out your garage –Keeping only what you need vs. throwing out stuff when you run out of space. Storing away your child’s Lego pieces scattered on the LR floor –Use hashing (e.g., by shape, by color) Even in grade school, we learn algorithms (long division, factoring, GCD, …) and abstract data types (sets, tables, …).

8Computational ThinkingJeannette 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

9Computational ThinkingJeannette 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.

10Computational ThinkingJeannette M. Wing Research Implications

11Computational ThinkingJeannette 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

12Computational ThinkingJeannette M. Wing CT in Other Sciences, Math, and Engineering [York, Minnesota] 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 Geology - “The Earth is an analogue computer.” [Boulton, Edinburgh] - Abstraction boundaries and hierarchies of complexity model the earth and our atmosphere

13Computational ThinkingJeannette 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 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 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

14Computational ThinkingJeannette 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

15Computational ThinkingJeannette M. Wing CT for Society 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 Medicine - Robotic surgery - Electronic health records require privacy technologies - Scientific visualization enables virtual colonoscopy

16Computational ThinkingJeannette M. Wing CT for Society Arts - Art (e.g., Robotticelli) - Drama - Music - Photography 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. Sports - Lance Armstrong’s cycling computer tracks man and machine statistics - Synergy Sports analyzes digital videos NBA games

17Computational ThinkingJeannette M. Wing Educational Implications

18Computational ThinkingJeannette 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 ” Universities should reach out to K-12 teachers and students –CS4HS  CS4All Engage national and international organizations to reform curricula, in particular K-12. –ACM, CSTA, CRA, etc. It needs to be a collective effort.

19Computational ThinkingJeannette M. Wing Adapt Course Material for Other Audiences K-6, 7-9, 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, UW, UCLA outreach to high school teachers, counselors, and guidance counselors

20Computational ThinkingJeannette 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

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

22Computational ThinkingJeannette M. Wing Data Abstraction and Representation stack tree (upside down) queue array and pointer representation invariant

23Computational ThinkingJeannette M. Wing Composition and Decomposition

24Computational ThinkingJeannette M. Wing Sorting and Search

25Computational ThinkingJeannette 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

26Computational ThinkingJeannette M. Wing Undecidability: Tiling Can we tile the entire plane Z 2 ? Example from David Harel

27Computational ThinkingJeannette M. Wing Data as Code and Code as Data unrecognized attachment

28Computational ThinkingJeannette M. Wing Recursion Revisited Y = f. ( x. f (x x)) ( x. f (x x)) and is the basis of recursion in Computer Science. Y f = f (Y f) which satisfies the following equation Y is the fixed point combinator in lambda calculus. The Y operator

29Computational ThinkingJeannette M. Wing Correctness: Avoiding Bugs to Save Money and Lives Ariane 5 failure Now Intel uses formal verification. Intel Pentium FPU error Now Microsoft uses formal verification.

30Computational ThinkingJeannette M. Wing Caching home knapsack locker

31Computational ThinkingJeannette M. Wing Pipelining: Doing Laundry 6 hours to do 4 loads 3.3 hours to do 4 loads

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

33Computational ThinkingJeannette M. Wing Distributed Computing: The Internet Asynchronous communication Failures Speed of light

34Computational ThinkingJeannette M. Wing Deep Questions for Computer Science P = NP ? What is computable? –What is a computer? Not just a PC anymore: The Internet, server farms, supercomputers, multi-cores, …, nano, bio, quantum, etc. –What is the power of computing, by machine and human together? What is intelligence? –Understanding the brain What is information? –From nature to knowledge How can we build complex systems simply? –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? –Is there a meaning of system complexity that spans the theory and practice of computing?

35Computational ThinkingJeannette 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

36Computational ThinkingJeannette M. Wing Grand Vision for Society Computational thinking will be a fundamental skill used by everyone in the world by the middle of the 21 st Century. Join all of us toward making computational thinking commonplace. –Center for Computational Thinking at CMU (sponsored byh Microsoft Research): To your fellow faculty, students, researchers, administrators, teachers, parents, principals, guidance counselors, school boards, teachers’ unions, congressmen, policy makers, … Spread the word!