Topics in Embedded Systems and Communication

CSE291 I00 - Fall 2019

Meets on Tu/Th from 3:30pm to 4:50pm in CSE 2154.
The instructor is Aaron Schulman (aka Aaron Shalev) and he lives in CSE 3120.
Office hours are Tu/Th from 11:00am to 11:50am in CSE 3120.

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.

Prerequisites

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

Grading Criteria

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%).

Instructions for Notes Assignment

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:

  • What is the problem the paper addresses?
  • Why is the problem important?
  • What is the proposed solution?
  • What were the challenges that the authors faced?
  • How did the authors evaluate their solution?
  • What falls outside the scope of this paper?
(some text borrowed from Prabal Dutta's project proposal notes)

Your discussion-lead notes should consist of a list of the questions that you plan to use to seed the in class discussion.

Schedule

Day Topic Preparation for class
Week 1: Introduction to emdedded and mobile research
Th Sep 26 Introduction Lecture Slides
Week 2: How it all started
Tu Oct 1 Defining Ubiquitous (and Mobile) Computing 1. The Computer for the 21st Century
2. Some Computer Science Issues in Ubiquitous Computing
Th Oct 3 IoT and Class Projects 1. The Internet of Things
2. Discuss project ideas idea selection due next Tue. (Oct 8)