Platforms & Systems to Bridge the Digital & Physical World

CSE291 K00 - Winter 2020

M3 sensor on a finger
Luxapose image processing pipeline
Signpost platform deployed outside
TotTag ranging platform
Opo interaction tracker clipped to a tie
Powerblade power meter on a plug

Meets M/W from 10:30 to 11:50 in CSE 4140.
Pat Pannuto is the instructor and their office is CSE 3202 (right in the corner).

Office hours are M/W from 14:00 to 14:50 in CSE 3202.
Other times available by appointment, generally afternoons are preferred.


Researchers, policy makers, citizen scientists, and curious individuals have an innumerable array of questions about the world around them. How does physical proximity affect disease transmission? What changes would have the greatest impact on the carbon footprint of an urban environment? What is the historical air quality like for asthmatics in the neighborhoods where I am shopping for houses? This course is about the design and implementation of platforms and systems capable of capturing the data to answer such questions.

Formally, this is the study of embedded systems and wireless sensor networks. These are computing systems that are deployed widely in the physical world, which creates unique constraints in their physical size, deployment, management, communication, energy availability, and operation. We will begin with a history of impactful deployments, then study each of the pieces in turn, both traditional sensor architectures and more exotic designs such as batteryless systems, backscatter communication, and how to do machine learning with less than 1 MB of memory.

During the last week of the course, we will shift focus a bit from technology development. Often advances in embedded systems can lead to unexpected leaps in capability: modern RF techniques can build camera-like structures that "see-through" walls to capture occupancy, gestures, or even biometrics like respiration and heart rate; my PhD work helped build energy-harvesting, wireless (optical) cameras about a cubic millimeter in size and acoustic recorders small and thin enough to be imperceptibly embedded in thick paper. We will finish the term with thoughts on the ethical implications of recent and future advancements, how policy might encode social norms and expectations, and what technological solutions could enforce these policies.

Target Audience

The intended audience of this course is PhD students or masters students who are interested in pursuing a PhD in the future. This is a research-oriented class. It's designed to bring people up to speed on the history as well as the state of the art in embedded systems and to gain experience with the design, early implementation, and evaluation of a research idea.


Experience equivalent of an undergraduate degree in any of Electrical Engineering, Computer Engineering, Computer Science, Data Science, Information Science, or related areas. This is a vertical slice through the computing stack, and we will touch on topics from programming languages and distributed systems down to circuits and wireless. An enthusiasm and willingness to learn a little about a lot of new things is far more important than any one specific background.


This class is made of three co-equal components: pre-class reviews, in-class participation, and a quarter-long project.

Paper Reviews

Before each class you must read each paper and then write a short review. This should be more than a simple summary of the paper. Here are some questions to consider while reading and writing your reviews to help guide you:

  • What is the problem this paper addresses, and why is it important?
  • What is the hypothesis of this paper?
  • How was this hypothesis evaluated? What supported it, what refuted it?
  • What are the limits of this system (when does it fail)?
  • What is this most similar to that you are already familiar with; how does it compare, differ?
  • At what point did you decide you liked – or didn't like – the paper, why?

The One Thing

Often in academia, people will refer to papers as pointers to a concept or idea. As an experiment, for each paper we read this quarter, we will try to crowdsource putting into words that one thing for each paper.

At the end of each review, include a short, single sentence or phrase that you think best captures the essence of the paper.

Submitting Reviews

We will use the HotCRP review system – the same tool used by many conferences to review papers. Reviews are due before the start of class. HotCRP will automatically cut off submissions at 10:15. Reviews are due the day before class. HotCRP will automatically cut off submissions at 6:00am on the morning of class. Enrolled students should already have accounts. If you need an account or have other issues, please e-mail me.


We will rotate through class members to lead discussion each session. Leads should be prepared to give an overview of the paper's key ideas and to guide a discussion about the strengths and weaknesses of the paper, how it relates to prior and/or subsequent work, and what the core takeaway(s) of the paper may be.

When not the lead, everyone else is expected to have read the papers and to actively participate in the class discussions.

Class Project

This class will feature a quarter long project of your own choosing. Project scope should be commensurate with group size – an individual project is acceptable, though advised against. A core goal of the project is to demonstrate mastery of the scientific method: namely to clearly articulate a hypothesis and to design and implement experiments that (in)validate the hypothesis (note: a project with a negative result may still be a highly successful project!). The goal of the project is to learn how to propose a research idea, to then collect preliminary data to probe the viability of that idea, and finally to practice communicating this process in writing.

The project will have three milestones:

  • Monday, January 20: One page proposal writeup that includes your hypothesis, motivation, and expected results.
  • Monday, February 17: Three to four page draft that includes a literature review ("Related Work"), proposed experiments, and their expected outcomes.
  • Friday, March 20: Final five to six page paper that includes outcome of small-scale experiments / prototype / etc. This should resemble an early-to-mature draft of an academic workshop paper.


Date Topic Lead Pre-Class Assignment
Week 1: Introduction, Motivation, Potential, and Pitfalls
Jan 6 Introduction Pannuto
Jan 8 Ubiquitous Computing Pannuto No paper reviews this week, just read and think about these:
Week 2: Great Deployments Past
Jan 13 Indoors & Outdoors Pannuto
For those wanting more...
Jan 15 Cities and the People in Them Pannuto Sign up for one discussion to lead by submitting a pull request. Conflicts resolved by pull request timestamp (first come, first serve).

