Teaching Parallel Languages
Parallel programming is ubiquitous in modern computing (smartphones, GPU's, multi-core CPU's and supercomputers). Teaching it effectively can be difficult because (1) it's inherently trickier to reason about than sequential code and (2) results can vary depending on the hardware it's run on. This project aims to solve (2).
Our mission is to provide a ready-to-deploy platform and a set of tools so that teachers can provide a seamless and consistent learning experience for their students, similar to what Mozilla Thimble did for front-end web development, and what Glitch did for web app & backend development.
We want to create classroom-ready teaching materials (in the form of Jupyter notebooks) and a platform for teaching these materials (in the form of custom kernals for those notebooks).
You can use our own hosted version or set it up yourself on your own server. We anticipate people either using the provided lessons and excercises as part of their own courses, or developing their own lessons to run on the platform.