Integrating OpenDSA and CodeWorkout with the Canvas LMS
There exist numerous "smart learning tools", each serving different purposes. A primary challenge associated with these tools is getting them to work together smoothly and with minimal overhead for the end-user (e.g., instructors or students). We describe the infrastructure behind the integration of two learning tools with the Canvas LMS. This infrastructure is LTI compliant and is in use at several US universities.
OpenDSA is an e-textbook project that allows instructors to create custom books by putting together combinations of available modules, and CodeWorkout is an online system that serves short programming exercises and multiple-choice questions. I will describe the implementation that allows OpenDSA textbooks to serve CodeWorkout exercises within Canvas. OpenDSA does this by being a "man in the middle", i.e., by functioning both as a tool consumer (facing CodeWorkout) and as a tool provider (facing Canvas)