Professional Documents
Culture Documents
http://www.iste.org/docs/ct-documents/computational-thinking-operational-definition-flyer.pdf?sfvrsn=2
The Pillars of CT
• The pillars (techniques) of CT are:
https://barefootcas.org.uk/sample-resources/decomposition/
The Pillars of CT: Decomposition
• Decomposition examples:
https://barefootcas.org.uk/sample-resources/decomposition/
The Pillars of CT: Pattern Recognition
• Pattern recognition is the process
of finding
patterns/similarities/trends
among and within the problems
• By identifying patterns across
problems, we can make predictions
and create a common solution that
can be reused many times
• Problems are easier to solve when they share
patterns, because we can use the same
problem-solving solution wherever the
pattern exists.
https://barefootcas.org.uk/barefoot-primary-computing-resources/concepts/patterns/
The Pillars of CT: Abstraction
• Abstraction is the process of
focusing on important details and
ignoring irrelevant information
• It is about simplifying things; decide
what needs to be highlighted and
what needs to be ignored
• Filtering details
• Abstraction allows us to create a
general idea of what the problem is
and how to solve it
• Example: drawing a few cats
• We do need to know a cat has fur, tail
and eyes
• We don’t need to know the size of the
tail or the colour of the fur/eyes
https://www.bbc.com/education/guides/zttrcdm/revision
The Pillars of CT: Abstraction
• Abstraction examples:
https://www.bbc.com/education/guides/zpp49j6/revision/1
https://www.wiley.com/college/busin/icmis/oakman/outline/chap05/slides/algor.htm
The Pillars of CT: Algorithms
• Algorithm examples:
• Lesson plan
• Experiment method
• Storyboard
• Getting dressed to go out
• Prepare a meal
• Tie shoelaces
• Make a cup of coffee
• Completing an assignment
• Doing laundry
• Driving from home to a
destination
• Write a recipe for others to use
• Flowchart
• A diagram that represents a set
of instructions
• Normally use standard symbols
to represent the different
instructions
https://www.bbc.com/education/guides/zpp49j6/revision/3
The Pillars of CT: Algorithms
• Flowchart example:
• Flowchart symbols:
https://www.bbc.com/education/guides/zpp49j6/revision/3
Let’s try: CT to make Peanut Butter and Jelly
Sandwich
Materials:
• A jar of peanut butter
• A jar of jelly
• A loaf of sliced bread
• One butter knife
Your Task:
• What are the steps to
make a peanut butter
and jelly sandwich?
Examples of CT in Daily Life
• 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 living room 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, …).
Credit: Jeanette Wing, CT for Everyone
Examples of CT in Daily Life
• Looking up a name in an alphabetically
sorted list (Binary Search)
o e.g., 100 names per page in list of 150,000 names
o How to minimize the number of pages to look at?
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
Chemistry
- 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’s surface to the sun,
from the inner core to the surface
- Abstraction boundaries and hierarchies of
complexity model the earth and our atmosphere
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
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 MySpace, YouTube
- Statistical machine learning is used for
recommendation and reputation services,
e.g., Netflix, affinity card
Credit: Jeanette Wing, CT for Everyone
Examples of CT in Daily Life
• CT for Society
Medicine
- Robotic surgery
- Electronic health records require privacy technologies
- Scientific visualization enables virtual colonoscopy
Humanities
- What do you do with a million books?
Nat’l Endowment for the Humanities
Inst of Museum and Library Services
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
Credit: Jeanette Wing, CT for Everyone
Examples of CT in Daily Life
• 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 Sports
- Lance Armstrong’s cycling
- Art (e.g., Robotticelli)
computer tracks man and
- Drama
machine statistics
- Music
- Synergy Sports analyzes
- Photography
digital videos NBA games
Credit: Jeanette Wing, CT for Everyone
Examples of CT in Daily Life
• Reflect on all the processes that take place in
your daily routine as well as those
implemented on campus.
High-level languages:
• Machine-independent
• Can run on many different Low-level languages:
types of computers and
operating systems • Machine-dependent
• Runs only on one particular type
of computer or device
Programming Languages
• Examples of programming languages:
C C# C++
Benefits of
Computational
Definition Computational
Thinking Concept
Thinking
Programming
Daily Examples The Pillars of CT
Languages
References/Credits
• Google (2018). Computational Thinking for Educators. Retrieved from
https://computationalthinkingcourse.withgoogle.com/
• International Society for Technology in Education (ISTE) (2018).
Operational Definition of Computational Thinking for K-12 Education.
Retrieved from http://www.iste.org/docs/ct-
documents/computational-thinking-operational-definition-
flyer.pdf?sfvrsn=2
• British Broadcasting Corporation (BBC) (2018). Introduction to
computational thinking. Retrieved from
https://www.bbc.com/bitesize/guides/zp92mp3/revision/1
• EdSurge (2018). What’s the Difference Between Coding and
Computational Thinking? Retrieved from
https://www.edsurge.com/news/2016-08-06-what-s-the-difference-
between-coding-and-computational-thinking
• BarefootCAS (2018). Computational Thinking. Retrieved from
https://barefootcas.org.uk/barefoot-primary-computing-
resources/concepts/computational-thinking/
References/Credits
• Wiley (2018). Chapter 5 Computer Software: An Algorithm: Baking
a Cake. Retrieved from
https://www.wiley.com/college/busin/icmis/oakman/outline/chap05
/slides/algor.htm
• Wing, J.M. (2006). Computational Thinking for Everyone. Retrieved
from exploringcs.org/wp-content/uploads/2010/09/Wing08.ppt
• Vermaat, M.E., Sebok, S.L., Freund, S.M., Campbell, J.T., and
Frydenberg, M. (2016). Discovering Computers 2016: Tools, Apps,
Devices, and the Impact of Technology. Singapore: CENGAGE
Learning.
• Vermaat, M.E., Sebok, S.L., Freund, S.M., Campbell, J.T., and
Frydenberg, M. (2018). Discovering Computers 2018: Digital
Technology, Data, and Devices. Singapore: CENGAGE Learning.