A portable class library for teaching multithreaded programming
Steve Carr, Ching-Kuang Shene · 2000
All modern operating systems support multithreaded programming (MTP). To ensure our students can lead the trend of computer science in the foreseeable future, we have been teaching MTP for four years [6]. Our experience shows that the paradigm shift from sequential to multithreaded causes students significant problems [7], such as (1) MTP requires a new mindset, (2) multithreaded program behavior is dynamic, making debugging very difficult, (3) proper synchronization is more difficult tha anticipated, and (4) programming interfaces are usually more complex than necessary, causing students to spend time in learning the system details rather than the fundamentals.