/IMA767_MEDP349_Fall2018

Introduction to Physical Computing, Hunter College, Fall 2018

Primary LanguageC++

Introduction to Physical Computing

IMA 76700 / MEDP 34900
Wednesday, 7.00pm - 9.40pm
Fall Semester, August 29 - December 12
Hunter North, Room 432

Contact Information

Andrew Doro
Adjunct Assistant Professor
ad3887@hunter.cuny.edu
Office Hours: after class or by appointment

Course Description

Physical computing is a set of tools and practices that enable artists, designers, and hobbyists to create electro-mechanical works that can sense aspects of the physical world and effect changes to it in ways beyond those offered by the standard desktop, laptop, or mobile computer. Physical computing practitioners use electronic components and physical materials to build devices that interact in some way with the physical world. These practices involve electronic sensors to detect physical input, microcontrollers to reformat and process that input, and actuators to effect changes in the physical world in response to that input

This course introduces students to microcontroller programming, electronics, and physical interaction design. The bulk of the course will focus on using the Arduino microcontroller to create experiences that extend beyond the computer screen. We will also examine the use of electronics and interactivity in art and design. Weekly hands-on labs, assignments, and readings will help students gain technical proficiency with these tools and develop a critical and creative eye for interactive technology.

Course Objectives

By the end of this course the student should be able to build and program basic microcontroller projects on the Arduino platform as well as have an understanding of physical interaction design.

Required Materials

Suggested Tools

  • multimeter
  • breadboards
  • 22-AWG solid core hook-up wire, various colors
  • wire strippers
  • diagonal cutters
  • 9V DC 1A power supply
  • soldering iron
  • solder (lead free recommended)

It is likely that you will need additional materials depending on the nature of your projects. However, taking advantage of found and recycled materials is encouraged.

Software

Arduino IDE
GitHub - used for posting code and homework assignments
Fritzing - used for documenting electronics projects
TinkerCAD Circuits - Arduino and electronics simulator

Required Reading

Exploring Arduino by Jeremy Blum
Experimenters Guide for Metro (PDF version)
Arduino Reference

Optional Reading

Getting Started in Electronics by Forrest M. Mims III
Programming Arduino by Simon Monk
Elegoo Uno R3 Super Starter Kit
Programming Design Systems by Rune Madsen

Attendance and Participation

Attendance is mandatory for all class sessions. Unexcused absence, tardiness, or leaving early negatively impacts your attendance record and will damage your grade. If you anticipate being late or absent, let me know as early as possible. Medical emergencies must be documented to be excused. If you cannot attend class on the day of a quiz, you must speak with me ahead of time in order to arrange for you to take it another time. This will only be done in cases where there is a well-documented reason for missing the quiz.

Participation means:

  • Being attentive and respectful when others are speaking or presenting.
    • During presentations, computers and cellphones may not be used and all laptops must be closed.
    • Contributing to in-class discussion, asking relevant questions and providing constructive feedback to your peers.
  • There are no dumb questions.
  • Sharing your work each week and following along with in-class labs.
    • Failing to bring assignments and required materials to class will prevent you from participating.
  • Contributing to the online discussion in the issues section.

Assignments

This is a production heavy class. If you do not have your own computer, you will be able to access the labs outside of class. Rooms HN470 & HN478 also have computers with the relevant software installed.

Some equipment such as multimeters and soldering irons are available to borrow from the equipment room at HN435 although you may consider investing in purchasing your own tools.

You must post assignments to the class homework page on the following Tuesday, 11pm before class. Bring your work to class each week and be prepared to talk about it. For each week an assignment is late, 10 points will be deducted from its grade.

Documentation of your work is required for all physical assignments. Refer to the documentation guidelines.

Physical Computing Lab

Room: HN478 Hours: M-F 9am-9pm, Sat 10:30am-3:30pm
Access: Go to Peter Jackson's office HN435 to get the door open

Grading

  • Assignments: 35%
  • Attendance and Participation: 35%
  • Final Project: 30%

Final Project

The final project will demonstrate a large amount of time spent outside of class, though we will also spend a significant portion of the last weeks of class dedicated to the completion of this project. As such, it is expected to be more technically and critically engaging.

  • Must be functional - your project must work!
  • Make an interactive system that can keep a user engaged with your system
  • Should be novel
  • Should be soldered- not using a breadboard
  • Must be well documented, including circuit diagrams and well-commented code
  • Explain your design processes

Electronic Device Policy

Cellphones and internet usage during class should only relate to relevant classroom topics. During presentations, computers and cellphones may not be used and all laptops must be closed.

Food & Drink Policy

Since our class is in a computer lab food and drink are not allowed. There will be a 15 minute break in the middle of class.

