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 (ESP32), sensing technologies, IoT protocols (Zigbee, LPWAN, MQTT), and multiple cloud-based services including storage, distributed and parallel computing, and virtualization. Students will learn how to design, develop, and deploy end-to-end cloud-based IoT applications, by formulating a real-world problem and identifying its key design objectives, challenges, and constraints.

Prerequisites

Learning Objectives

  • To understand the related architecture designs and technologies of cloud computing
  • To explain the overall architecture and key design principles of IoT systems, including both functional and non-functional aspects
  • To design cloud-based IoT applications using proper cloud services
  • To gain hands-on experience in key technologies for developing an IoT system, including sensor selection / interfacing, embedded system programming, use of suitable network protocols, and various cloud services (compute, storage, data analytics, management)
  • To gain design experience in solving a real-world problem using IoT and cloud technologies
  • To gain both the experience and confidence in learning a new IoT technology independently

Measurable Outcomes

  • List the functions of different IoT and cloud computing components
  • Use various sensors, embedded device libraries, IoT protocols, and cloud services
  • Develop skills in systematic testing and debugging
  • Work in a team to formulate a real-world problem that can be solved using IoT and cloud technologies, including design objectives, challenges, and constraints
  • Apply suitable IoT and cloud technologies to develop a proof-of-concept system, and present the solution in the class with explanation of its key design considerations
  • Apply new cloud services or sensors if relevant to the project

Topics Covered

  • Sensors
  • Embedded systems and RTOS
  • Wireless networking for IoT
  • Edge computing
  • Energy efficiency design
  • Accessing Cloud
  • Storage as a Service
  • Computing as a Service
  • Task parallelism
  • Cloud scaling and Container
  • Batch and streaming analytics
  • ML in the Cloud, tinyML
  • Cloud infrastructure and management mechanism
  • Advanced cloud infrastructure
  • Security in the Cloud and IoT systems

Textbook(s) and/or Other Required Material

  • Cloud Computing: Concepts, Technology & Architecture, Thomas Erl, et al., Prentice-Hall, 2013.
  • Cloud computing for science and engineering, Foster, Ian, and Dennis B. Gannon. MIT Press, 2017.