Multicore computers are now the norm. Taking advantage of these multiple cores entails parallel and concurrent programming. There is therefore a pressing need for courses that teach effective programming on multicore architectures. We believe that such courses should emphasize high-level abstractions for performance and correctness and be supported by tools. This paper presents a set of freely available course materials for parallel and concurrent programming, along with a testing tool for performance and correctness concerns called Alpaca (A Lovely Parallelism And Concurrency Analyzer). These course materials can be used for a comprehensive parallel and concurrent programming course, à la carte throughout an existing curriculum, or as starting points for graduate special topics courses. We also discuss tradeoffs we made in terms of what to include in course materials.
CITATION STYLE
Sadowski, C., Ball, T., Bishop, J., Burckhardt, S., Gopalakrishnan, G., & Mayo, J. (2011). Practical parallel and concurrent programming. In SIGCSE’11 - Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (pp. 189–194). https://doi.org/10.1145/1953163.1953222
Mendeley helps you to discover research relevant for your work.