Teaching Parallel Programming Using Java

Aamir Shafi, Aleem Akhtar, Ansar Javed, Bryan Carpenter
SEECS, National University of Sciences and Technology (NUST), Pakistan
arXiv:1410.0373 [cs.CY], (27 Aug 2014)


   author={Shafi}, A. and {Akhtar}, A. and {Javed}, A. and {Carpenter}, B.},

   title={"{Teaching Parallel Programming Using Java}"},

   journal={ArXiv e-prints},




   keywords={Computer Science – Computers and Society, Computer Science – Distributed, Parallel, and Cluster Computing, K.3.2},




   adsnote={Provided by the SAO/NASA Astrophysics Data System}


Download Download (PDF)   View View   Source Source   



This paper presents an overview of the "Applied Parallel Computing" course taught to final year Software Engineering undergraduate students in Spring 2014 at NUST, Pakistan. The main objective of the course was to introduce practical parallel programming tools and techniques for shared and distributed memory concurrent systems. A unique aspect of the course was that Java was used as the principle programming language. The course was divided into three sections. The first section covered parallel programming techniques for shared memory systems that include multicore and Symmetric Multi-Processor (SMP) systems. In this section, Java threads was taught as a viable programming API for such systems. The second section was dedicated to parallel programming tools meant for distributed memory systems including clusters and network of computers. We used MPJ Express-a Java MPI library-for conducting programming assignments and lab work for this section. The third and the final section covered advanced topics including the MapReduce programming model using Hadoop and the General Purpose Computing on Graphics Processing Units (GPGPU).
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: