Downloads

Materials and software

Module materials and tools are posted here as they are released.

DeliverableDescriptionStatus
Foundations of Concurrent ComputingSeven units of notes, exercises, and visualization activitiesIn development
Fault Tolerance in Distributed SystemsNotes, exercises, and TLA+ and Promela specificationsIn development
Autonomous vehicle moduleROS 2 and CARLA laboratory exercise and supporting artifactsIn development
Aviation systems moduleAgent-based simulation models and exercisesIn development
Visualization systemTimeline, causality, object-centric, and component viewsPrototype in classroom testing
Instrumentation wrapperspthreads, FreeRTOS, and ROS 2 librariespthreads prototype; FreeRTOS and ROS 2 in development
CEDLLanguage, compiler, and interpreter for scripted concurrency demonstrationsDevelopment begins in month 9

Status reflects the project plan as of the start of the award. See the timeline for the full schedule.

Pilot a module

For instructors

Modules are designed to drop into existing engineering courses, either as three- to four-hour units or as a short intensive workshop, and they carry their own formative exercises and summative problem sets. If you would like to pilot one or give feedback on a draft, get in touch.

steve.carr@wmich.edu

For students

The tools are meant to be used, not just read about. The visualization system runs on ordinary desktop Linux and macOS for pthreads work, and extends to microcontrollers running FreeRTOS and robots running ROS 2. Materials will be posted here as they are released.

See what the tools do →

Prior work this builds on

The toolchain extends ThreadMentor and ConcurrentMentor, NSF-funded systems for teaching multithreaded programming through visualization that have anchored concurrency education at the team's institutions for two decades. ThreadMentor pairs a C++ class library implementing the synchronization abstractions used in concurrency pedagogy with a visualization system that shows the dynamic behavior of threaded programs. Instrumentation is built into the library, so student programs and the visualization run together without a separate instrumentation step.

This project modernizes that foundation and retargets it for engineering audiences: new instrumentation for ROS 2 and FreeRTOS, a rebuilt visualization interface, and packaging into modular curricular components.