Whole Systems, Whole Students Eric Brewer UC Berkeley, Google CCC Council November 2, 2012
Three Converging Trends 1.Billions of gadgets – Some smart, some just clever – Basic cost is low => huge variety 2.Software in everything – Smart phones, scales, cars, appliances, glasses – Follows from Moores Law – Often connected to the cloud 3.Ability to make your own gadgets – Not just the software – … also the electronics, mechanics, packaging
Phone as Super Gadget Several embedded processors WiFi, cellular, bluetooth, NFC Many sensors: – camera(s), mic(s), GPS, accelerometers, compass, … Open-source software stack (Android) Combine with cloud-based services – Voice recogition, navigation, …
Software in Gadgets Fitness – Scale, fitbit, nike shoe, bike computers Cars: software systems Digital cameras: autofocus, face detection Remote controls Robot vacuums, mops, … GPS+video ski goggles
Maker Subculture … stresses new and unique applications of technologies, and encourages invention and prototyping [Wikipedia]Wikipedia Enabled by: 1.Internet 2.New tools 3.Fabrication facilities and servicesservices Plus magazines, Maker Faire
Internet enables DIY
New Tools
Arduino Uno
Arduino is an Enabler
Fabrication made Easy
Claim: super educational Very creative – Focuses on design skills – Physical manifestation is more rewarding Mix of disciplines and thinking – Mechanical and electrical engineering – Computer science – Plus HCI, business, art – Multi-modal learning High school students can do this (and should)
My Best DIY Project (so far)
The Dovetail Joint
Four pieces of wood, no nails
4W, 12V Xenon bulb, real candle
Power flows to Both Ends
Embedded microcontroller
Chandelier Electronics 18 bulbs at 4W = 72W total 2 microcontrollers, one at each end – Pseudo-random flickering between % – 6 1A circuits total, each independent flickering 8 wires to every bulb location – 6 circuits plus 2 ground (ethernet cable) – Each circuit handles every 6 th bulb in series 3 bulbs * 4W = 12W, 12V => 1A
Three CS Issues 1.EE vs CS for Embedded Systems 2.Security for smart gadgets 3.How to design Whole Systems
EE vs CS Embedded systems are typically an EE topic – Follows from analog control theory – Also hard real-time systems New systems are all software – Control loop is in software, likely on Linux – Kind of real time (due to overprovisioning) – … but might need to reboot periodically We should revisit this dichotomy
Security
Designing Whole Systems Not enough to design the software – Can choose the CPU, sensors, flash, ram, … Partially a CAD problem Mostly a breadth problem – How to train the full range of design skills? – How much is needed from each discipline? – How to cover the device + the cloud? – Claim: CS should lead this rising area
The Larger Trend CS is being applied to solve real problems We need to create students – that can lead solutions – (not just write software) Technology for developing regions – Need to solve the problem Not deploy technology – CS only part of the solution (but the enabling part)
BACKUP
Tier Base Station
Tier SIM card