{"id":1144,"date":"2020-09-01T22:32:03","date_gmt":"2020-09-02T02:32:03","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/?p=1144"},"modified":"2020-09-04T01:02:30","modified_gmt":"2020-09-04T05:02:30","slug":"notes-for-class-1-1-sep-2020","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/?p=1144","title":{"rendered":"Class 1 notes,  1 Sep 2020"},"content":{"rendered":"<p><strong>Remote Learning<\/strong><\/p>\n<p>No need to leave video on unless we\u2019re having a group discussion so we can raise hands.<\/p>\n<p>Most lectures (starting next week) will be recorded and take roughly half of the class time.<\/p>\n<p>Classroom discussions will not be recorded.<\/p>\n<p>Take-home kits will be available sometime next week. We\u2019ll let you know when they can be ordered, please don\u2019t call the bookstore.<\/p>\n<p>Projects will be turned in on the blog and demoed via Zoom. Live or pre-recorded demos?<\/p>\n<p>Office hours as needed \u2014 email me if you\u2019re stuck and want to have a 1:1 Skype<\/p>\n<p>How do you feel about Canvas?<\/p>\n<h2><strong>Undergraduate Requirements<\/strong><\/h2>\n<p>Undergrads have a pre-req of Intro to Physical Computing. If you haven\u2019t taken the pre-req but think you know enough to keep up with MTI assignments, stay for this intro then talk to me after class.<\/p>\n<h2><strong>Graduate students<\/strong><\/h2>\n<p>Comfortable working with Arduino, equivalent knowledge of Intro to Phys Comp.<\/p>\n<h2><strong>Skills needed by all students<\/strong><\/h2>\n<p><strong>Arduino<\/strong><\/p>\n<ul>\n<li>Arduino IDE in C++ or CircuitPython. VSC is also an option if you prefer.<\/li>\n<li>for() vs. while() loops<\/li>\n<li>arrays (C++)<\/li>\n<li>switch\/case<\/li>\n<li>analog vs digital voltages<\/li>\n<li>dictionaries (Python)<\/li>\n<li>integer vs. float (C++)<\/li>\n<li>interrupts<\/li>\n<li>Understand how\/why to use state machines<\/li>\n<\/ul>\n<p><strong>Physical Computing skills<\/strong><\/p>\n<ul>\n<li>Analog vs. digital electronics<\/li>\n<li>External power \u2014 wall outlets and batteries and power supplies<\/li>\n<li>The difference between servo motors, regular motor, solenoids<\/li>\n<li>Can do more than cut-and-paste a sketch and change a few variable names<\/li>\n<li>Can read\/create basic sketches in Fritzing<\/li>\n<\/ul>\n<p><strong>Other Useful Skills<\/strong><\/p>\n<p>p5.js (javascript) can be used in this class<\/p>\n<p>Python on Arduino is allowable as a substitute for C++, but I can&#8217;t help you debug<\/p>\n<p>BeagleBone Black and Raspberry Pi may be used as a substitute for Arduino, again I can&#8217;t help you debug<\/p>\n<p>If you want to learn this sort of technology but can\u2019t take this class, feel free to email me for some pointers on how to get started on your own time. There are some \u201cArduino 101\u201d kits that you could do over winter break that I would count for PhysComp in the future.<\/p>\n<h2><strong>Introduction to the Class \/ go over Administration document<\/strong><\/h2>\n<p>We\u2019ll do real introductions on Thursday<\/p>\n<p>Originally a required class for a MTID degree, that program has ended but SoA and IDeATe like this class.<\/p>\n<p>What we\u2019re doing differently in a remote class with additional readings and responses\/projects.<\/p>\n<p>Syllabus and grading: weekly assignments, three crits, final crit, class participation<\/p>\n<p>Note taking vs. the class blog \u2014 will post my notes to the blog after class<\/p>\n<h2><strong>Class Theme &#8211; \u201cAccessiblity\u201d <\/strong><\/h2>\n<p>Improving the human condition by improving living spaces with tangible interaction design.<\/p>\n<p>Tweaking Nathan Shedroff\u2019s list:<\/p>\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Assist<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Enhance<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Improve<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Qualify<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Sense<\/li>\n<\/ul>\n<h2><strong>Class Theme &#8211; Quarantine Quitchen<\/strong><\/h2>\n<p>A few months ago, TV personality Alton Brown and his wife, Elizabeth Ingram, started doing a youtube series called \u201cQuarantine Quitchen\u201d. He\u2019s a famous chef, filmmaker, and host of competition cooking shows, she\u2019s an interior designer who does restaurants. Every Tuesday evening (during our class), they make dinner based on whatever they can find in the fridge, freezer, or pantry. And drink some alcohol. I\u2019m lifting their idea of \u201cliving in a quarantine\u201d and changing class assignments to reflect being stuck at home, having limited access to physical social events, and social distancing. https:\/\/www.youtube.com\/playlist?list=PLSL8Njz6ML7Bf5VyF9b0oQ3hiBs_3j-sz<\/p>\n<h2><strong>Introduction to Tangible Interaction<\/strong><\/h2>\n<p><strong>Reaction vs. Interaction<\/strong><\/p>\n<p>Classic thermostat (temperature sensor and on\/off switch) vs. smart thermostat (PID controller <a href=\"https:\/\/en.wikipedia.org\/wiki\/PID_controller\">https:\/\/en.wikipedia.org\/wiki\/PID_controller<\/a> or AI google hive mind)<\/p>\n<p>Tangent: explain how PID is different from a sensor + relay<\/p>\n<p>Explain how machine learning (open ended system) is different from PID (a closed loop system)<\/p>\n<p><strong>Questions<\/strong><\/p>\n<p>What if we had a smart (AI) thermostat? NEST is on the edge of this.<\/p>\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">change heating\/cooling controls based on history of changes made by people<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">change temperature related to outside environment: tomorrow is hot, turn the AC on earlier<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">react to weather changes: storm front rolls through from the north, temp drops almost 10C<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">modulate temp based on who is in the house: I like it warm, spouse likes it cold<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">modulate temp based on predicted activities: \u201cthey always stay up late on Friday\u201d<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">error control: \u201cnever let the house go below 50F\u201d to prevent pipes from freezing<\/li>\n<\/ul>\n<p>What if we had a smart door bell? What would it do? This will be an assignment on Thursday.<\/p>\n<h2><strong>Short History of Physical Computing and Interaction Design<\/strong><\/h2>\n<p>Physical computing and tangible interaction design are recently created fields but there is a history of how we got here. The key point is the size (scale) of computing hardware.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">water powered tools and windmills, literally physical computing\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">beginning of the PID idea, centrifuges to maintain speed in grain mills<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">water mills that stop pumping water when the reservoir is full<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">industrial revolution\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">early punch-card computing to control looms in 1725<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Korsakov proposes using punched cards to store data in 1832<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">steam engines that can react to malfunctions (more physical computing)<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">sophisticated PID in factories to run mills and lathes<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">(skipping mainframes that only crunched numbers)<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">transistors as second industrial revolution\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">the first computers that didn\u2019t fill buildings<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">1976: first use of \u201chuman-computer interaction\u201d in a published paper https:\/\/www.semanticscholar.org\/paper\/Evaluating-the-impact-of-office-automation-on-top-Carlisle\/7a864fc9cfbb01306cb2a75ceef1ed246727f1f0<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">1983: The Psychology of Human-Computer Interaction brings the concept to the general computing community https:\/\/amzn.to\/3jDDVEu<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Early arcade games introduced haptic output or feedback: helicopter arcade game that shakes when you are shot (early 1980s)\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">haptic technology: https:\/\/en.wikipedia.org\/wiki\/Haptic_technology<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">tactor: hardware that conveys a feeling of touch, pressure, or vibration<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Modems broadband access over the phone\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Interaction moves from an isolated software package to a network of software packages<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">People can interact with other people at distant locations via BBS or USENET or email<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">People can interact with systems, first online games and dating services<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Still no physical interaction<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Mobile phones \u2014 getting closer!\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">contains sensors, CPU, network access<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">has output in the form of image, sound, and vibration<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Arduino, 2005\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">first affordable, usable, embedded controller<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">opened up a market of input\/output hardware<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">set the space for Rpi, BBB, etc<\/li>\n<\/ul>\n<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">Five years from now\n<ul>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">where we\u2019re thinking in this class<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">experimental projects that show new interactions<\/li>\n<li style=\"font-family: 'Times New Roman'; color: #000000;\">reading assignment is showing us a few more years ahead<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><strong>What can we do in this class?<\/strong><\/h2>\n<p>Study physical computing and interaction<\/p>\n<p>Look at near future concepts<\/p>\n<p>Design, build, and demonstrate physically interactive devices and systems<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Remote Learning No need to leave video on unless we\u2019re having a group discussion so we can raise hands. Most lectures (starting next week) will be recorded and take roughly half of the class time. Classroom discussions will not be recorded. Take-home kits will be available sometime next week. We\u2019ll let you know when they &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/?p=1144\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Class 1 notes,  1 Sep 2020&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts\/1144"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1144"}],"version-history":[{"count":3,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts\/1144\/revisions"}],"predecessor-version":[{"id":1158,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=\/wp\/v2\/posts\/1144\/revisions\/1158"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/48-339\/f2020\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}