Course Information FALL

https://utoronto.zoom.us/j/86510824442

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)

SEPT OCT NOV DEC
Mo Tu We Th Fr Mo Tu We Th Fr Mo Tu We Th Fr Mo Tu We Th Fr
1 2
3 1 1 2 3 4 5 1 2
LOOPS
3
6

7 8 9
10 4

5 6 7
8 8
RE
9
AD
10
ING
11
WE
12
EK
6

7
LOOPS
8 9
10
13 14 15 16
Welcome
17 11
TGD
12
FLOW
13 14
NUMBERS
15 15 16
LOGIC
17 18DATA 19 13 14 15 16 17
20
ADD D/L
21 22 23

24 18
19 20 21
22 22
23 24 25
26
27
28
STEP+
29 30
FLOW
25
DROP D/L
26
NUMBERS
27 28
LOGIC
29 29
30
DATA
     
 
KEY class   exam due holiday
 
JAN FEB MAR APR
Mo Tu We Th Fr Mo Tu We Th Fr Mo Tu We Th Fr Mo Tu We Th Fr
3 4 5 6 7   1
AUTO
2 3
PATT
4    1 2  3  4    1
10 11 12 13 14 7 8 10 11 7 8
APIS
9 10
SEE
11 4 5
LEARN
6 7
ALIGN
8
17 18
RECAP
19 20
AUTO
21 14 15
PATT
16 17
APIS
18
DROP DL
14 15 16 17 18 11 12 13 14 15
24 25 26 27 28 21
RE
22
AD
23
ING
24
WE
25
EK
21 22
SEE
23 24
LEARN
25 18 19 20 21 22
31       28   28 29 30 31   25 26 27 28 29
 
KEY class   exams holiday

Jump to Getting Started | Flow | Numbers |  LogicInfoJigs | Repetition  | Automation 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 Links to an external site. 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/class/kuoammpcx3a3sd 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.

Index

Slide Decks Readings Notes (Google Doc) Handouts Review Questions Problem Set
Slow Notes on Slow RQs 01 PS 01
Flow Notes on Flow RQs 02 PS 02
Numbers Notes on Numbers RQs 03 PS 03
Logic Links to an external site. Notes on Logic Links to an external site. RQs 04 PS 04/Exam
Information Jigs Links to an external site. Notes on Info Jigs Links to an external site. RQs 05 PS 05
Repetition Notes on Repetition RQs 06 PS 06/Exam

Slide Decks


FALL


16 September "Welcome | Think Slowly | Our Tech Stack"

ZOOM 810 7076 7783 Links to an external site. (PC 200392) | notes Links to an external site. | slides Links to an external site. | pdf Download pdf | zip Download zip | Review Qs (Crowdsource Notes Links to an external site.) | Problem Set | Synchronous Recordings Why this course? How this course (logistics - remote/in-person, readings/viewings/problems, assignments/exams - and platforms -  Quercus, Piazza Links to an external site., CodePen, Miro)? Substance (HTML, CSS, JS, slow thinking, stepwise refinement, pseudocode, SDRAD.

Readings, etc.

Pre-course Survey Links to an external site. Links to an external site. (see results HERE when ready)

View this slide deck about Platforms: Quercus, Piazza, CodePen Links to an external site.

Sign up for Piazza here Links to an external site. if you are not already able to access via nav menu on the left.

Links to an external site.DJR talking about some of the readings Links to an external site. (3m41s)

Start Reading the Text

  1. Filho (2017) Computer Science Distilled, pp 1-5 Download Computer Science Distilled, pp 1-5

Slow Thinking (review questions)

  1. Ryan MiniLecture "Thinking Slowly Links to an external site." (2020) (9m36s)
  2. Harold Edgerton and High Speed Photography(spend 15 minutes learning about)
  3. Kageyama (2012) Is Slow Practice Really Necessary? Links to an external site. (3m)
  4. Soni (2019) For creative solutions, slow and deliberate thinking is the key Links to an external site. (3m)

Stepwise Refinement (review questions)

  1. Learn Learn Scratch Tutorials (2020), Stepwise Refinement Tutorial Links to an external site. (7m)
  2. CS2110 Cornell. (2019) Stepwise refinement: The Raven Links to an external site.(6m) Links to an external site.
  3. LessonHacker (2013), Top Down / Modular Design Links to an external site. (10m)
  4. Ryan MiniLecture "Stepwise Refinement Links to an external site." (2020) (8m1s)

Pseudocode (review)

  1. Khan Academy. n.d., Planning with pseudo-code | Becoming a better programmer Links to an external site. (4m)
  2. Codecademy (2019), What is Pseudocode And How Do You Use It? Links to an external site. (11m)
  3. OPTIONAL Cameron (2016), Writing Good Beginner Pseudocode Links to an external site. (10m) 

Black Box

  1. Wikipedia. "Black Box Links to an external site." (5m)
  2. OPTIONAL Walter Guevara 2018 "What is 'black-box code' and why it's important Links to an external site." (15m read)

Interesting

Agrawala, Maneesh, et al. "Designing Effective Step-By-Step Assembly Instructions Links to an external site." (30m read)
Hamilton, Thomas. 2021. "Black Box Testing Vs. White Box Testing: Key Differences Links to an external site." (10m read)

Tuesday 28 September "Our Tech Stack and More Slow Thinking"

zoom Links to an external site. Links to an external site. | notes | slides "OUR TECH STACK" Links to an external site. (PDF Download PDF), slides "SLOWLY II" Links to an external site. (PDF Download PDF)]


