A visual tool for teaching multithreading in Java
Yaodong Bi, John A. Beidler · Journal of computing sciences in colleges · 2007
This paper describes a tool that provides visual support for teaching concurrent programming in Java. It is known that teaching concurrent programming is hard. One reason is that students cannot visually observe the concurrent execution of multithreading programs, especially the synchronization among threads. The tool described in this paper can display the execution of threads and the synchronization among threads in a graphical form, and replay the execution sequence in terms of events of interest. The tool uses AspectJ to collect data for the events of interest, and it does not modify the programs' source code, nor does it recompile the programs with instrumented libraries.