CS G518: Internet of Things: Design and Development


About the course

CS G518 is a graduate level course that aims at providing a sound conceptual and hands-on foundation in the area of IoT. The course attempts to provide a balanced treatment of the mechanisms and environments of IoT and initiates senior CS students to the state-of-the-art in the area. At the end of this course, students should be able to conceptualize, analyze, and design IoT systems. We will learn the OSes, wireless network technologies, and programming languages that such systems utilize. We will use REST-ful APIs to retrieve data from sensors and use simple signal processing, Machine Learning, and Artificial Intelligence techniques to summarize the data.

Prerequisites

Students should have completed the Computer Programming course and Operating Systems course before enrolling for CS G518

Instructors

Prof. Sougata Sen (sougatas AT goa DOT bits DASH pilani DOT ac DOT in)

Schedule

Classes hours: MWF 12 to 12:50 PM
No graduate level course can depend on only one book. Text books are being mentioned here only for providing a useful point of reference in keeping with the current practice.
T1: Arshdeep Bagha and Vijay Madisetti,”Internet of Things: A Hands-on Approach”, University Press (India) Pvt. Ltd. (2015) ISBN 10: 8173719543 ISBN 13: 9788173719547
T2: Surya Durbha and Jyoti Joglekar, “Internet of Things”, Oxford University Press, (2021), ISBN: 0190121092, 9780190121099
T3: Adrian McEwen and Hakim Cassimally, “Designing the Internet of Things”, Wiley Publication (2013), ISBN 9781118430651, 1118430654
T4: Qusay Hassan, “Internet of Things A to Z: Technologies and Applications” IEEE Press, Wiley (2018), ISBN: 978-111-945674-2
T5: Pete Warden and Daniel Situnayake, “TinyML” O’Reilly Publication (2019), ISBN: 9781492052043

This course will refer to several recent conference and journal papers. Details and link to these papers will be provided in Canvas.
Lec # Date Tag Topic Covered Due date for (all times are at 5 PM) Slides / other resource link Remarks
1 23/8/2021 Lec: Intro Introduction to the course  - 

Slide

Recording (Links to an external site.)

2 25/8/2021 Lec: Intro Logical diagram of IoT deployment; Levels of deployment -

Slide

Recording (Links to an external site.)

Optional reading before class:

Nam Bui et al. 2021. EBP: an ear-worn device for frequent and comfortable blood pressure monitoring. Commun. ACM 64, 8 (August 2021), 118–125. DOI:https://doi.org/10.1145/3470446

3 27/8/2021 Lec: Intro Application of IoT: home automation, smart cities, energy, agriculture, healthcare, environment, logistics, wildlife -

Recording (Links to an external site.)

Slide

Complementary Applications Slide

 

 

Optional reading before class:

Werner-Allen, Geoff, et al. "Fidelity and yield in a volcano monitoring sensor network." Proceedings of the 7th symposium on Operating systems design and implementation. 2006.

30/8/2021 Pro: Title due Holiday: No class Project group names and project title
4 1/9/2021 Lec: Intro IoT protocol stack, IoT vs. CPS, IoT vs. M2M, IoT vs. IoV, IoT vs. V2X, IoT vs. WSN.

Recording (Links to an external site.)

Slide

 

5 3/9/2021

 

Lec: Design

IoT design methodology: Specification and development

Recording (Links to an external site.)

Slide

Optional reading before class:

Ngu, A. H., Gutierrez, M., Metsis, V., Nepal, S., & Sheng, Q. Z. (2016). IoT middleware: A survey on issues and enabling technologies. IEEE Internet of Things Journal4(1), 1-20.

https://ieeexplore.ieee.org/abstract/document/7582463

6 6/9/2021 Lec:Design&Dev Understanding working and applications of Sensors and actuators

Recording (Links to an external site.)

Slide

7 8/9/2021 Lec:Design&Dev Understanding working and applications of Sensors and actuators; Available tools and techniques to develop IoT applications

Recording (Links to an external site.)

Slide

Optional reading before class:

