Teaching Concurrent and Distributed Programming With Concepts Over Mathematical Proofs - Marchant, David; Johnsen, Carl-Johannes; Vinter, Brian; Skovhede, Kenneth (2019 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC), 2019)
This paper describes how a concept-based approach to teaching was used to update how concurrent and distributed systems were taught at the University of Copenhagen. This approach focuses on discussion to drive student engagement whilst fostering a deeper understanding of the presented topics compared to more traditional displays of crude facts. The course is split into three sections: local concurrency, networked concurrency, and concurrency in hardware. This allows for an easier student journey through the course, as they are introduced to all core concepts in the first section, then have them reinforced in greater detail in the subsequent sections. Finally, the experience gained in updating this course is presented so others attempting to do similar may learn from it.