THE DESIGN OF A MULTITHREADED PROGRAMMING COURSE AND ITS ACCOMPANYING SOFTWARE TOOLS

Ching-Kuang Shene · 2002

With the continuing emergence of multithreaded computation as a powerful vehicle for science and engineering, the need for an introduction to multithreaded programming for scientists and engineers is high. All popular operating systems already support multithreaded programming and the popular POSIX Pthreads standard has been approved. It is the right time to teach students this new technology. This paper presents the problems and difficulties we encountered and a set of comprehensive and flexible course materials for a multithreaded programming course for sophomore and junior students. This paper also presents the design of pedagogical tools for the students to visualize and experiment with various concepts in multithreaded programming. These concepts include program behavior and execution visualization, deadlock and race condition detection, and software metrics for measuring the complexity of students' programs. 1. INTRODUCTION John Hopcroft challenged the computer science community...

Read the paper · More papers on PaperTik