Spring 2024 – CSCI 332/ECEG 432 – Internet of Things

Overview

A broad investigation into the design of internet-connected physical objects and the infrastructure that supports them. This hands-on course covers topics including embedded systems, wireless communication, internet protocols, cloud computing, and security. Students will develop their own IoT system in the course. 

Instructor

Alan Marchiori – Associate Professor of Computer Science and Electrical & Computer Engineering
Office: Dana 335
Calendar: https://calendar.google.com/calendar/embed?src=amm042%40bucknell.edu
Appointments: https://bison.link/amm_apt

Course Time and Location

Breakiron 164 – TR 1:00 pm – 2:20 pm

Course Schedule: TBD!

Course Objectives

By the end of the semester student will be able to:

  • Define, use, and test an IoT system.
  • Develop and analyze the performance and security of an IoT system architecture.
  • Design and program embedded wireless systems such as
    • Raspberry Pi 4/5
    • ESP32
    • Raspberry Pi Pico W
  • Interface various sensors and peripherals to an embedded system to perform common IoT tasks.

Required Materials

Each student is expected to purchase at least one device to use in class and a kit of sensors.

Course Topics

  1. Define the Internet of Things
  2. Introduction to the devices
  3. Common peripherals
  4. WiFi
    1. Bluetooth
    2. ADC
    3. DAC
    4. I2c
    5. Spi
    6. Displays
    7. Filesystem
  5. Sensors
    1. Environmental
      1. Temperature
      2. Humidity
      3. RTD
  6. Introduction to cloud computing
    1. Amazon EC2
    2. Messaging protocols, MQTT
    3. Database storage and retrieval, Timescale (PostgreSQL)
    4. NodeJS and/or Python services

Course Portfolio and Course Grading

The course will be split into 4 sprints, each culminating in a project submission and individual reflection.

12345
UnsatisfactoryLimitedSatisfactoryProficientOutstanding
Active ParticipationRarely participates in course, provides little to no contribution, and lacks engagement. Falls significantly short of the minimum requirements.Participation is inconsistent, and contributions are minimal. Demonstrates a limited engagement with the course activities and does not go beyond basic requirements.Participates adequately in course, meets basic requirements, and contributes some insights. Shows a satisfactory level of engagement with the course content.Participates consistently in course, contributes meaningful insights, and shows enthusiasm. Demonstrates a good level of engagement with the course content and activities.Actively engages in all aspects of the course, consistently contributes insightful ideas, and demonstrates a high level of enthusiasm. Goes above and beyond the minimum requirements, demonstrating a deep commitment to the course and learning process.
Reflection & ResultsFails to reflect meaningfully on course, does not make connections to course concepts, and lacks the ability to apply course content.Reflects on course superficially, struggles to connect concepts to real-world situations, and shows limited application of knowledge. Demonstrates a basic understanding of course content.Reflects on course, connects some concepts to real-world situations, and applies knowledge to a reasonable extent. Demonstrates a satisfactory level of understanding of course content.Reflects on course, makes connections to course concepts, and applies knowledge effectively. Shows a solid understanding of course concepts.Reflects deeply on course, connects concepts learned to real-world situations, and consistently applies knowledge in a meaningful way. Demonstrates a sophisticated understanding of the practical implications of the course content.

Course grades will be determined from the total of the four sprints.

GradePoints
A36
A-34
B+32
B30
B-28
C+26
C24
C-22
D20

Suggested Project Areas

Students will complete several projects over the semester. Below are some programs that may help provide good real-world problems you can solve with an IoT device.


Posted

in

by