50.046 Cloud Computing and Internet of Things

Home / Education / Undergraduate / Courses / 50.046 Cloud Computing and Internet of Things

Course Description

The Internet of Things and its integration with cloud computing are transforming our world in a fundamental way. This course teaches some of the essential IoT and cloud computing technologies from the ground up. Specific topics covered include IoT devices programming (Arduino), sensing technologies, IoT protocols (Zigbee, LPWAN, MQTT), and cloud-based IoT architectures and platforms. Students will learn how to design, develop, and deploy end-to-end cloud-based IoT applications, by identifying various performance bottlenecks and using proper cloud computing services to make the IoT architecture scalable.

Pre-requisite

Learning Objectives

  • Be able to explain the function principles of IoT device components, the design of IoT protocols, and the related architecture designs and technologies of cloud computing.
  • Be able to design cloud-based IoT applications and choose the proper cloud services.
  • Be able to analyze and optimize commercial cloud computing setups with respect to performance parameters.

Measurable Outcomes

  • List the functions of different Arduino and cloud computing components.
  • Use various sensors, Arduino libraries, IoT protocols, and cloud services.
  • Develop skills in systematic testing and debugging.
  • Identify bottlenecks of given IoT architectures.
  • Apply multiple cloud computing services to make IoT architectures scalable.
  • Discuss pros and cons of several cloud computing setups given performance constraints. Based on this reasoning, select and justify a component to be deployed among choices.
  • Design and implement a cloud-based IoT project for a problem comprised of sensing tasks and cloud processing of the sensor measurements.

Suggested Readings

  • Cloud Computing: Concepts, Technology & Architecture, Thomas Erl, et al., Prentice-Hall, 2013
  • Getting Started with Arduino: The Open Source Electronics Prototyping Platform (Make) 3rd Edition by Massimo Banzi and Michael Shiloh
  • Exploring Arduino: Tools and Techniques for Engineering Wizardry 1st Edition by Jeremy Blum