INF313H1 Y LEC0101 20215:Computational Reasoning

Course Information

We wish to acknowledge that the land on which the University of Toronto operates has for thousands of years been the traditional land of the Huron-Wendat Links to an external site., the Seneca Links to an external site., and most recently, the Mississaugas of the Credit River Links to an external site. and is still today the home to many Indigenous people from across Turtle Island; Links to an external site. we are grateful to have the opportunity to work on this land.

Calendar (click on dates to jump to session information below)

MAY JUN JULY AUGUST
Mo Tu We Th Fr Mo Tu We Th Fr Mo Tu We Th Fr Mo Tu We Th Fr
3 4 5 6
welc
7   1 2 3 4        1  2  4  5
AIA
 6
10
t
ech
11 12 13
slow
14 7
log2
8 9 10
auto1
11 5 6 7 8 9 9
TBA
10 11 12
TBA
13
17
flow1
18 19 20
flow2
21 14
a
uto2
15 16 17
i
nfo
18 12 13 14 15
API
16 16 17 18 19 20
24 25 26 27
numb
28 21
repi
22 23 24
patt1
25 19
vis1
20 21 22
vis2
23 23 24 25 26 27
31
log1
        28
patt2
29 30     26
aiml1
27 28 29
a
iml2
30 30 31      
 
KEY class   exam due holiday

Jump to Welcome | Tech | Slow | Flow | Numbers |  Logic | Automation | InfoJigs | Repetition | Patterns | APIs | Secrets | Vision | Learning | Alignment

Course Description

This course introduces fundamental concepts from computer science as critical thinking skills.  These thinking skills can serve as a foundation for further studies in technology but they are useful in all manner of everyday problem solving.  

Computational reasoning begins with the habit of "thinking slowly" and being deliberate about how we communicate solutions to problems. We learn the discipline of stepwise refinement and the power of abstraction and decomposition.

We build up procedural thinking starting with sequence - developing our "step by step" intuition - and then adding contingency - decisions - learning to pay attention to proverbial forks in the road - where are they? what are the alternatives? on what basis is the choice among them made? Sequence plus contingency allows us to add repetition to our repertoire. We learn to recognize the kinds of problems that can be solved iteratively and how to design iterative solutions. We will supplement these basic styles of thinking in hand we can begin to consider more complex problems by the method of decomposition - breaking a large, hard-to-solve problem into smaller, more manageable problem that we know how to solve - and by learning the art of shifting our focus up and down so that we can move between the details of a problem and its overall shape. 

Those are the big ideas. More concretely, we'll learn about number systems and logic  and the way we can represent these in digital and electronic form. We then turn our attention to the general problem of automation and unpack the basics of how automatic computational machines work. This will take us into the realm of data structures and algorithms, modularity and patterns.

And then we'll look at some applications asking how machines keep secrets, how machines see, how machines learn, and how to keep the behaviors of machines aligned with human values.

I will endeavor to make the pedagogy here "look, listen, do" - that is, start with the readings/viewings prior to each class session and then we talk about the ideas in class - mostly as lecture/demonstration but also some discussion, and then you practice the skills in the problem sets that follow each class session.

Problem sets will be implemented as Quercus quizzes, assignments, and discussions. In general there will be one problem set per course topic - most topics are one class session but some are multiple class sessions.    

Basic Course Info

Instructor Information Student Resources

Name: Dan Ryan

Email: Via Piazza and Links to an external site. Quercus Inbox.  This term we will use Piazza for most back and forth between you and me and between one another about the course material. The system is designed to get you help fast and efficiently from classmates and myself. Rather than emailing questions, post them on Piazza. This way (1) everyone can see the answers and (2) a classmate might answer more quickly or more helpfully than I do. Find our class page at: https://piazza.com/utoronto.ca/summer2021/inf313h1ylec0101/home Links to an external site.

Links to an external site.

Virtual Office Hours: TBAAlways via appointment on the Quercus calendar. If no is signed up for office hours when I go to sleep the day before I reserve the right not to be there.

Quercus (Canvas) Student Guide

iSchool Student Services

Accessibility Services for iSchool Students

Using Quercus Calendar


SHORTCUTS ZOOM Links to an external site. | "Paper" Syllabus | Books | Problem Sets | Exams | Discussions | Asynch Lectures | Synchronous Recordings | Bibliography

Course Schedule

