Empirical Assessment of Languages for Teaching Concurrency: Methodology and Application
Concurrency has been rapidly gaining importance in computing, and correspondingly in computing curricula. Concurrent programming is, however, notoriously hard even for expert programmers. New language designs promise to make it easier, but such claims call for empirical validation. The authors present a methodology for comparing concurrent languages for teaching purposes. A critical challenge is to avoid bias, especially when the experimenters are also the designers of one of the approaches under comparison. For a study performed as part of a course, it is also essential to make sure that no student is penalized. The methodology addresses these concerns by using self-study material and applying an evaluation scheme that minimizes opportunities for subjective decisions.