Lecture Notes#
Bash essentials on Monday, January 19, 2026
First things first: the terminal can feel awkward to use. What can we do about this?
Developer environment setup on Monday, January 19, 2026
This lecture covers setting up a developer environment such that, no matter what hardware you have available at home, you are comfortable completing coding assignments for this class on your personal computer and on classroom computers.
GitHub basics on Monday, January 19, 2026
These notes cover the basics for using GitHub in this class.
Bash scripting on Monday, January 26, 2026
These notes will cover the basic programming concepts you need to know to get the most out of writing scripts in Bash.
Linux basics on Friday, January 30, 2026
These notes are adapted from https://learn.microsoft.com/en-us/windows/wsl/about and https://learn.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm
ReTerminal Kit on Sunday, February 01, 2026
In this course, you are provided with a reTerminal kit containing hardware for experimenting with electrical devices on a portable Linux system.
Python package management on Monday, February 09, 2026
This lecture looks at the ways to acquire use and install external python packages.
Python scripting on Monday, February 09, 2026
This section explores intermediate Python topics to improve our technique at specific linux/IoT scripting tasks.
reTerminal built-in devices on Monday, February 09, 2026
This section is based on the official documentation for the reTerminal: Hardware and Interfaces Usage
Signals: Digital and Analog on Monday, February 16, 2026
Modern computer science depends on electricity to physicially store and transfer information. In this program, you have learned about the binary representation of information, which depends upon the electrical transistor to store the “values” 0 and 1.
Electronics Basics on Monday, February 23, 2026
This course is at the boundary of code and physical objects. While we access the GPIOs of our reTerminals using filesystems and code, ultimately the digital signals are being delivered with electricity along conductive physical components.
GPIOs: Inputs and Outputs on Monday, February 23, 2026
Note: most of these notes were adapted directly from the Raspberry Pi docs: GPIO-Pinout [1]
Using devices on Sunday, March 01, 2026
todo
Serial protocols on Monday, April 13, 2026
Duplicate implicit target name: “serial protocols”.
Azure Portal Setup on Friday, April 24, 2026

Azure SDKs in Python and C# on Friday, April 24, 2026
Azure offers Software Development Kits (SDKs) for most of its services. Below you will find references to the SDKs used in the course.
Asynchronous progamming in Python on Monday, April 27, 2026
The library
asyncioenables code to be run concurrently: Tasks share the execution thread while appearing to be executing in parallel.Azure Blob Storage on Monday, April 27, 2026
As one can imagine, there are many types of storage accounts in Azure. In this course we’ll explored Blob Storage (object storage).
Azure CLI Cheatsheet on Monday, April 27, 2026
Duplicate implicit target name: “azure cli cheatsheet”.
Azure EventHubs on Monday, April 27, 2026
The notes below were taken from the official Microsoft documentation page Features and terminology in Azure Event Hubs.
Device Twins on Monday, April 27, 2026
For each device that you connecte to IoT Hub, Azure IoT Hub maintains a device twin:
Device to Cloud Communication on Monday, April 27, 2026
Communication for IoT systems should be bi-directional:
Intro to the Internet of Things on Monday, April 27, 2026
The Internet of Things (IoT) is comprised of equipment, machines, products, and devices that are connected to the cloud and periodically collect, send and/or receive data.
IoT Communication Protocols on Monday, April 27, 2026
IoT devices typically exchange data with a cloud service using a specific communication protocol.
Python extras on Sunday, May 10, 2026
These notes cover useful
pythonskills, particularly for finalizing your team’s project.