For those wanting more...
Week 3: Building a Platform
Jan 20 MLK Day Project proposals due. Submit via e-mail to
Jan 22 Building blocks & Sensor System Architectures Pannuto No review for the last one, but please do read it:
Week 4: Joule Rules Everything Around Me
Jan 27 Energy Harvesting and Fair Sharing Xiaofan
Jan 29 Whither intermittent computing? Pannuto
Week 5: Communication
Feb 3 Project Workshop Day Pannuto Bring printed copies of initial drafts to class.
Feb 5 Great Ideas in Traditional Communication Sushmitha
For those wanting more...
Week 6: Communication is always the hardest part
Feb 10 Wild Ideas in Non-Traditional Communication Renjie

In the spirit of communication...

One of the suggestions from the excellent New Computing Faculty Workshop is to collect some anonymous feedback midway through the term. They provide the simple Keep-Quit-Start template as one mechanism for this. Largely as an exercise in keeping myself honest, I wanted to share what I gathered from this feedback as well as what I have and will do to try to improve:

  • Discussions (generally great)
    • Interesting, friendly, accessible to all, good energy; keep going with this
    • Discussion lead is helpful task, but TODO: Get pre-presentation feedback to leads earlier (requires slides to me early too!).
    • Context for work is good, but Done: Give more background prior next readings (1: Added explicit pre-reading questions; 2: Consistent “preview of next class” at the end of each class).
    • Whiteboard: supporting explanations great. The whiteboard lectures better than slides. Done: More whiteboard, fewer slides (when I lead).
    • Upload slides/notes on the course website, Done: They're here already! (Click the titles)
    • Circle the desks again/reliably, Done: We'll do this moving forward.
    • Can get lost, especially for harder more complex topics; sometimes feels scattered, TODO: Maybe a post-lecture summary? Maybe an assigned note-taker each day?
  • Reviews
    • Working well; very helpful to document own perspectives in advance
    • Peer-review of course proposals were very good. TODO: Consider second review session?
  • Misc
    • The class size is good, valuable.
    • Platform for out-of-class discussion? Done: Set up a slack channel.
    • Good breadth of work, topics, but TODO: Clearer outline of the course plan (why this order, these papers?).
    • More consistently finish on time, Done: This is a team one however, we will also more aggressively start on time, rather than waiting for folks to trickle in.
    • Provide tutorials, resources for people without background in an area, TODO: Try to add links to syllabus where I can.
    • Recordings/Podcast the discussions, TODO: I'm not sure this is easy to capture well (without mic'ing everyone?); will investigate.
    • Bring snacks? TODO: Maybe, no promises :)

KQS also invites self-reflection on what class participants can continue to do or improve on. Similarly here's some of those ideas, and in particular what I will try to do to help everyone reach their goals:

  • Discussion
    • (some) Participating well and it's useful; (others) Want to participate more / more consistently; TODO: I will make more effort to actively account and ensure everyone speaks every day
    • Finding presentations from original authors helpful
    • Finding and reading beyond paper (books, online articles) as background helpful
    • (some) Actually / reliably reading very valuable; (others) need to read more deeply / more in advance; read other classmates reviews in advance; Done: After class vote, reviews are now due the day before class.
  • Project
    • Appreciate that project tied to my interest as well as class goals
    • More offline discussion of the project, guidance; TODO: Explicit OH invitation for those I haven't met with 1:1?
Feb 12 Sharing Spectrum
Week 7: Embedded Operating Systems
Feb 17 President's Day Project drafts due. Submit via e-mail to
Feb 19 What's an application, an OS, in an embedded context?
Pre-reading questions:
  • What are the requirements of multi-processing?
  • Why have prior embedded systems been single-task, what is changing?
For those wanting more...
Week 8: Sensors as Computational Platforms
Feb 24 ML at the Very Edge
Pre-reading questions:
  • How to decide between edge, local compute?
  • What is, and is not, different about edge compute capabilities?
  • How to manage whole ML systems (training, execution, updates)?
Feb 26 Distributed Computing and Task Planning
Pre-reading questions:
  • What are the tradeoffs between centralized and decentralized compute models?
  • How to express heterogeneity of compute capability? How is the heterogeneity different from prior distributed systems?
Week 9: Security
Mar 2 Trusting sensors and data
Pre-reading questions:
  • How would you express the trust/threat model of physically deployed sensing systems?
  • How do we balance pragmatism and security; in theory, in practice?
Ke Sun
Mar 4 Blockchain → secure?
Pre-reading questions:
  • What properties to blockchains actually provide?
  • How can we enforce or prove the state of the physical world?
Eric Weise
Week 10: Ethical Considerations & Societal Impact
Mar 9 TBA Pannuto
Mar 11 TBA Pannuto

Final Exam / Presentations

Instead of a final exam, we will have a "mini-conference" where each project will give a conference-style presentation on their research project.

The class was assigned a final exam timeslot of 8-11am, Friday, March 20th. We'll probably stick with Friday, March 20th as a date, but if it works for everyone's schedules, we can try to find a not-8am time slot for this as a group.