The World Teaching of Parallel and Distributed Programming
DOI:
https://doi.org/10.5753/ijcae.2019.4845Abstract
The parallel and distributed programming is widely used in cloud computing. This is due to factors such as the popularization of multicore and heterogeneous CPU, which allow significant performance gains over sequential processing. ACM and IEEE recommend to teach the parallel and distributed programming and also provide details on how this topic should be studied in computing courses. However, the teaching of parallel programming is not trivial and differs in various undergraduate courses throughout countries. The differences include teaching approaches, theoretical and practical classes, instructional materials, embedded topics, number of hours, required and elective topics, prerequisites, among others. This article presents how the main institutions of higher education in the world approach the teaching of parallel programming, with the purpose of evaluating its adherence to the syllabus proposed by ACM and IEEE. The universities considered in this study were chosen according to a specific ranking and geographically separated by continent. After that, we compared with the ACM and IEEE-Computer Society reference curricula, highlighting the main differences. Our results show that there are still significantly differences regarding teaching HPC, mainly in relation to syllabus and topics covered, and that is hard to find available documents that show clearly how such subjects are conducted.
Downloads
Referências
ACM/IEEE-CS. Computer science curricula 2013. Technical report, ACM Press and IEEE Computer Society Press, December 2013.
Australian National University. Parallel Systems, Maio 2018.
G. E. Blelloch. Parallel thinking. SIGPLAN Not., 44(4):1–2, Feb. 2009.
Cairo University. Course Specification, Maio 2018.
Carnegie Mellon University. Bachelors Curriculum - Admitted 2014, 2015 & 2016, Maio 2018.
Center for World University Rankings. Center for World University Rankings, Abril 2018.
ETH Zurich. 252-0029-00L Parallel Programming, Maio 2018.
T. Franczak, A. Nkansah, T. Marrinan, and M. Papka. A path from serial execution to hybrid parallelization for learning hpc. In Proceedgins of the 2017 Workshop on Education for High-Performance Computing, 2017.
Harvard University. Introduction to Distributed Computing, Maio 2018.
Hong Kong University of Science and Technology. BEng in Computer Science, Maio 2018.
Imperial College London. CO347 Distributed Algorithms, Maio 2018.
V. Kumar, A. Grama, A. Gupta, and G. Karypis. Introduction to Parallel Computing: Design and Analysis of Algorithms. Benjamin-Cummings Publishing Co., Inc., Redwood City, CA, USA, 1994.
Massachusetts Institute of Technology. 6.816/6.836 Multicore Programming, Maio 2018.
G. E. Moore. Cramming more components onto integrated circuits, reprinted from electronics, vol 38, nr 8, 1965. IEEE Solid-State Circuits Society Newsletter, 11(3):33–35, Sept 2006.
Nanyang Technological University. Computer Science (CS) Programme, Maio 2018.
National University of Singapore. Computer Science Focus Areas for BComp (CS), Maio 2018.
Peking University. Undergraduate Programs, Maio 2018.
Pontifical Catholic University of Chile. Bachelor: Major in Computer Science, Maio 2018.
Princeton University. COS-418, Fall 2016: Distributed Systems, Maio 2018.
J. Qiu, S. Kamburugamuve, H. Lee, J. Mitchell, R. Caldwell, G. Bullock, and L. Hayden. Teaching, learning and collaborating through cloud computing online classes. In Proceedgins of the 2017 Workshop on Education for High-Performance Computing, 2017.
QS World University Rankings. Computer Science & Information Systems, Abril 2018.
Queensland University of Technology. Bachelor of Information Technology (Computer Science), Maio 2018.
E. Roloff, M. Diener, L. P. Gaspary, and P. O. A. Navaux. Exploiting load imbalance patterns for heterogeneous cloud computing platforms. In Proceedings of the 8th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,, pages 248–259. INSTICC, SciTePress, 2018.
J. A. Shamsi, N. M. Durrani, and N. Kafi. Novelties in teaching high performance computing. In IEEE Int Par and Dist Proc Sym Workshop, pages 772–778, May 2015.
Stanford University. CS149 - Parallel Computing, Maio 2018.
State University of Campinas. MC970/MO644 Parallel Programming, Maio 2018.
Stellenbosch University. Academic Programmes and Faculty Information, Maio 2018.
The World University Ranking. Computer Science - Times Higher Education, Abril 2018.
Tsinghua University. The Undergraduate and Graduate Courses Taught in English and Open to the International Visiting/ Exchange Students at Tsinghua University, Maio 2018.
University of Buenos Aires. Faculty of Exact and Natural Sciences, Maio 2018.
University of Cambridge. Computer Science Tripos, Maio 2018.
University of Cape Town. Undergraduate Courses, Maio 2018.
University of Chile. Course Program, Maio 2018.
University of Melbourne. Distributed Computing Project (COMP90019), Maio 2018.
University of New South Wales. Distributed Systems - COMP9243, Maio 2018.
University of Oxford. Concurrent Programming: 2017-2018, Maio 2018.
University of Pretoria. Concurrent systems 226 (COS 226), Maio 2018.
University of S˜ao Paulo. Concurrent Programming, Maio 2018.
University of Technology Sydney. 42009 Parallel and Multicore Computing, Maio 2018.
University of theWitwatersrand. 2018 ScI Rules Syllabuses, Maio 2018.
G. Zarza, D. Lugones, D. Franco, and E. Luque. An innovative teaching strategy to understand high-performance systems through performance evaluation. Procedia Computer Science, 9:1733 – 1742, 2012.
École Polytechnique Fédérale de Lausanne. Parallelism and concurrency, Maio 2018.
Downloads
Published
Como Citar
Issue
Section
Licença
Copyright (c) 2019 Os autores
Este trabalho está licenciado sob uma licença Creative Commons Attribution 4.0 International License.