EN.601.716 Advanced Topics in Internet of Things

Graduate course, Johns Hopkins University, Computer Science Department, 2024

Still under construction

Course time: TuTh 12-1:15p
Location: Hodson 303
Zoom link for remote participants (Note JH SSO Login required, in person preferred)

Instructor: Renjie Zhao
Office: Malone Hall 231
Office hours: tentatively on Wednesday, and by appointment

CA: Jienan Chen, jchen394 AT jhu dot edu

Claim: this course is designed based on UCSD CSE 291 by Prof. Pat Pannuto.

Quick Links: Paper Reviews | Participation | Class Project | Schedule | Final Exam / Presentations

Overview

IoT represents a paradigm shift in computing, aiming to bridge the gap between the physical and digital worlds. Its development has opened up new possibilities, including mobile health, smart homes, industrial automation, and more. Throughout the course, students will delve into advanced topics such as IoT networking, mobile and edge computing, embedded machine learning, wireless sensing, human-computer interaction, and mobile health applications. To excel in this course, students are expected to engage in pre-class readings, active in-class participation, and complete a semester-long project. The focus of the course will be on training research philosophy and principle instead of paper’s technical detail.

Syllabus

This class is made of three components: pre-class reviews, in-class participation, and a quarter-long project.

Paper reviews

Before each class you must read two papers and then write a short review.

1 Review Submission

We will use the HotCRP review system – the same tool used by many conferences to review papers. We will create accounts for all enrolled students during the first week of classes. If you need an account or have other issues, please e-mail me.

The review form is following the conferences in the field of computer networks and mobile computing. (Except the Reviewer expertise is replaced by Writing quality)

2 Guides

The review 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 main contribution of the paper? New research direction? Novel techniques? Solid system design?
What is the hypothesis of this paper?
How was the paper 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?

Since the papers covers a lot of different fields, you are not required to dig into every corner and totally understand every technical details. (No one is able to be an expert of all fields). You can go though the paper and focused on thinking the guiding questions.

3 Grading (40%)

No need to concern about the grading as long as you contribute enough efforts to the course. Every completed enough review counts 2 points. The lead is responsible to review the reviews and mark any missed or need improvement ones. Please use this sheet (TBD).

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.

The last 15 mins will be used for elevator pitch of the group projects.

1 Discussion Lead

Each paper has roughly 30 minutes of class time. For discussions, this should generally allow for a 5 minute introduction followed by 25 minutes of discussion.

When you are leading discussion, you have three primary responsibilities like a typical paper review lead:

  1. Prepare a summary presentation of the paper. This summary should be reasonably polished / prepared in advance. The summary should recount the major concepts introduced in the paper, give an overview of the core technical details, and crisply identify any hypotheses presented in the work, how they were evaluated, and any conclusions that can be drawn.

  2. Prepare and share a summary others’ paper reviews. Try to first identify any points of confusion or desired clarifications, so that we can start the discussion by getting everyone up to speed. Then propose (at least) three topics of discussion from the paper. Try to include (at least) one that looks at the paper’s strengths, one that looks at potential weaknesses, and one that looks beyond the ideas directly discussed in the paper. Share this summary and discussion prompts in the class slack before the start of class.

  3. Lead discussion! Start with your summary presentation, then any remaining clarifications, and then the more open-ended discussion segment. (Raise some questions for discussion.)

When you are discussion lead, you do not need to submit reviews.

2 Grading (20%)

10% for discussion lead and presentation.

10% for course participation. Checked by name tag. Ask for leave through email if you have reasonable excuse.

3 Project Elevator Pitch

In order to provide timely feedbacks on the projects during the whole semester, elevator pitch is introduced for project updates. The elevator pitch presentations are not needed to be well constructed. You can just briefly discuss what you have done recently.

There will be two pitches per course and every talk will take 5 mins. Stop watch will be used to notify the presenter. The arrangement will be flexible according to the time left after two main discussions.

Class Project

This class will feature a quarter long project of your own choosing.

There are different kinds of choices:

  1. Research project: 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.

  2. Reproduce and explore. If you do not have a specific project in mind, a good starting point might be picking some impactful papers (Best papers, most cited papers or test of time awarded papers). Reproduce the classic or already succeed projects and explore new directions. I will support some projects which aligns my interest.

You can reuse your own research project for the class project (as long as you can convince me it is related to the course topic). Please do notify us if you do so and the guidance and expectation will be adjusted accordingly.

Schedule

</table>
DateTopicLeadPre-Class Assignment
Week 1: Introduction and motivation
Jan 23IntroductionZhao
Jan 25 Ubiquitous ComputingZhao No paper reviews this week, just read and think about these:
Week 2: IoT and WSN
Jan 30Project grouping and discussion lead registration Work with Jienan to register your project group;
Sign up for to lead discussion by submitting a pull request.
Jan 30 Internet of Things
Pre-reading questions:
  • In the past two decades what are the new computer classes?
  • What kind of research needed in the field? Why CS and how does it different from science and most EE fields?
