In an earlier post I mentioned that one goal of the new introductory curriculum at Carnegie Mellon is to teach parallelism as the general case of computing, rather than an esoteric, specialized subject for advanced students. Many people are incredulous when I tell them this, because it immediately conjures in their mind the myriad complexities…
H. Sun, D. Bonetta, F. Schiavio, and W. Binder. Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization, page 61--72. IEEE Press, (2019)
R. Utterback, K. Agrawal, J. Fineman, and I. Lee. Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures, page 83--94. ACM, (2016)
A. Yoga, S. Nagarakatte, and A. Gupta. Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, page 833--845. ACM, (2016)
J. Reppy, C. Russo, and Y. Xiao. Proceedings of the 14th ACM SIGPLAN international conference on Functional programming, page 257--268. New York, NY, USA, ACM, (August 2009)
I. Cassar, and A. Francalanza. Proceedings 13th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems, page 54--68. (September 2014)
G. Itzstein, and M. Jasiunas. Advances in Computer Systems Architecture, volume 2823 of Lecture Notes in Computer Science, Springer Berlin / Heidelberg, 10.1007/978-3-540-39864-6_13.(2003)