z-logo
Premium
Improving the learning of parallel programming using software refactoring
Author(s) -
Zhang Yang
Publication year - 2017
Publication title -
computer applications in engineering education
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.478
H-Index - 29
eISSN - 1099-0542
pISSN - 1061-3773
DOI - 10.1002/cae.21784
Subject(s) - code refactoring , computer science , software , benchmark (surveying) , suite , software engineering , task (project management) , field (mathematics) , decomposition , programming language , engineering , ecology , mathematics , geodesy , archaeology , pure mathematics , history , geography , systems engineering , biology
Parallel programming has become increasingly popular in the computer educational field over the past few years. Although parallel programs obtain the short execution time and the high throughput, learning how to write a well‐structured and high‐performance parallel program is still one of the challenges for most of students. How to let students learn parallel programming well is one of the important tasks that educators should resolve. This paper presents the learning of parallel programming using software refactoring methodologies and tools. Manual and automated refactoring are introduced to show how the learning is improved respectively. With manual refactoring, students learn how to perform the data or task decomposition and how to write a well‐structured parallel software via customized programs and some benchmarks in JGF benchmark suite; with automated refactoring, students can transform the parallel parts quickly, and then evaluate the performance of a parallel software. Two automated refactoring tools are developed for educational purposes. Some of the experiences are also shared during conducting the course. © 2017 Wiley Periodicals, Inc. Comput Appl Eng Educ 25:112–119, 2017; View this article online at wileyonlinelibrary.com/journal/cae ; DOI 10.1002/cae.21784

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here