Computational Thinking

Slides:



Advertisements
Similar presentations
Computational Thinking: An Important Skill for All Students Joe Kmoch Milwaukee Public
Advertisements

Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools 1.
Is Computational Thinking a 21st Century Skill? Joe Kmoch Milwaukee Public Schools 5/3/
Computational Thinking in K-12 Education Chris Mayfield Tapestry Workshop June 27, 2012.
Computer Science It’s more than programming Eric Lantz.
CS4 - Introduction to Scientific Computing Alan Usas Topics Covered Algorithms and Data Structures –Primality testing, bisection, Newton’s method,
Computational Thinking  2007 Jeannette M. Wing Jeannette M. Wing Assistant Director Computer and Information Science and Engineering Directorate National.
Computer Science Prof. Bill Pugh Dept. of Computer Science.
Problem Solving. What is a Problem? An ambiguous situation not clearly showing how to reach the goal. Given Initial Situation Desired Goal Situation What.
Computational Thinking for Everyone Jeannette M. Wing President’s Professor of Computer Science Carnegie Mellon University and Assistant Director Computer.
Computational Thinking Jeannette M. Wing President’s Professor of Computer Science Carnegie Mellon University and Assistant Director Computer and Information.
Succeeding with Technology Information, Decision Support… Decision Making and Problem Solving Management Information Systems Decision Support Systems Group.
Introduction CSE 2320 – Algorithms and Data Structures Vassilis Athitsos University of Texas at Arlington 1.
TECHNOLOGY WITH MATHEMATICS AND SCIENCE BY: BRITTANY OWENS & NATHAN JACKSON.
© 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.
Overview of Computing. Computer Science What is computer science? The systematic study of computing systems and computation. Contains theories for understanding.
Succeeding with Technology – 3 rd Edition What is a Computer? Part 1 The Power of Connections What Can Computers Do? Part 2 Information Systems Using Digital.
Artificial Neural Network Theory and Application Ashish Venugopal Sriram Gollapalli Ulas Bardak.
1 Computing with DNA L. Adelman, Scientific American, pp (Aug 1998) Note: This ppt file is based on a student presentation given in October, 1999.
School of Computer Science Carnegie Mellon University
Suzanne Westbrook, PhD School of Information: Science, Technology, & Arts Computer Science Dept, UA.
Introduction to Data Mining Group Members: Karim C. El-Khazen Pascal Suria Lin Gui Philsou Lee Xiaoting Niu.
Computational Thinking September 2006 Jeannette M. Wing President’s Professor of Computer Science and Department Head Computer Science Department Carnegie.
Computing Fundamentals Module Lesson 19 — Using Technology to Solve Problems Computer Literacy BASICS.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
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’
I Robot.
Computational Thinking
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
SPSU 1001 Hitchhiker’s Guide to SPSU Learning Styles Copyright © 2010 by Bob Brown.
1Computational ThinkingJeannette M. Wing Biology - Algorithms for DNA sequencing of human genome Brain Science - Modeling the brain as a computer CT in.
AS Computer Studies Algorithms & Problem Solving 1 & 2.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
1CT: 1.5 Years LaterJeannette M. Wing CT in Other Sciences, Math, and Engineering Biology - Shotgun algorithm expedites sequencing of human genome - DNA.
What is the difference between a Scientist and an Engineer?
AP CSP: Creating Functions & Top-Down Design
Creativity of Algorithms & Simple JavaScript Commands
Data Mining – Intro.
What is Mathematics? The science (or art?) that deals with numbers, quantities, shapes, patterns and measurement An abstract symbolic communication system.
Computational Thinking for Everyone
KS2 Maths Workshop for parents
Maths in Early Years and Key Stage 1
Fundamentals of Information Systems
Theme Introduction : Learning from Data
SIMULATION SIMULAND PURPOSE TECHNIQUE CREDIBILITY PROGRAMMATICS
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Data Partition Dr. Xiao Qin Auburn University.
Done Done Course Overview What is AI? What are the Major Challenges?
Introduction to Programmng in Python
Introduction Defining the Problem as a State Space Search.
2008/12/03: Lecture 20 CMSC 104, Section 0101 John Y. Park
EXPLORING COMPUTER SCIENCE Journal Entries, Portfolio Entries, And Check Your Understanding Unit 2 – Strand 2 Problem Solving This unit focuses on.
Computational Thinking in Learning
Computational Thinking for KS3
4. Computational Problem Solving
Maths workshop for parents March 2017
Rocky K. C. Chang September 11, 2018
DW Daniel High, SC; Jan 25, 2010 Murali Sitaraman
CompSci 1: Principles of Computer Science Lecture 1 Course Overview
Computer Literacy BASICS
Discrete Mathematics in the Real World
Computational Thinking
By:- Manas Pandey Electrnics & Communication Roll No
Bell Work What does the word science mean to you? Be prepared to share.
Chapter 2 Problems, Problem Spaces, and Search?
Discrete Mathematics and Its Applications
Artificial Intelligence
Presentation transcript:

Computational Thinking CPSC 1301 Columbus State University Dr. Hyrum Carroll (based on material from Hillary Fleenor)

Introduction to programming Computer science deals with solving problems using computing. Researchers call this type of problem solving computational thinking

Computational Thinking Computational thinking (CT) involves a set of problem-solving skills and techniques that software engineers use to write programs that underlie the computer applications you use such as search, email, and maps. Computational thinking is applicable to nearly any subject. Students who learn computational thinking across the curriculum begin to see a relationship between different subjects as well as between school and life outside of the classroom.

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 Credit: Wikipedia Brain Science - Modeling the brain as a computer - Vision as a feedback loop - Analyzing fMRI data with machine learning Credit: LiveScience Jeanette Wing, 2008

