6.808/MAS.453: Mobile and Sensor Computing, Spring 2021

Instructors: Fadel Adib

TAs: Mihir Trivedi (mihirt@mit.edu), Bhavik Nagda (bnagda@mit.edu)

Course Staff Email: 6808@mit.edu

Lectures: Mon/Wed 3-4:30pm on Zoom

Office Hours:

  • Fadel: By appointment

  • TA (on Zoom):

    • Monday (4:30pm-5:00pm)

    • Tuesday (10:00am-11:00am)

    • Thursday (7:00pm-8:00pm)

Course Overview

The ubiquity of sensor-equipped smartphones, combined with the widespread availability of low-power wireless communication and sensing modules, has led to a renewed interest in sensor computing, aka the “Internet of Things” (IoT). 6.808 is an advanced undergraduate course designed to study the fundamental sensing, computing, and communication software technologies at the core of the recent flurry of activity on IoT. In addition to exposure to fundamental technologies (power management, positioning, ranging, wireless radios, inertial sensors, etc), students will learn how to design and implement (1) libraries and applications on mobile devices that interact with internal and external sensors, (2) server-side modules for computation and storage, and (3) embedded software.

Topics include the principles, practices, and emerging applications in:

  • Positioning technologies, including GPS, WiFi and cellular localization

  • Wireless networking, including BLE, WiFi, Zigbee, as well as multi-hop and store-and-forward (“muling”)

  • Resource constraints, including power, bandwidth, and storage

  • Inertial sensing, including accelerometers, gyroscopes, IMUs, dead-reckoning

  • Other types of sensors, e.g., microphones and cameras

  • Application studies

  • Embedded hardware and software architecture

  • Embedded system security

  • iOS APIs for accessing various sensing and wireless networking technologies


  • Make sure to fill out the pre-class survey and the first day survey

  • The lab sections input by the registrar (for Tuesday/Thursday) in WebSis are not relevant for now — we have reserved space in E14 to host optional, in-person office hours later in the semester. You do not need to be available during those lab hours. Office hours will be available online throughout the semester.

About the Course


12 (3-0-9). Requirements satisfied: AUS2, DLAB2, and II


6.033 or 6.08 or 6.01 or 6.02 or equivalent (or permission of instructor).

Grading policy

Grading in 6.808 will consist of 5 labs, a midterm, a final project, 2 psets, and class participation, broken down as follows:

  • Labs: 25%

  • Midterm: 15%

  • Psets: 10% (2 at 5% each)

  • Final Project: 40%

  • Participation: 10%


We expect you to attend all lectures, unless there are pressing or unforeseen conflicts. Conflicts that are persistent (e.g., registering for another class at the same time and “splitting” attendance between them) are not excused.


Most classes have reading questions. Please send your response to the questions to Google forms here before class. Answers will be accepted by any time before the class starts. Each student may skip one question during the semester without affecting their grade. This is a part of the participation score.

Labs and Software Development

The class will involving programming for iPads in XCode, which requires a Mac for development. We will loan out Macs and iPads to students who do not have them.

Late Policy

You have a total of 72 late hours for the semester. You can choose to use these however you want: e.g., 5 hours for Lab1, 4 for Lab2, etc.

Each hour late in excess of 72 hours will penalize the corresponding lab's grade by 1%, up to a maximum of 50%. Late hours are allocated greedily, so they are allocated to earlier labs before later labs.

How to best use late hours? Late hours are intended for cases where you fall behind due to deadlines in other classes, job interviews, MIT athletic events, illness, etc. For extensions under extenuating circumstances (e.g., you are sick for a week), we require a letter from one of the student deans.


There will be one midterm, in-class on April 28.