The authors have been using Development Containers for a course in digital logic and computer organization for more than a year and have found that: 1) they make authentic experiences with the content accessible to all students, 2) they can virtually eliminate installation inconsistencies and the need for institutional support for software/hardware, and, most importantly, 3) they can be created and used in live, active-learning sessions in approximately 3 minutes!

The tutorial will walk participants through classroom examples that include: 1) introducing Hardware Description Language (HDL) topics and how HDL can be simulated in both a real-time, visual gate-level representation and via test benches, 2) deploying HDL to affordable hardware platforms, 3) exploring how code (RISC-V assembly language) can be both simulated/debugged and then deployed to real hardware, and 4) expanding the control and datapath of a model CPU. In addition, it will overview instructor-level concerns, like how work can be distributed to students, how it can be collected and assessed, and how to create and customize assignments or adjust the configuration of the environment being used.

The development container being used is open source and can be adopted and modified as needed. It can be run freely from the cloud via GitHub’s Codespaces support for Educators.