Author_Institution :
Dept. of Electr. & Comput. Eng., Univ. of Coimbra/Inst. de Telecomun., Coimbra, Portugal
Abstract :
The necessary effort dedicated to learn a parallel programming language should not represent a serious increase in difficulty since the main limitations are not necessarily dependent on the programming language itself. The major difficulties are usually associated with the assimilation of concepts related with parallel programming, such as the concurrent use of shared variables, the single-instruction multiple-thread programming model, memory access conflicts from concurrent threads, and the memory hierarchy of the system. These can be transmitted smoothly using simple examples for undergraduate students. At the beginning of undergraduate studies, the effort required to learn C, C++, or any other high-level language is still big, but the one required for learning a parallel programming language/model/interface, such OpenMP or Pthreads, wouldn´t be much higher.
Keywords :
computer science education; further education; parallel programming; C language; C++ language; OpenMP; Pthreads; high-level language; memory access conflicts; parallel programming language; shared variables concurrent use; single-instruction multiple-thread programming model; system memory hierarchy; undergraduate students; Computers; Multicore processing; Object recognition; Parallel programming;