Embedded computing devices such as smartphones, wearables, and IoT devices have overtaken PCs as the predominant platform for computation and communication with billions of devices in use. The shift to the embedded platform has brought with it a host of new challenges. Embedded devices have severely constrained energy capacity, their network connectivity is exclusively provided by unreliable bandwidth-constrained wireless links, they carry a standard set of sensors that are seemingly insufficient for certain applications and also can inadvertently leak private information about their users. Also, embedded devices are notoriously difficult to secure because they lack hardware security primitives.
In this course, we will discuss research that addresses the challenges introduced by the mobile platform by inspecting the blurry lines between electrical engineering and computer science.
As with many other research seminars, the course will be predominately a discussion of a set of research papers. However, we will also discuss the origins of these research projects, the impact that they had on the research community, and their impact on industry (spoiler alert: the impact on industry generally is hard to predict). The course will also include a quarter-long project that will result in a draft of a conference-style paper.
Students must have taken an undergraduate systems course, either networking or operating systems. Some experience with embedded systems (e.g., Arduino hacking) and wireless communication (e.g., Software Defined Radios such as the RTL-SDR) is preferred.
If you would like to quickly spin up on embedded systems, read the following chapters from MIT's 6.02 course from MIT OpenCourseWare: 4, 10, 14, 15. Read the following chapters in "Introduction to Embedded Systems" by Lee & Seshia: 7, 8, 10, 17
If you are taking the course for full credit (4 credits - letter grade), grading will be based on the following breakdown: Individual or group project (50%), paper notes and discussion lead (25%), and class participation (25%).
If you are taking the course for partial credit (2 credits - pass/fail), grading will be based on the following breakdown: paper notes and discussion lead (50%) and class participation (50%).
Your discussion notes should serve the following two purposes: as a quick reference guide for the paper and as an outline of the discussion that you will lead in class.
You should answer the following questions about the paper for the quick reference guide:
Your discussion-lead notes should consist of a list of the questions that you plan to use to seed the in class discussion.
Day | Topic | Preparation for class |
---|---|---|
Week 1: Introduction to emdedded and mobile research | ||
Th Sep 26 | Introduction Lecture | |
Week 2: How it all started | ||
Tu Oct 2 | Defining Ubiquitous (and Mobile) Computing |
1. The Computer for the 21st Century 2. Some Computer Science Issues in Ubiquitous Computing |
Th Oct 4 |
1. Defining Internet of Things 2. Discuss project ideas |
1. The Internet of Things 2. Project idea selection due next Thu. (Oct 11) |
Week 3: Energy efficency | ||
Tu Oct 9 |
1. Classic work on mobile energy efficiency 2. The pros and cons of energy modeling |
1. Energy-aware adaptation for mobile applications 2a. Fine Grained Energy Accounting on Smartphones with Eprof 2b. Evaluating the Effectiveness of Model-Based Power Characterization |
Th Oct 11 |
1. Making sleep less painful 2. Project proposal discussion and finalize paper lead assignments |
1. Drowsy Power Management 2. One-page project proposal writeup due Monday at 10:00pm (please email it to schulman@cs.ucsd.edu). 3. Paper lead should be selected before class. Sign-up sheet will be posted here by Tuesday at 10:00pm. |
Week 4: Localization | ||
Tu Oct 16 | Indoor localization |
1. SpotFi: Decimeter Level Localization Using WiFi 2. Luxapose: Indoor Positioning with Mobile Phones and Visible Light |
Th Oct 18 | Discussion on indoor localization & efficient outdoor localization |
1. Indoor Localization: Are We There Yet? 2. Caraoke: An E-Toll Transponder Network for Smart Cities |
Week 5: Projects | ||
Tu Oct 23 | Discussion of project proposals | |
Tu Oct 23 | No class (CNS Workshop) | |
Week 6: Movement and Sharing | ||
Tu Oct 30 | Sensing human movement |
1. LiveTag: Sensing Human-Object Interaction Through Passive Chipless WiFi Tags 2. Wall++: Room-Scale Interactive and Context-Aware Sensing |
Th Nov 1 | Multi-tasking on embedded systems |
1. Multiprogramming a 64 kB Computer Safely and Efficiently 2. Amulet: An Energy-Efficientm Multi-Application Wearale Platform |
Week 7: Applications and Security | ||
Tu Nov 6 | IoT for Agriculture |
1. FarmBeats: An IoT Platform for Data-Driven Agriculture 2.Wi-Wheat: Contact-Free Wheat Moisture Detection with Commodity WiFi |
Th Nov 8 | Latest IoT Security Issues |
1. BlackIoT: IoT Botnet of High Wattage Devices Can Disrupt the Power Grid 2. Skill Squatting Attacks on Amazon Alexa |
Week 8: Projects and Humans | ||
Tu Nov 13 | Project Hackathon | |
Th Nov 15 | Sensing human emotion and poses |
1. Emotion Recognition using Wireless Signals 2. Through-Wall Human Pose Estimation Using Radio Signals |
Week 9: Scheduling | ||
Tu Nov 20 | Real-Time Garbage Collection |
1. Generalized Rate-Monotonic Scheduling Theory: A Framework for Developing Real-Time Systems 2. List Processing in Real Time on a Serial Computer |
Th Nov 22 | No class (Thanksgiving) | |
Week 10: Safety | ||
Tu Nov 27 | Memory isolation for IoT devices |
1. Application Memory Isolation on Ultra-Low-Power MCUs 2. Efficient Memory Safety for TinyOS |
Th Dec 4 | Hackathon | |
Week 11: Project presentations |