How to Program an IC Chip - Princeton University