CT in Other Sciences, Math, and Engineering Credit: University of 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 - Modeling the earth from the inner core to the surface - Abstraction boundaries and hierarchies of complexity model the earth and our atmosphere Credit: NASA Jeanette Wing, 2008

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 Credit: SDSS 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 Credit: Wikipedia 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 Credit: Boeing Jeanette Wing, 2008

CT for Society Economics - Automated mechanism design underlies electronic commerce, e.g., ad placement, on-line auctions, kidney exchange - Internet marketplace requires revisiting Nash equilibria model Social Sciences - Social networks explain phenomena such as Facebook, YouTube - Statistical machine learning is used for recommendation and reputation services, e.g., Netflix, affinity card Jeanette Wing, 2008

CT for Society Medicine - Robotic surgery - Electronic health records require privacy technologies - Scientific visualization enables virtual colonoscopy Credit: University of Utah Humanities - What do you do with a million books? Nat’l Endowment for the Humanities Inst of Museum and Library Services Law - Stanford CT 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 Jeanette Wing, 2008

CT for Society Entertainment Arts Sports - Games - Movies - Dreamworks uses HP data center to renderShrek and Madagascar - Lucas Films uses 2000-node data center to produce Pirates of the Caribbean. Credit: Dreamworks SKG Credit: Carnegie Mellon University CT for Society Sports - Lance Armstrong’s cycling computer tracks man and machine statistics - Synergy Sports analyzes digital videos NBA games Credit: Wikipedia Arts - Art (e.g., Robotticelli) - Drama - Music - Photography Credit: Christian Moeller Jeanette Wing, 2008

CT for Society Security - Government - There were 82,000 new malware in 2013 The FBI’s Internet Crime Complaint Center had 262,813 complaints in 2013. Government - Leaders must understand the technology in order to make sound policy decisions. Credit: Christian Moeller

Computational Thinking Problem decomposition Pattern recognition Pattern generalization Algorithm design

Decomposition Breaking a problem down into steps (Divide and conquer!)

Decomposition You need exactly 4 gallons of water to diffuse a bomb at the fountain in the park. But you only have a 3- gallon and a 5-gallon jug. How are you going to do it? The operations allowed are: Completely fill a jug from the source of water; Pour the water existing in a jug to another jug; Discard the water existing in a jug;

Decomposition Once upon a time a farmer went to market and purchased a fox, a goose, and a bag of corn. On his way home, the farmer came to the bank of a river and rented a boat. But in crossing the river by boat, the farmer could carry only himself and a single one of his purchases - the fox, the goose, or the bag of corn. If left together, the fox would eat the goose, or the goose would eat the corn. The farmer's challenge was to carry himself and his purchases to the far bank of the river, leaving each purchase intact. How did he do it?

Computational Thinking Problem decomposition Pattern recognition Pattern generalization Algorithm design

Pattern Recognition Notice similarities or common differences that will help us make predictions or lead us to shortcuts. Pattern recognition is frequently the basis for solving problems and designing algorithms.

Pattern Recognition Odd Man out: Example: Food, Oxygen, TNT, Water Adams, Jackson, Lincoln, Madison, Montgomery Bro, Dad, Mom, Nun, Pop, Sis Abraham, Charlie, Mike, Oscar, Victor, Whiskey China, Grasshopper, Herring, Lobster, Robin By the way, none of our answers are based on the number of letters or syllables in the words.

Pattern Recognition If NEW YORK can be encrypted as PGYAQTM, how can you code the word CHARLOTTE? EICSNPVVG EJCTNQVVG EICTNPVVF EJCSMPVVG

Pattern Recognition More puzzles to try on your own: http://williamarmstrong.com/brai n/puzzle.html https://tutor.fi.muni.cz/index.php? &changelang=en

Illusions of competence It is not enough to see the answer and understand how it is reached. You must practice solving problems yourself.

Computational Thinking Problem decomposition Pattern recognition Pattern generalization Algorithm design

Simple Daily Examples of Computational Thinking 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 Using hashing (e.g., by shape, by color) Doing laundry, getting food at a buffet Pipelining the wash, dry, and iron stages; plates, salad, entrée, dessert stations Even in grade school, we learn algorithms (long division, factoring, GCD, …) and abstract data types (sets, tables, …). Jeanette Wing, 2008

Generalization and Abstraction The ability to filter out information that is not necessary to solve a certain type of problem and generalize the information that is necessary.

Abstractions Abstractions are our “mental” tools The abstraction process includes Choosing the right abstractions Operating simultaneously at multiple layers of abstraction Defining the relationships the between layers Jeanette Wing, 2008

Generalization and Abstraction Who is a “general” student?

Generalization and Abstraction How is a map an abstraction?

Computational Thinking Problem decomposition Pattern recognition Pattern generalization Algorithm design

Algorithmic Thinking The ability to develop a step-by-step strategy for solving a problem. More specifically, thinking algorithmically is about representing the problem solution as an ordered sequence of exact steps that you can use to direct a computer to solve the problem Algorithm design often involves decomposing a problem, identifying patterns, and creating abstractions to represent data.

Move a Robot Turn right 90 degrees Move forward 1 unit Pick up object

Conclusion Mistakes are an important part of learning If you’re not uncomfortable, you’re not learning Programming is a SKILL! You have to actually practice problem solving and coding, not just read about it or watch videos (or copy other code). Learning a skill takes time, you CANNOT CRAM!!!!! Don’t fall behind!!!!! It’s very hard to catch up.