The work for this course proceeds topic by topic.  Some topics will be stretch across multiple sessions.  Each topic consists of asynchronous preparatory work, a synchronous "lecture," and an asynchronous problem set.  The problem set in the 4th, 8th, and 12th weeks will be comprehensive exams.  The overall grade for the course will consist of 40% problem sets and 25% midterm and 35% final exam.

The exam problem sets will be similar to weekly problem sets but comprehensive (covering the whole course to date) and possibly longer than weekly ones.  Previous exams are here.  These will be completed asynchronously and will be "open book," but once you begin the exam you are expected not to consult with others.



1111

Welcome to the Course

HW: post a one minute introduction video

Readings, etc.

  1. Syllabus 

0000

Our Tech Stack

Quercus (how to submit code as assignments, books, assignments, codepen, assessment, drawing tools (google drawing/slides; Miro;  codepen; JS01; HTML01; Piazza Links to an external site., CSS01.  HW: Quercus profile; Piazza post; codepen embed; Quercus office hour appointment; Submit as quercus quiz.

Readings, etc.

  1. Piazza Introduction for Students Links to an external site.
  2. R3HAB MEDIA, "Intro to CodePen Links to an external site." (15m)

0001

Think Slowly

SLOW: stepwise refinement; pseudocode; abstraction/black box

Readings, etc. (about Links to an external site.)

  1. Ryan MiniLecture "Thinking Slowly Links to an external site." (2020) (9m36s)
  2. Filho (2017) Computer Science Distilled, pp 1-5 Download Computer Science Distilled, pp 1-5
  3. EDC (2010), Harold "Doc" Edgerton Links to an external site.
  4. Kageyama (2012) Is Slow Practice Really Necessary? Links to an external site. (3m)
  5. Soni (2019) For creative solutions, slow and deliberate thinking is the key Links to an external site. (3m)
  6. Ryan MiniLecture "Stepwise Refinement" (2020) (9m36s)
  7. Learn Learn Scratch Tutorials (2020), Stepwise Refinement Tutorial Links to an external site. (7m)
  8. CS2110 Cornell. (2019) Stepwise refinement: The Raven Links to an external site.(6m) Links to an external site.
  9. LessonHacker (2013), Top Down / Modular Design Links to an external site. (10m)
  10. Khan Academy. n.d., Planning with pseudo-code | Becoming a better programmer Links to an external site. (4m)
  11. Codecademy (2019), What is Pseudocode And How Do You Use It? Links to an external site. (11m)
  12. Wikipedia. "Black Box Links to an external site." (5m)
  13. OPTIONAL Cameron (2016), Writing Good Beginner Pseudocode Links to an external site. (10m) 

Interesting

Maneesh Agrawala, et al. "Designing Effective Step-By-Step Assembly Instructions Links to an external site."


0010

Flow + Modularity

FLOW II: principles of abstraction and modularity 

Readings, etc.

  1. Filho. 2017.  Download Computer Science Distilled, pp 1-5
  2. Khan Academy. n.d.,  Planning with pseudo-code | Becoming a better programmer Links to an external site. 3m26s
  3. Codecademy (2019), What is Pseudocode And How Do You Use It? Links to an external site. (10m49s)
  4. Ryan, D. "Flowcharts 101" Download Ryan, D. "Flowcharts 101"
  5. Systems Innovation. 2015. Modular Design Links to an external site. (9m40s)

See also

  1. Wikipedia Editors (n.d.),  Flowchart Links to an external site.
  2. Wikipedia Editors (n.d.),  Modularity Links to an external site.

Interesting

  1. Sarhangi R. nd. "Modularity in Medieval Persian Mosaics"

 


0011

Number Systems

numbers, exponents, logarithms. binary, powers of 2, dec2bin, bin2dec, arithmetic; hexadecimal, bin2hex, hex2bin, hex2dec, dec2hex; encoding ASCII, RGB, URL

Readings, etc.(Introduction to the Readings Links to an external site. 4m9s)

  1. Filho. 2017. Computer Science Distilled, p Download Computer Science Distilled, p 165 Download 165
  2. Eames Labs. 1977. Powers of Ten Links to an external site.   (10m16s)
  3. Sample from among
  4. Khan Academy. 2014. "Adding in Binary Links to an external site." (2m47s)
  5. The Organic Chemistry Tutor. 2018. "How To Convert Binary to Hexadecimal Links to an external site." (10m13s)

FLIP

  1. Ryan Intro Counting by Two Links to an external site. (4m10s)

0100

Logic

LOGIC I: Logical values, and/or/not, truth tables, other operators; logic and binary, logic and electricity, simple logic circuits
LOGIC II: complex expressions, logical equivalence, DeMorgan's laws, simplification, Karnaugh maps, more complex circuits

Readings, etc.

    1. Filho. 2017. Download Computer Science Distilled, pp 5-13
    2. INF1339. Bulls and Cows
    3. Cheever (n.d.), "An Introduction to Digital Logic" Links to an external site.
    4. Sample these to learn about truth tables
    5. Shakeel, Y. 2016. "Basic Logic Gate - AND OR NOT Links to an external site." (Tutorial with 6m7s video)
    6. James, J. 2014. "Boolean Algebra Explained part 1 Links to an external site." (5m3s)
    7. Sample these to learn about Karnaugh maps
    8. Sample these to learn about 7-segment displays

    See also

    1. Electronics Tutorials series Links to an external site. on binary, hex, octal numbers with connections to digital electronics
    2. Secura, Roger. 2016. " THE BEGINNER’S GUIDE TO DIGITAL ELECTRONICS "

    Interesting

    1. Converters: bin2dec Links to an external site., dec2bin Links to an external site.
    2. Mrieppel. "Truth Table Generator Links to an external site."
    3. Kim (2013),  Logic in Alice in Wonderland Links to an external site. (animated prezi)
     


0101

Automation

AUTOMATION I: Machines, Automation, and Instructions, From Instructions to Goals 
AUTOMATION II: Feedback & Systems, PID Controllers

Readings, etc.

    1. Ryan, D. 2021 "Automation Intro 2021" (8m51s)
    2. Ryan, D. 2020. "Automation Overview for INF313 Links to an external site." (6m)
    3. Wikipedia Editors. "Automation, Links to an external site." "Governor"  Links to an external site.
    4. Eames Office (1960), An Introduction to Feedback (10m48s) Links to an external site.
    5. Pangaro (2012), " What Is Cybernetics? Links to an external site." (5m16s)
    6. Watch and listen to engineer guy Bill explain how music box mechanisms work Links to an external site. (~8:00):
    7. Douglas, D. 2015. "Why Learn Control Theory Links to an external site." (5m49s)
    8. Sample to learn about open and closed loop automation
    9. Sample to learn about causal loops
    10. Douglas (2015), PID Control - A brief introduction Links to an external site.

    See also

    1. Control Solutions Minnesota (2019), PID for Dummies Links to an external site.
    2. Hitomi, K. 1994. " Automation — its concept and a short history."  Links to an external site.Technovation Volume 14, Issue 2, March 1994, Pages 121-128

    Interesting

    1. BBC Television (1950),  Grey Walter's tortoises Links to an external site.
    2. @steam (2020),  MCAS Simulation on Steam Links to an external site.
    3. Bennett (1984),  Nicolas Minorsky and the Automatic Steering of Ships Links to an external site.
     

0110

Info Jigs

From Information to Bits to Data, Primitive and Abstract Data Types, Stacks & Queues & Arrays, Lists, Maps, and Dictionaries, Your Friend JSON

Readings, etc.

    1. DJR Lecture Part A (17m)
    2. Filho pp. 65-83; 123-146; optionally 101-121
    3. Haverbeke. 2019. "Values, Types, and Operators Links to an external site. ," a chapter in Eloquent JavaScript.
    4. Erwig (2017), The Search for the Perfect Data Structure Links to an external site. ," a chapter in Once Upon an Algorithm: How Stories Explain Computing
    5. Interview Cake. 2020. "Data Structures for Coding Interviews: Computer Science in Plain English Links to an external site. "
    6. Sample to learn something about JSON
    7. codeSTACKr. 2019. "Learn JSON not Jason in 10 Minutes Links to an external site." (15m23s)
    8. The Coding Train. 2015.10.2: What is JSON? Part I - p5.js Tutorial Links to an external site.
    9. The Coding Train YouTube Channel (2015), 10.3: What is JSON? Part II - p5.js Tutorial Links to an external site.  

    Interesting

    1. @theannalytical. 2020. "My Makeup Case as Data Structures Links to an external site."
    2. Pokharel, R. 2020. "Data Structures and Algorithms in Everyday Life Links to an external site." (10m read)
     

0111

Repetition

Iteration Overview, Simple Repetition - Brute Force, Counting Repetitions, Recursion, nested loops; brute force; backtrack; recursion; memo-izing; orders of magnitude; orders of function (linear, quadratic, exponential); probability

Readings, etc.

    1. Filho ch 3 Strategy (pp 35-62)
    2. Meyers, Bob @FSU Control Structures - Repetition Links to an external site.
    3. Learn some things about complexity
      1. Filho ch 2 " Download Complexity" (pp 25-34)
      2. Grace Hopper Academy. "Introduction to Computational Complexity - A Tutorial on Algorithms and Complexity Links to an external site." (13m36s)
      3. Hackerdashery. "P vs. NP and the Computational Complexity Zoo Links to an external site." (10m43s)
      4. Wikipedia. " Computational Complexity Links to an external site. "
      5. Excellent Lecture about a Hard Topic by a University of Western Ontario Grad
        1. Borradaile, G. 2014. "Basics of Computational Complexity for Non-Computer Scientists Links to an external site." (37m47s)
      6. Drowell, E. "Know Thy Complexity Links to an external site."
      7. Schneider, C. n.d. "Introduction to Complexity Theory Links to an external site." (10pp)

    See Also

    1. Logarithms new to you?
      Hendy, T. 2019. Logarithms explained Bob Ross style Links to an external site.
    2. MDN Web Docs. 2020. "Loops and iteration (in JavaScript) Links to an external site."
    3. Filho ch 5 Algorithms (pp 85-99)

    Interesting

    1. Guitar Tutor Online, "Repeat Signs Links to an external site."
    2. Miley, J. 2018. "This College Professor Teaches Her Students Advanced Math Through Knitting Links to an external site."
    3. The Open Book Project. " Iteration Links to an external site. " from How to Think Like a Computer Scientist (longish - scan first)
    4. Bernasconi,Anna, Chiara Bodei and Linda Pagli  " On formal descriptions for knitting recursive patterns. Links to an external site. ." Journal of Mathematics and the Arts Volume 2, 2008 - Issue 1, pp. 9-27
     

1000

Patterns

Patterns I: Generating Patterns, Recognizing Patterns, Exploiting Patterns
Patterns II: Regular Expressions

Readings, etc.

    1. Bellos, A. 2019. "Can you solve it? On the tiles with the new Escher. Links to an external site." The Guardian 11 Feb 2019.
    2. mathscraftnz.org. " Download Escher Tiling Instructions"
    3. Regular Expressions Links to an external site. in Eloquent JavaScript
    4. Work through: REGEXONE.COM's Links to an external site. regular expression tutorial.

    See Also

    1. McCombe, Madeline. 2019. "How to use Regular Expression (Regex) and the Natural Language Toolkit (NLTK) on Game of Thrones Book 1 Links to an external site."
    2. Környei, Tibor. "Using MS Word’s Advanced Find and Replace Function Links to an external site."
    3. Sartain, JD. 2016. "Word pro tips: Use Wildcards for faster, more accurate search-and-replace results Links to an external site."
    4. Microsoft. "Split text into different columns with functions Links to an external site."
    5. Wikipedia editors, "Regular Expression Links to an external site."
    6. Regex.info. "Tutorial Links to an external site."
     

EXAM

Midterm Problem Set II

Covers course material to date.

1001

APIs

concept, What/How; documentation; examples, requesting; processing;JS implementation,  handling JSON

Readings, etc. (about Links to an external site.)

    1. DiCarlo Perre. 2016. "A Form Was Never Just a Sheet of Paper. Links to an external site." Medium (15 min read)
    2. MuleSoft Videos. 2015. "What is an API?" Links to an external site. (3:24)
    3. Berlind, David. 2015. "What are APIs and How Do They Work? Links to an external site." (5 parts, ~25 min read)
    4. Rascia, Tanya. 2017. "How to Connect to an API with JavaScript Links to an external site." (15 min read, but longer to follow along and digest)
    5. The Coding Train. 2015. "10.9: New York Times API and JavaScript - p5.js Tutorial Links to an external site." (15:18)
    6. Ryan. "APIs in EDL Links to an external site.," "APIs All Around Us Links to an external site.," "Hydro as the Ultimate Abstraction Links to an external site.," "Zotero API Links to an external site.," "Who should know about APIs? Links to an external site." "The NYT API Links to an external site."

    See Also

    1. The Coding Train, "10.1: Introduction to Data and APIs in JavaScript - p5.js Tutorial Links to an external site." (12:49)
    2. The Coding Train. 2015. "10.2: What is JSON? Part I - p5.js Tutorial Links to an external site."
    3. The Coding Train. 2015. "10.3: What is JSON? Part II - p5.js Tutorial Links to an external site."
    4. The Coding Train. 2019. "10.4: Loading JSON data from a URL (Asynchronous Callbacks!) - p5.js Tutorial"
    5. TheCodingTrain.2019."1.5 Mapping Geolocation with Leaflet.js Links to an external site.
    6. Harms, Johannes. 2013. "Research Goals for Evolving the ‘Form’ User Interface Metaphor towards more Interactivity Links to an external site." (3pp)
    7. Bilner, Craig. 2018. "Alexa, Run This JavaScript App Links to an external site." (30 min read)
    8. Muttoni, Andrea. 2018. "Building an Alexa Skill in 20 minutes using Node.js Links to an external site." (27m58s)
    9. Alexa Developers. "Alexa Live How to Build Your First Great Alexa Skill Links to an external site." (44m14s)
     

How Do Machines Keep Secrets? (OPTIONAL EXTRA LECTURE)

history of encryption; math and application of RSA; implementation in secure web (https), hashing; fundamentals of blockchain

Readings, etc. (about Links to an external site.)

    1. Download A-beginners-guide-to-codebreaking-1.2.pdf"
    2. Simple Substitution Cipher Links to an external site. @ Practical Cryptography
    3. Simply Explained. 2017. "Asymmetric encryption Links to an external site." (4m40s)
    4. Khan Academy. 2015. "Encryption and public keys Links to an external site." (6m39s)
    5. Goldstein, J. and D. Kestenbaum. 2010. "The Island Of Stone Money Links to an external site." NPR, Planet Money (4:24)
    6. Anders Brownworth. 2016. Blockchain 101 - A Visual Demo (17:49) Links to an external site.
    7. Woo, E. 2014. "The RSA Encryption Algorithm 1 Links to an external site. " (8m39s)
    8. Woo, E. 2014. "The RSA Encryption Algorithm 2 Links to an external site." (11m54s)
    9. Nakamoto, Satoshi. "Bitcoin: A Peer-to-Peer Electronic Cash System Links to an external site." (8pp)
    10. Anders Brownworth. 2017. "Blockchain 101 - Part 2 - Links to an external site. Public / Private Keys & Signing Links to an external site." (8m53s)

    See Also

    1. Khan Academy: Bitcoin: Transaction records (11m30s) Links to an external site.
    2. Network Direction. 2019. "Encryption Basics | Cryptography Links to an external site." (12m58s)
    3. PrivacyGuy. 2020. "What is Encryption and How Does It Work? Links to an external site." (6m28s) (or on Medium for a 5m read Links to an external site.)
    4. HardFork. "5 of the most ridiculous blockchain use cases, according to blockchain experts Links to an external site."
    5. Ecocoin. Website Links to an external site..
     

1011

How Do Machines See?

VISION I: biological vision, neurons, perceptrons, weights, activation function
VISION II: network depth, diagram, tabular/data structure view, updates, convolutions

Readings, etc.

    1. Harvey, J. 2015. "The evolution of the human eye Links to an external site." (4m43s)
    2. Maini, Vishal. 2017. "Machine Learning for Humans: Why Machine Learning Matters Links to an external site." Medium (10 min read)
    3. Khan Academy (2010), "Anatomy of a neuron Links to an external site." (6m12s)
    4. Sharma, Sagar. 2017. "What the Hell is Perceptron?: The Fundamentals of Neural Networks Links to an external site." on Towards Data Science@Medium (3 min read)
    5. Wikipedia. " Perceptron Links to an external site. " (15 min read)
    6. 3Blue1Brown Links to an external site.. 2017. "But What is a Neural Network? Links to an external site." (19:13)
    7. SimpleLearn.com. "Perceptron Tutorial Links to an external site." (20 min read, hour+ digest)

    See Also

    1. The Coding Train. 2017. "Neural Networks: Perceptron Part 1" Links to an external site. (44:39)
    2. Lagandula,  Akshay. 2018. "Perceptron Learning Algorithm: A Graphical Explanation Of Why It Works. Links to an external site." on Towards Data Science@Medium (8 min read)
    3. Vasilev, Ivan.  n.d. "A Deep Learning Tutorial: From Perceptrons to Deep Networks Links to an external site." (21 min read)
    4. Maini, Vishal. 2017. "Supervised Learning  Links to an external site.(13 min read)
    5. Maini, Vishal. 2017. "Supervised Learning II  Links to an external site.(10 min read)
    6. Maini, Vishal. 2017. "Supervised Learning III  Links to an external site.(11 min read)
    7. Klein, Dan. 2014. "Lecture 21: Machine Learning - Perceptrons." UC Berkeley. (more advanced) (1:14:18) Links to an external site.
     

1100

How Do Machines Learn?

LEARNING I: sense of time and style diversity of ML/AI, where RL fits, decision trees, discounting, repetition in gridworld
LEARNING II: learning models

Readings, etc.


1101

Alignment

Nature of the problem. Modes of failure. Modes of governance. 

Readings, etc.

    1. Russell, S. 2015. "Value Alignment Links to an external site." (5m)
    2. Russell, S. 2017. "Three Principles for Creating Safer AI Links to an external site.." TED (17m24s).
    3. Christian, B. 2020. Excerpt from The Alignment Problem (16pp) Download Excerpt from The Alignment Problem (16pp)
    4. "The Alignment Problem - In Conversation with Brian Christian and Nora Young Links to an external site." (57m)
    5. Russell, S. 2019. "Technical Safety: Introduction to AI Safety Links to an external site."
    6. Stop Autonomous Weapons. 2017. Slaughterbots Links to an external site. (7:47)

    Optional

    1. Open AI. "Introducing Open AI Links to an external site."
    2. Yudkowsky, E. 2016. "The AI Alignment Problem: Why It’s Hard, and Where to Start Links to an external site." (90m)
    3. Larks. "2020 AI Alignment Literature Review and Charity Comparison Links to an external site."
     

EXAM

Final Problem Set 

Covers full course. Due 5pm 23 August 2021

Course Delivery Method

This is a lecture/problems/tutorial course that will be delivered remotely this semester.  Some material will be available asynchronously and we will endeavor to make recordings of synchronous activity available but cannot guarantee that this will always be possible nor that it will always be accomplished promptly.  Course related conversations will be handled via Piazza and all work will be submitted via Quercus.

E-mail Policy and Office Hours

Email: Correspondence that is inappropriate for Piazza should be done through Quercus Inbox.  This ensures that it comes to me with a subject header that filters it into a mailbox that I pay attention to.  I'm usually very prompt on emails. Exceptions late in the evening and on weekends.

Office Hours: TBA.  Office hours are always via appointment on the Quercus calendar and held via Zoom If no is signed up for office hours when I go to sleep the day before I reserve the right not to show up.

Course Objectives

The purpose of this course is to convey, in a manner that is accessible to students coming from a wide variety of intellectual backgrounds and useful to students destined for a wide variety of further avenues of study, a set of intellectual reflexes and styles of thought and a repertoire of practical skills drawn from, and deployed in, computational science. The course is NOT intended as "computer science 101" or "a first course in programming" or "introduction to data processing."

Course Learning Outcomes

This course introduces students to a style of thinking that yields problem solutions that can be programmed, are predictably reliable, involve careful and exhaustive consideration of problem and solution spaces, and can be implemented at high speed and high volume. Although this usually means solutions that are carried out by machines, the application of this style of thinking is more generally applicable.

The goal, then, will be to inculcate an "algorithmic" style of thinking: the deliberate decomposition of large and complex problems into a set of nested subproblems, the construction of solutions in terms of sequence, repetition, and contingency, the recognition and exploitation of pattern, and the inclination to defer detail, automate, and modularize.

Upon successful completion of this course you will have enhanced your capacity to

  1. have enhanced general purpose critical thinking skills (THINK)
  2. think slowly about things that move fast and/or have many parts (SLOW)
  3. break large and complex problems into cognitively/computationally/organizationally manageable subproblems (DECOMPOSITION)
  4. recognize, describe, and exploit patterns (PATTERN)
  5. defer detail and move between levels of abstraction (ABSTRACTION)
  6. build complex, robust, and legible systems from cognitively manageable and reusable parts (MODULARITY)
  7. think about data and information structurally (DATA)
  8. understand the complexity of computational solutions (COMPLEXITY)
  9. formulate problems and solutions using computational thinking in different fields of endeavor (APPLY)
  10. deploy a set of mental categories, intellectual reflexes, conceptual tools, and practical skills necessary for a participatory role contemporary information technologies (TECH)

 

 

CC Attribution Non-Commercial Share Alike This course content is offered under a CC Attribution Non-Commercial Share Alike Links to an external site. license. Content in this course can be considered under this license unless otherwise noted.