DSC 294: Intro to Physical Computing

  • Instructor: Casey Anderson
  • Email: {{ cta ]]] @ [[ caseyanderson.com }}}
  • Pronouns: he / him / his
  • Class Meetings: Tuesdays, 09:00AM – 11:50AM
  • Office Hours: By appointment

Description

This prototyping-oriented course introduces students to the creative affordances of physical computing, or the practice of interfacing digital systems with the outside world, by way of hands-on experiments across a range of technologies. Students will learn programming concepts (Python 3), and basic electronics, as well as strategies for their interaction, by designing interactive objects and experiences in response to a series of prototype briefs. Regular critiques will provide an opportunity for students to share their prototypes with their colleagues as well as receive direct feedback from the instructor.

Required Materials

Grading Policy

Grades will be calculated based on the following distribution:

  • Attendance = 10%
  • Lab participation = 20%
  • Homework assignments = 35%
  • Prototypes = 35%

If something comes up and you need to miss class please send me an email saying so. A simple "I had to miss class" is sufficient, I do not need the details.

Goals

  1. Construct simple circuits to interface electronics with digital systems
  2. Learn and explore the basic principles of software design
  3. Prototype experiences and devices across a continuum of technologies

Class Schedule (subject to change)

Week 1

  • Review Syllabus
  • 1.1 LABS Miniconda
  • 1.2 LABS The Command Line
  • 1.3 LABS Intro Python 3
  • 1.4 TOOLS Prototype Proposal Format
  • 1.5 HW Practice Prototype Proposal
  • 1.6 TOOLS 10/5 Ideas
  • 1.7 HW Practice 10/5 Ideas
  • 1.8 HW Required Materials

Week 2

  • 2.1 LABS Huzzah32 pre-flight
  • 2.2 LABS Getting Ready to Program
  • 2.3 LABS Digital Output
  • 2.4 LABS Shutting Down Your Programming Environment
  • 2.5 HW Setup your ESP32, Practice using Thonny, review Digital Output lab

Week 3

  • 3.1 LABS Button Terminology + Led Switch Circuits
  • 3.2 LABS Digital Input & Output
  • 3.3 LABS 1x Button 2x LEDs
  • 3.4 HW 10x DIY Button Prototype Sketches
  • 3.5 HW 2x DIY Button Prototypes

Week 4

  • 4.1 Review Button prototypes
  • 4.2 BRIEFS Paper Circuit
  • 4.3 HW Paper Circuit Prototype (+ Proposal)
  • 4.4 HW Paper Circuit Ten Possible Revisions

Week 5

  • 5.1 Review in-progress Paper Circuit prototypes
  • 5.2 LABS Counting Digital Interactions
  • Prepare for final review of Paper Circuit prototype

Week 6

  • 6.1 Review final Paper Circuit prototype
  • 6.2 LABS GPIO, Analog & Digital Signals
  • 6.3 LABS Analog Input
  • 6.4 LABS Voltage Dividers
  • 6.5 BRIEFS Analog + Digital Interactions
  • 6.6 HW Analog + Digital Interactions prototype (+ proposal)
  • 6.7 HW Analog + Digital Interactions 10/5/1 Ideas

Week 7

  • 7.1 Review In-progress Analog + Digital Interactions
  • 7.2 LAB for Loops
  • 7.3 LAB ADC, DCA, & PWM
  • 7.4 LAB Analog Input & PWM Output(s)
  • 7.5 HW Analog + Digital Interactions Final Presentation

Week 8

  • 8.1 Review In-progress Analog + Digital Interactions
  • 8.2 LAB Analog Input & PWM Output(s)
  • 8.3 HW Analog + Digital Interactions Final Presentation