All Posts
L5: Coursework Feedback
- 16 March 2026
In this lab, you will resolve a series of pull requests in your coursework repository.
A1: reTerminal Control Center
- 13 March 2026
In this assignment, you will make a prototype of the applications you deploy on your reTerminal for your project.
Milestone 5: Final Presentation
- 27 February 2026
In this milestone, you will give an in-person demonstration of the functionality of your entire project. This milestone will also be an assessment of the quality of the code and documentation of your project.
Milestone 4: IoT Integration
- 27 February 2026
In this milestone, you will build on the initial prototype by connecting your devices and your apps to an IoT Central Hub hosted on Azure.
Milestone 3: Prototype
- 27 February 2026
In this milestone, you will adapt your course assignment work to create a collective prototype of your reterminal devices and your Typescript application.
Milestone 2: Infrastructure
- 27 February 2026
In this milestone, you will set up your github monorepo with appropriate CI/CD and documentation infrastructure.
Milestone 1: Setup
- 27 February 2026
In the first milestone of the project, your team will assemble, and set up the initial project infrastructure for tracking and delegating work.
GPIOs: Inputs and Outputs
- 23 February 2026
Note: most of these notes were adapted directly from the Raspberry Pi docs: GPIO-Pinout [1]
Electronics Basics
- 23 February 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.
L4: External GPIO devices using the Grove Base Hat
- 17 February 2026
These instructions are now up to date (as of Feb 23).
Signals: Digital and Analog
- 16 February 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.
reTerminal built-in devices
- 09 February 2026
This section is based on the official documentation for the reTerminal: Hardware and Interfaces Usage
Python scripting
- 09 February 2026
This section explores intermediate Python topics to improve our technique at specific linux/IoT scripting tasks.
Python package management
- 09 February 2026
This lecture looks at the ways to acquire use and install external python packages.
L3: Programming the ReTerminal
- 09 February 2026
The reTerminal comes with a variety of built-in devices (the touchscreen, LEDs, a buzzer,
and more). In this lab we are going to practise interfacing with those devices using
bash and python.
ReTerminal Kit
- 01 February 2026
In this course, you are provided with a reTerminal kit containing hardware for experimenting with electrical devices on a portable Linux system.
L2: Reterminal setup
- 01 February 2026
This lab documents the general steps needed to perform an initial set up, or reset, of the reTerminal device that we will be using throughout the class.
Linux basics
- 30 January 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
L1 Part 2: Bash Better
- 26 January 2026
For each deliverable, click the hyperlink to navigate to the complete instruction set.
Bash scripting
- 26 January 2026
These notes will cover the basic programming concepts you need to know to get the most out of writing scripts in Bash.
Developer environment setup
- 19 January 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.
Bash essentials
- 19 January 2026
First things first: the terminal can feel awkward to use. What can we do about this?