6.S062: Mobile and Sensor Computing, Spring 2018

Instructors: Hari Balakrishnan and Fadel Adib

TAs: Richard Song (rsong@mit.edu)

Lectures: Tue/Thr 1:00-2:30pm at 32-141

Office Hours:

  • Hari and Fadel: By appointment

  • Richard: Mon 4pm-5pm and Wed 4pm-5pm in the 32-G9 lounge

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.S062 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

Announcements

  • Sign up for the 6.S062 Piazza forum. We'll be using Piazza for Q&A and other discussions, so please sign up ASAP.

  • The iOS tutorial will be from 2:30pm-4pm on Friday, February 9 at 26-168.

About the Course

Units

12 (3-0-9). Requirements satisfied: AUS

Prerequisites

6.033 or equivalent (or permission of instructor).

Grading policy

Grading in 6.S062 will consist of 4 labs, a midterm, a final project, and class participation, broken down as follows:

  • Labs: 25%

  • Midterm: 25%

  • Final Project: 40%

  • Participation: 10%

Readings

Many classes have reading questions. Please send your response to the questions to 6s062-submit@mit.edu before class (please submit from an mit.edu email address.)

Labs and Software Development

The class will involving programming for iPhones in XCode, which requires a Mac for development. The W20 athena cluster has Macs with XCode installed (select XCode from Launchpad, and then enter your Athena username and password to accept the license agreement). We will loan out iPhones for you use if you do not have a personal iPhone.

Midterm

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