Thursday 30 September Introduction to Flow + Modularity

flowchart conventions; pseudocode to flowchart;  everyday language to flowchart principles of abstraction and modularity 

zoom  Links to an external site.notes Links to an external site. | slideshow Links to an external site. (pdf Download pdf) (zip Download zip) | Synchronous Recordings 

Readings, etc.

    1. Filho. 2017. Computer Science Distilled, pp 1-5 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"
    2. Monotrail Tech Talk.  2020. "Introduction to making modular Techno Links to an external site." ~18m

Tuesday 5 October

Review Qs

Thursday 7 October

Problem Set


Tuesday 12 October Solving Problems with Flow and Modularity

ZOOM Links to an external site. | notes | slides Links to an external site. | pdf Download pdf | zip | Problem Set Due 11 October midnight


Thursday 14 October Introduction to Numbers: Binary and Hexadecimal

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

ZOOM Links to an external site. | notes Links to an external site. | slideshow Links to an external site. | pdf Download pdf | zip Download zip | Review Qs | Problem Set | Synchronous Recordings

Readings, etc.

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

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

Tuesday 19 October

Review Qs

Thursday 21 October

Problem Set

Tuesday 26 October Solving Problems with Numbers

ZOOM | notes Links to an external site. | slides Links to an external site. | pdf Download pdf | zip | Problem Set Due 25 October midnight


EXAM

Midterm Problem Set I


Thursday 28 October Introduction to Logic

LOGIC I: Logical values, and/or/not, truth tables, other operators; logic and binary, logic and electricity, simple logic circuits  

ZOOM  Links to an external site.notes Links to an external site. | slideshow Links to an external site. | pdf Download pdf | zip Download zip | Review Qs | Problem Set Synchronous Recordings

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

Tuesday 2 November

Review Qs

Thursday 4 November

Problem Set

R E A D I N G   W E E K

Tuesday 16 November Solving Problems with Logic

LOGIC II: complex expressions, logical equivalence, DeMorgan's laws, simplification, Karnaugh maps, more complex circuits 

ZOOM  Links to an external site.notes Links to an external site. | slideshow Links to an external site. | pdf Download pdf | zip | Review Qs | Problem Set | Synchronous Recordings


Thursday 18 November Introduction to Info Jigs


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

ZOOM Links to an external site. | notes Links to an external site. | slideshow Links to an external site. | pdf Download pdf | zip Download zip | Review Qs | Problem Set | Synchronous Recordings

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
        1. codeSTACKr. 2019. "Learn JSON not Jason in 10 Minutes Links to an external site." (15m23s)
        2. The Coding Train. 2015.10.2: What is JSON? Part I - p5.js Tutorial Links to an external site.
        3. The Coding Train YouTube Channel (2015), 10.3: What is JSON? Part II - p5.js Tutorial Links to an external site.  

Tuesday 23 November

Review Qs

Thursday 25 November

Problem Set

Tuesday 30 November Solving Problems with Info Jigs

Your Friend JSON

ZOOM Links to an external site. | notes Links to an external site. | slideshow Links to an external site. | pdf Download pdf | zip Download zip | Review Qs | Problem Set | Synchronous Recordings


Thursday 2 December Introduction to 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

ZOOM Links to an external site. | notes Links to an external site. | slideshow Links to an external site. | pdf Download pdf | zip Download zip | Review Qs | Problem Set | Synchronous Recordings

Readings, etc.

      1. Introduction to the readings (in class)
      2. Filho ch 3 Strategy (pp 35-62)
      3. Meyers, Bob @FSU Control Structures - Repetition Links to an external site.
      4. Learn some things about complexity
        1. Filho ch 2 "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)

Tuesday 7 December Solving Problems with Repetition

ZOOM Links to an external site. | notes | slideshow Links to an external site. | pdf Download pdf | zip Download zip | Review Qs | Problem Set | Synchronous Recordings


EXAM 2


WINTER


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.
     

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. "Escher Tiling Instructions Links to an external site."
    3. Filho, Computer Science Unleashed (the orange book) pp. 223-240
    4. Regular Expressions Links to an external site. in Eloquent JavaScript
    5. 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?

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. 

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)