Zhao Read and review, get familiar with HotCRP:Recommended reading:
Feb 1 Wireless Sensor Network
Pre-reading questions:
  • What kinds of things are “obvious today,” but were new then?
  • Where do you place the line between what work “belongs to” research and industry?
  • Why do we (as researchers) bother doing deployments? (They're expensive, hard, require many person-hours...)
Zhao Read and review:
For those wanting more...
Week 3: Everything is an Energy Problem
Feb 6Project Milestone 1 DeadlineOne page proposal writeup that includes your hypothesis, motivation, and at least one experiment you intend to run.
Feb 6 Energy Harvesting and Early Insights
Pre-reading questions:
  • What's duty cycling? Why didn't we always do this?
  • What is the gap between power source and power consumption? What is the best power source?
  • How do we balance the lifetime of one device versus a system of devices? (Does it always matter if one node dies early?)
Put your name here! Read and review:
For those wanting more...
Feb 8 Intermittent Computing
Pre-reading questions:
  • What's the relation between power source and reliability? How do other system components affect this?
  • Is this actually new? What energy harvesting, embedded systems are common, established, and well-older than Pat? What's different now?
  • What's the definition of intermittent computing?
Put your name here! Read and review:
For those wanting more...
Week 4: Systems and Platforms
Feb 13 Hardware Platform Design
Pre-reading questions:
  • What are the research problems for the hardware platform?
  • What is the design focus of the hardware platforms?
  • What are the differences with traditional computer systems/classes?
Put your name here! Read and review:
For those wanting more...
Feb 15 Software Platform Design (aka Embedded OSes)
Pre-reading questions:
  • What are the requirements of multi-processing (or multi-app, and what's the difference)?
  • Why have prior embedded systems been single-task, what is changing?
Put your name here! Read and review:
For those wanting more...
Week 5: Communication (Part I)
Feb 20Introduction of Networking and StandardsZhaoPrepare draft of midterm report
Feb 22 Great Ideas in Traditional Communication
Pre-reading questions:
  • What is a MAC protocol, and why has there been so much academic research on them?
  • What is different (or not!) about WSN nodes versus phones, laptops, etc? What impact does that have on their communication mechanisms?
  • Do they considered the intermittent power availability?
Jienan Chen Read and review:
For those wanting more...
Week 6: Communication (Part II)
Feb 27Project Milestone 2 DeadlineThree to four page draft that includes a literature review ("Related Work"), proposed experiments, and their expected outcomes.
Feb 27 RFID
Pre-reading questions:
  • What does RFID stand for, and how does it differ from the communication schemes discussed last week?
  • Why do we need the implementation of WISP tag and the SDR based reader?
  • What is the core problems of RFID systems?
Put your name here! Read and review:
For those wanting more...
Feb 29 ULP Backscatter (HotMobile)
Pre-reading questions:
  • How does the backscatter design differ from RFID, and what makes it important?
  • Why there are a series of works on this topic?
  • What are the limitations of backscatter design?
Dingyu Zhang Read and review:
For those wanting more...
Week 7: Communication (Part III)
Mar 5Spectrum
Pre-reading questions:
  • How do devices communicate wirelessly? How do they utilize the spectrum?
  • What challenges arise when we want to connect thousands of embedded/IoT devices wirelessly?
  • Why is it important for us to understand how, when and who uses wireless spectrum?
Zhao Read and review:
For those wanting more...
Mar 7Project Workshop DayZhao Bring printed copies of revised project proposal drafts to class.
Week 8: Computing at edge
Mar 12 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)?
Yihao Liu Read and review:
For those wanting more...
Mar 14 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?
Put your name here! Read and review:
For those wanting more...
Week 9: Spring Break
Week 10: Wireless Sensing
Mar 26 Device Free Sensing
Pre-reading questions:
  • What are the difference between RADAR and device-free passive localization?
  • What is the difference with the device assisted localization?
  • Why does it attracts more interests? (Consider the concepts discussed in ubiquitous computing)?
Put your name here! Read and review:
For those wanting more...
Mar 28 Wireless Localization
Pre-reading questions:
  • What is the fundamental reason why we can use the wireless signal for localization?
  • What is the difference with RADAR? What makes it harder for device localization?
  • Did you hear about other techniques for wireless localization? Why location is important (especially for IoT)?
Put your name here! Read and review:
Week 11: Mobile Health
Apr 2 Remote Heart and Breath Monitoring Long Yuan Read and review:
For those wanting more...
Apr 4 With Mobile Device My Le Read and review:
For those wanting more...
Week 12: Human Computer Interaction
Apr 9 New Interface Ruirong Huang Read and review:
For those wanting more...
Apr 11 Feedback and Fusion Ao Luo Read and review:
Week 13: Security and Privacy
Apr 16 Individual Device Security
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?
  • How can we enforce or prove the state of the physical world?
Carson James Read and review:
For those wanting more...
Apr 18 (NSDI) Security for systems of devices
Pre-reading questions:
  • What properties do blockchains actually provide?
  • What risks are similar, different between IoT devices and more traditional computers?
Sidney Thybulle Read and review:
For those wanting more...
Week 14: SatCom or Final
Apr 23Project Milestone 3 DeadlineDraft version of 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.
Apr 23The last week might be used for final project. TBD Zhao To be arranged
Apr 25Sat IoT or flexible

Due by Midnight

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