Academic Integrity

Hunter College regards acts of academic dishonesty (e.g., plagiarism, cheating on examinations, obtaining unfair advantage, and falsification of records and official documents) as serious offenses against the values of intellectual honesty. The College is committed to enforcing the CUNY Policy on Academic Integrity and will pursue cases of academic dishonesty according to the Hunter College Academic Integrity Procedures.

Disabilities

In compliance with the ADA and with Section 504 of the Rehabilitation Act, Hunter College is committed to ensuring educational access and accommodations for all its registered students. Hunter College’s students with disabilities and medical conditions are encouraged to register with the Office of AccessABILITY for assistance and accommodation. For information and appointment contact the Office of AccessABILITY located in Room E1214 or call (212) 772-4857 or VRS (646) 755-3129, or visit http://www.hunter.cuny.edu/studentservices/access/

Sexual Misconduct

In compliance with the CUNY Policy on Sexual Misconduct, Hunter College reaffirms the prohibition of any sexual misconduct, which includes sexual violence, sexual harassment, and gender-based harassment retaliation against students, employees, or visitors, as well as certain intimate relationships. Students who have experienced any form of sexual violence on or off campus (including CUNY-sponsored trips and events) are entitled to the rights outlined in the Bill of Rights for Hunter College.

  1. Sexual Violence: Students are strongly encouraged to immediately report the incident by calling 911, contacting NYPD Special Victims Division Hotline (646-610-7272) or their local police precinct, or contacting the College's Public Safety Office (212-772-4444).
  2. All Other Forms of Sexual Misconduct: Students are also encouraged to contact the College's Title IX Campus Coordinator, Dean John Rose (jtrose@hunter.cuny.edu or 212-650-3262) or Colleen Barry (colleen.barry@hunter.cuny.edu or 212-772-4534) and seek complimentary services through the Counseling and Wellness Services Office, Hunter East 1123.

CUNY Policy on Sexual Misconduct Link: http://www.cuny.edu/about/administration/offices/la/Policy-on-Sexual-Misconduct-12-1-14-with-links.pdf

Weekly Schedule

Week 1, August 29 - Review Syllabus

  • what is:
    • physical computing
    • interactivity
    • a microcontroller
    • Arduino
      • "Hello World"
    • Blum, Ch. 1

September 2 - Last day to drop for 75% tuition refund; Last day to add a class

September 5 (Monday Schedule - no class)

September 9 - Last day to drop for 50% tuition refund

Week 2, September 12 - Electronics Basics

  • basic circuit
  • voltage, current, resistance
    • Ohm’s Law
  • components
  • schematics
  • breadboards
  • multimeter
  • ICs

September 16 - Last day to drop without a grade of "W"

September 19 - No classes scheduled

Week 3, September 26 - Arduino Basics

  • digital I/O
  • digital vs. analog
  • serial console
  • analog I/O
    • ADC
    • pulse width modulation
    • tone
  • Blum, Ch. 2-3

Week 4, October 3 - Programming Interaction & Analog I/O / Halloween Costume Proposals

  • programming interaction
    • variables
    • conditionals (if, else)
    • datatypes

Week 5, October 10 - Iteration

  • for/while loops
  • arrays
  • functions
  • Blum, Ch. 7

Week 6, October 17 - Serial Communication

  • asynchronous communication
  • I2C, SPI
  • using libraries
  • wireless communication
  • Blum, Ch. 8-9

Week 7, October 24 - High Current Loads

  • motors
    • DC motor
    • servo
    • stepper
  • solenoids
  • transistors / relays
  • Blum, Ch. 4

Week 8, October 31 - Halloween Costume Presentations

November 6 - Last day to withdraw from a course with a grade of "W"

Week 9, November 7 - Final Project Proposal / Libraries, Functions and Better Prototyping Techniques

  • creating your own functions
  • soldering
  • shields
  • wiring
  • connectors
  • enclosures & panel mount components

Week 10, November 14 - Final Project Concept Discussion / Wireless

  • electromagnetic spectrum
  • network topologies
  • radio, Xbee, Bluetooth, WiFi, GSM
  • Blum, Ch. 11, 14

Week 11, November 21 - Final Projects Workshop

Fall Recess, November 22-25

Week 12, November 28 - Final Project Prototype

Week 13, December 5 - Final Project User Testing

Week 14, December 12 - Final Project Presentations


Except for changes that substantially affect implementation of the evaluation (grading) statement, this syllabus is a guide for the course and is subject to change with advance notice.

This syllabus was created with the help of resources shared by Chino Kim, Ricardo Miranda, and Grayson Earle of Hunter College and Dan Shiffman and Tom Igoe of NYU ITP.