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.


Overview

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.

Prerequisites

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.

Syllabus

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.

Participation

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.

Schedule

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 ppannuto@ucsd.edu.
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 ppannuto@ucsd.edu.
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?
Nagesh
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)?
Gayathri
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?
Wenshan
For those wanting more...
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 Remote Project Work

In the face of the growing concerns around the Coronavirus, we have been asked to explore various mechanisms to minimize in-person meetings. As the mid-quarter feedback expressed interest in more peer feedback on projects, we're going to try aligning these efforts.

I do want to still post some of the readings around the implications and growth of IoT. We may be able to use some of the final exam time to talk about these topics, depending what the world looks like in two weeks.

Mar 9 Due by Midnight

Submit an updated draft of your project report to HotCRP.

Reviews will be assigned at this time.

Mar 11 Due by Midnight Each person will be assigned to review two other project proposals, similar to how we have reviewed papers from class. The goal is to provide constructive feedback to your peers for their final reports.

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.

COVID-19 Updated Final Presentation Plans

Each project will create a final presentation and prepare a video recording of the talk. You can use any technology that makes sense to prepare and host the recording; several folks have suggested OBS as a good presentation recording solution, please share others with the class if you know of them. If you are okay with sharing your work publicly, I think YouTube will be the easiest video sharing mechanism. You are of course welcome to simply create a local video file and share it with me by any other means as well (Dropbox, GDrive, etc).

For some examples of well-made research presentation videos, I encourage you to watch some talks from ASPLOS 2020.

Some guidelines for your presentation:

  • Length:
    • For 1-person teams, videos should target around 8:00 minutes in length (no shorter than 6:00, no longer than 12:00).
    • For 2-person teams, videos should target around 10:00 minutes in length (no shorter than 8:00, no longer than 15:00).
  • The video should include a demo component that highlights the system you have built in operation. Take some time with this (around 2:00)! Show off your hard work and all the cool things it does!
  • Try to tell a story with your presentation. Here is one rough template (you do not have to follow this precisely, it is simply an example of how to organize such a presentation):
    • Begin with an introduction that lays out the problem and why it is important [about 1:00]
    • Then, succinctly explain what you actually built/did [about 0:30]
      • What is the hypothesis you are exploring in this work?
    • [Demo opportunity here]
    • Next, look at some of the related work in this problem space, how does your solution differ from what came before? What ideas do you build on? [about 1:00]
    • After that, look at how you designed your system. What tradeoffs did you have to consider in your design, what choices did you make in how to build your system and why did your make those choices? [about 2:00]
    • Now, answer the question does it work. Talk about how you evaluated your system (and why that is a reasonable evaluation); compare this with prior systems if appropriate [about 2:30]
    • [Demo opportunity here]
    • Finally, what is the impact and result of this work? Tie back to your hypothesis. What questions might someone interested in this want to explore further? [about 1:00]
    • [Demo opportunity here]

For those projects who are willing, we'll post final papers and presentation videos here on the course website.

We'll push the deadline a bit for this as well. I do still have a deadline on the other end to submit grades, so I can't go much later than this:

  • Submit your final project writeup and video (link) to me via e-mail by Sunday, March 22 AoE.

Thanks again to one and all for wonderful discussions and a very fun class—I hope you had fun as well. An enormous thank you for your flexibility as we work through the end of this quarter as best we can. I'm looking forward to seeing everyone's videos, and catching you all on campus in the future when this has all settled down a bit.