1.7. Topic Summary

This is a fast-paced course and you will be expected to learn many new skills independently and teach them to each other. Please see the Learning Objectives section for a detailed discussion of learning approach and the Fall 2015 Calendar for the schedule.

1.7.1. Unit 1: Energy, Information, Transduction

The purpose of this unit is to introduce a fundamental understanding of the energy and information transfer processes which connect the physical world with computational processes. Along the way, we will rapidly bring every student up to speed with basic electronics, mechanisms, and programming through a series of lab exercises and a small collaborative project.

All exercises and projects will be performed in pairs or groups, which we will be changing frequently to develop your abilities to take on different roles in collaboration.

The overall goals for each student include the following:

  1. clarify individual skills and learning objectives
  2. get to know and respect the lab
  3. get to know what physical computing is and where you see it
  4. practice effective collaboration
  5. understand how to identify system boundaries
  6. understand the basics of physical signal processing
  7. understand how to build basic interface circuits for both input and output
  8. learn many practical lab skills
  9. learn to use an Arduino
  10. understand basic techniques for building signal-processing programs in Arduino C++

1.7.2. Unit 2: Signals, Time, and Dynamics

The purpose of this unit is to explore the role of time in processes which span physical, electrical, and computational domains.

The overall goals include the following:

  1. be able to identify characteristic time scales for the physical, electronic, computational, and human processes we use
  2. understand the basic concepts of time-domain sampling
  3. learn to specify computational representations of physical measurements
  4. understand basic methods for discretizing continous measurements
  5. learn the meaning of sampling rate, jitter, and Nyquist frequency
  6. understand the physical nature of sound as pressure oscillations
  7. understand the basics of time-slice computation for simulating simultaneous processes
  8. be able to create rhythmic patterns using computational means
  9. understand basic concepts of feedback
  10. observe how physical dynamics can complement computational processes

1.7.3. Unit 3: Algorithms and State

The purpose of this unit is to explore the broader meaning of state, including the essentials of finite-state machines and processes with memory. This is an idea with both physical and computational meaning.

The overall goals include the following:

  1. be able to identify the degrees of freedom of a physical system
  2. be able to identify the state variables in a program fragment
  3. be able to identify continuous versus discrete state dimensions
  4. be able to read and draw a state transition graph (see State Diagram)
  5. understand the meaning of hysteresis (see Hysteresis)
  6. learn to construct programs which estimate the state of a physical process
  7. understand the elements of a computational model and simulation
  8. understand basic pattern recognition

1.7.4. Final Project

The final month of the semester will focus entirely on group projects to further develop and demonstrate understanding of the technical material.