2017
DOI: 10.1002/cae.21784
|View full text |Cite
|
Sign up to set email alerts
|

Improving the learning of parallel programming using software refactoring

Abstract: 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 ref… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
4
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
2

Relationship

1
1

Authors

Journals

citations
Cited by 2 publications
(4 citation statements)
references
References 8 publications
(7 reference statements)
0
4
0
Order By: Relevance
“…In addition, Dig et al [12] proposed a refactoring approach changing sequential recursive algorithms into a parallel version using ForkJoin-Task; they assessed popular recursive algorithms to show the benefits in execution time. Moreover, in [33], the authors presented a tool to substitute the Thread class with the Executor class to allow the use of a thread pool at runtime.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…In addition, Dig et al [12] proposed a refactoring approach changing sequential recursive algorithms into a parallel version using ForkJoin-Task; they assessed popular recursive algorithms to show the benefits in execution time. Moreover, in [33], the authors presented a tool to substitute the Thread class with the Executor class to allow the use of a thread pool at runtime.…”
Section: Related Workmentioning
confidence: 99%
“…An analysis was performed to check whether the transformations preserved the behavior of the application and if the updated locks guaranteed a performance boost. A similar approach was presented in [20,33], where a tool was developed to automatically transform synchronized locks to re-entrant locks. In [20], the authors presented an automated approach to convert a synchronized statement lock into a StampedLock.…”
Section: Related Workmentioning
confidence: 99%
“…They discussed how the unit testing harness was supposed to provide a rigid foundation for refactoring. Our previous work [29] proposed refactoring to enhance the learning effectiveness without the need for writing concurrent programs from scratch. A series of refactoring tools had been developed to help users understand concurrent structures.…”
Section: Related Workmentioning
confidence: 99%
“…During their learning process, participants are suggested to transform sequential structures into concurrent ones via at least six real‐world applications. Our early teaching experience [29] introduces refactoring to enhance the learning effectiveness without the need for writing concurrent programs from scratch. Both manual refactoring and automated tools are introduced.…”
Section: Introductionmentioning
confidence: 99%