Daniel A. Winkler and Alberto E. Cerpa. 2019. WISDOM: watering intelligently at scale with distributed optimization and modeling. In Proceedings of the 17th Conference on Embedded Networked Sensor Systems (SenSys '19). Association for Computing Machinery, New York, NY, USA, 219–231. DOI:https://doi.org/10.1145/3356250.3360023

10/9/2021 Pro: Abstract due Holiday: No class Project abstract and high level plan due
11/9/2021 Pap:Critique due File Charles E. Catlett, Peter H. Beckman, Rajesh Sankaran, and Kate Kusiak Galvin. 2017. Array of things: a scientific research instrument in the public way: platform design and early lessons learned. In Proceedings of the 2nd International Workshop on Science of Smart City Operations and Platforms Engineering (SCOPE '17). Association for Computing Machinery, New York, NY, USA, 26–33. DOI:https://doi.org/10.1145/3063386.3063771
8 13/9/2021 Lec:Design&Dev

Arduino tutorial — the hardware stack, what is MCU, what it does. Programming Arduino devices

Recording (Links to an external site.)

Slide

Hands-on session (if possible)

 

 

9 15/9/2021 Lec:Dev&Prog Arduino tutorial — the software stack. IoT middleware and firmware examples

Recording (Links to an external site.)

Slides

Tutorial Session

10 17/9/2021 Lec:Dev&Prog Arduino programming and interfacing with
sensors and GPIOs, 

Recording (Links to an external site.)

UART Demo (Links to an external site.)

DigitalPin Demo (Links to an external site.)

Slides

11 20/9/2021 Lec:Dev&Prog Introduction to other IoT development platforms

 

Recording (Links to an external site.)

Slides

12 22/9/2021 Lec:Dev&Prog Programming IoT: Introduction to Python,

Recording (Links to an external site.)

Slides

13 24/9/2021 Lec:Dev&Prog Introduction to Raspberry Pi interfacing, 

Recording (Links to an external site.)

Slides

25/9/2021 Pap:Critique due File Palanivel A. Kodeswaran, Ravi Kokku, Sayandeep Sen, and Mudhakar Srivatsa. 2016. Idea: A System for Efficient Failure Management in Smart IoT Environments. In Proceedings of the 14th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys '16). Association for Computing Machinery, New York, NY, USA, 43–56. DOI:https://doi.org/10.1145/2906388.2906406
14 27/9/2021 Lec:Dev&Prog

IoT design methodology: Specification and development; Architecture for IoT Middleware: Reference Model, Service-Based IoT, Cloud-Based IoT, Actor-Based IoT, Key Challenges for IoT Middleware

Slides

Recording (Links to an external site.)

Optional Reading:

Suman Nath. 2012. ACE: exploiting correlation for energy-efficient and continuous context sensing. In Proceedings of the 10th international conference on Mobile systems, applications, and services (MobiSys '12). Association for Computing Machinery, New York, NY, USA, 29–42. DOI:https://doi.org/10.1145/2307636.2307640

15 29/9/2021 Lec:Comm

Architecture for IoT Middleware; Protocol stack for IoT: introduction to protocol stack, difference between OSI model and IoT protocol stack, understanding physical and link layer

Slides

Recording (Links to an external site.)

16 1/10/2021

Lec:Comm

Pro: Method

Protocol stack for IoT: introduction to protocol stack, difference between OSI model and IoT protocol stack, understanding physical and link layers Project: literature review and methodology due

Slides

Recording (Links to an external site.)

17 4/10/2021 Lec:Comm Wi-Fi HaLow, Bluetooth Low Energy, 

Slides

Recording (Links to an external site.)

18 6/10/2021 Lec:Comm IPv4, IPv6, 6LoWPAN

Slides

Recording (Links to an external site.)

19 8/10/2021 Lec:Comm

CoAP, MQTT, XMPP

 

 

 

Slides

Recording (Links to an external site.)

9/10/2021 Pap:Critique due File Sougata Sen and David Kotz. 2020. VibeRing: using vibrations from a smart ring as an out-of-band channel for sharing secret keys. In Proceedings of the 10th International Conference on the Internet of Things (IoT '20). Association for Computing Machinery, New York, NY, USA, Article 13, 1–8. DOI:https://doi.org/10.1145/3410992.3410995
20 11/10/2021 Lec:Comm

Impact on network performance due to IoTs; Interfacing with Cloud: introduction to cloud services for IoT, Uploading, storing and downloading data to/from IoT devices,

Slides

Recording (Links to an external site.)

21 12/10/2021 Lec:Comm Potential solutions to network performance with NFV, SDN, VMs; Cloud, cloudlets, fogs

Slides

Recording (Links to an external site.)

Friday routine followed on Tuesday
22 13/10/2021 Lec:ML Processing data from IoT devices

Slides

Recording (Links to an external site.)

15/10/2021 No class
18/10/2021 No class
20/10/2021 No class
22/10/2021 No class
25/10/2021 No class
23 27/10/2021 Lec:tinyML Introduction to Deep Learning and Tensorflow.

Slides

Recording (Links to an external site.)

Optional reading:

https://petewarden.com/2018/06/11/why-the-future-of-machine-learning-is-tiny/

24 29/10/2021 Lec:TinyML Using TensorFlowLite in IoT applications

Slides

Recording (Links to an external site.)

Colab1 (Links to an external site.)

Colab2 (Links to an external site.)

Optional reading:

David, Robert, Jared Duke, Advait Jain, Vijay Janapa Reddi, Nat Jeffries, Jian Li, Nick Kreeger et al. "Tensorflow lite micro: Embedded machine learning on tinyml systems." arXiv preprint arXiv:2010.08678 (2020).

https://arxiv.org/abs/2010.08678

30/10/2021 Pap:Critique due File Swadhin Pradhan and Lili Qiu. 2020. RTSense: passive RFID based temperature sensing. In Proceedings of the 18th Conference on Embedded Networked Sensor Systems (SenSys '20). Association for Computing Machinery, New York, NY, USA, 42–55. DOI:https://doi.org/10.1145/3384419.3430729
1/11/2021 No class
3/11/2021 No class
5/11/2021 No class
25 8/11/2021

Lec:TinyML

Pap:Critique due

Using TensorFlowLite in IoT applications

Slides

Recording (Links to an external site.)

File

Valentin Radu, Catherine Tong, Sourav Bhattacharya, Nicholas D. Lane, Cecilia Mascolo, Mahesh K. Marina, and Fahim Kawsar. 2018. Multimodal Deep Learning for Activity and Context Recognition. Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 1, 4, Article 157 (December 2017), 27 pages. DOI:https://doi.org/10.1145/3161174
26 10/11/2021 Lec:TinyML Using TensorFlowLite in IoT applications

Slides

Recording (Links to an external site.)

Hands-on session (if possible)
27 12/11/2021 Lec:Evaluation Evaluating IoT systems. Understanding user studies, experimental setup, performance measures, data visualization approaches No Class- Waves
28 15/11/2021

Lec:Evaluation

Pap:Critique due

Evaluating IoT systems. Understanding user studies, experimental setup, performance measures, data visualization approaches

Slides

Recording (Links to an external site.)

File

Paper critiquing: Hoang Truong et al. 2020. Painometry: wearable and objective quantification system for acute postoperative pain. In Proceedings of the 18th International Conference on Mobile Systems, Applications, and Services (MobiSys '20). Association for Computing Machinery, New York, NY, USA, 419–433. DOI:https://doi.org/10.1145/3386901.3389022
29 17/11/2021 Lec:Wearables Introduction to wearable computing, challenges in wearable computing, power and memory awareness

Slides

Recording (Links to an external site.)

Class discussion on:

Likun Fang, Tobias Röddiger, Hongye Sun, Norbert Willenbacher, and Michael Beigl. 2020. FLECTILE: 3D-printable soft actuators for wearable computing. In Proceedings of the 2020 International Symposium on Wearable Computers (ISWC '20). https://doi.org/10.1145/3410531.3414307 (Links to an external site.)

 

Jingxian Wang, Chengfeng Pan, Haojian Jin, Vaibhav Singh, Yash Jain, Jason I. Hong, Carmel Majidi, and Swarun Kumar. 2019. RFID Tattoo: A Wireless Platform for Speech Recognition. Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 3, 4, Article 155 (December 2019), 24 pages. https://doi.org/10.1145/3369812 (Links to an external site.)

 

Sougata Sen, Sunghoon Ivan Lee, Robert Jackson, Rui Wang, Nabil Alshurafa, Josiah Hester, and Jeremy Gummeson. 2020. Towards Battery-Free Body Sensor Networks. In Proceedings of the 8th International Workshop on Energy Harvesting and Energy-Neutral Sensing Systems (ENSsys '20). https://doi.org/10.1145/3417308.3430275 (Links to an external site.) 

30 18/11/2021 Lec:Wearables Introduction to wearable computing, challenges in wearable computing, power and memory awareness

Slides

Recording (Links to an external site.)

Friday’s Time Table to be followed

 

Class discussion on: 
T. Starner, "The challenges of wearable computing: Part 1," in IEEE Micro, vol. 21, no. 4, pp. 44-52, July-Aug. 2001, doi: 10.1109/40.946681.

 

T. Starner, "The challenges of wearable computing: Part 2," in IEEE Micro, vol. 21, no. 4, pp. 54-67, July-Aug. 2001, doi: 10.1109/40.946683.

31 22/11/2021 Lec:Battery-free Introduction to intermittent computing. Understanding breakpoints during limited power availability. Use cases

Slides

Recording (Links to an external site.)

Class discussion on: 
Lucia, Brandon, Vignesh Balaji, Alexei Colin, Kiwan Maeng, and Emily Ruppel. "Intermittent computing: Challenges and opportunities." In 2nd Summit on Advances in Programming Languages (SNAPL 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2017.

Umesh, Sumanth, and Sparsh Mittal. "A survey of techniques for intermittent computing." Journal of Systems Architecture 112 (2021): 101859. https://www.sciencedirect.com/science/article/pii/S1383762120301430
32 24/11/2021 Lec:Battery-free Introduction to intermittent computing. Understanding breakpoints during limited power availability. Use cases

Slides

Recording (Links to an external site.)

Class discussion on: 

Seulki Lee, Bashima Islam, Yubo Luo, and Shahriar Nirjon. 2019. Intermittent Learning: On-Device Machine Learning on Intermittently Powered System. Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 3, 4, Article 141 (December 2019), 30 pages. DOI:https://doi.org/10.1145/3369837

33 26/11/2021 Lec:Security Introduction to security protocols for IoT.
Application Security, approaches to preserve privacy, federated learning

Slides

Recording (Links to an external site.)

Class discussion on: 

Ammar, Mahmoud, Giovanni Russello, and Bruno Crispo. "Internet of Things: A survey on the security of IoT frameworks." Journal of Information Security and Applications 38 (2018): 8-27.

34 29/11/2021 Lec:Security Introduction to security protocols for IoT.
Application Security, approaches to preserve privacy, federated learning

Slides

Recording (Links to an external site.)

Class discussion on: 

David Kotz and Travis Peters. 2017. Challenges to ensuring human safety throughout the life-cycle of Smart Environments. In Proceedings of the 1st ACM Workshop on the Internet of Safe Things (SafeThings'17). DOI:https://doi.org/10.1145/3137003.3137012

35 1/12/2021

Lec:Case-Study

 

IoT design case studies: smart lighting, weather
monitoring, forest fire detection, smart
irrigation, IoT printer, IoT Health Care.

Slides

Recording 1 (Links to an external site.)

Recording (Links to an external site.)2

H. -N. Dai, Z. Zheng and Y. Zhang, "Blockchain for Internet of Things: A Survey," in IEEE Internet of Things Journal, vol. 6, no. 5, pp. 8076-8094, Oct. 2019, doi: 10.1109/JIOT.2019.2920987.
36 3/12/2021 Pro: Presentation Project Presentation by Groups 1,2,3,4,5
37 6/12/2021 Pro: Presentation Project Presentation by Groups 6,7,8,9,10
38 8/12/2021

Pro: Presentation

Pro:Final

Project Presentation as demo session by all Groups: Open to all Research paper of project Recording (Links to an external site.)

Tools

Communication : Slack
LMS: Canvas
Class: Google Meet