Improving the Learning of Parallel Programming Using Software Refactoring

被引:4
|
作者
Zhang, Yang [1 ]
机构
[1] Hebei Univ Sci & Technol, Dept Comp, Sch Informat Sci & Engn, Shijiazhuang 050018, Hebei, Peoples R China
关键词
parallel programming; software refactoring; manual refactoring; automated refactoring tools; learning;
D O I
10.1002/cae.21784
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
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. (C) 2017 Wiley Periodicals, Inc.
引用
收藏
页码:112 / 119
页数:8
相关论文
共 50 条
  • [41] PARALLEL PROGRAMMING SOFTWARE PACKAGE GRAPHPLUS TEMPLET
    Vostokin, S. V.
    Khayrutdinov, A. R.
    Litvinov, V. G.
    VESTNIK SAMARSKOGO GOSUDARSTVENNOGO TEKHNICHESKOGO UNIVERSITETA-SERIYA-FIZIKO-MATEMATICHESKIYE NAUKI, 2011, (04): : 146 - 153
  • [42] Hierarchical models and software tools for parallel programming
    Coppola, M
    Schmollinger, M
    ALGORITHMS FOR MEMORY HIERARCHIES: ADVANCED LECTURES, 2003, 2625 : 320 - 354
  • [43] Creating portable and automatically scalable parallel software using the PARSATM programming methodology
    Murthi, V
    Levine, D
    Marquis, J
    Shirazi, B
    FIFTH INTERNATIONAL CONFERENCE ON ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, PROCEEDINGS, 2002, : 188 - 195
  • [44] Work in Progress: Improving Learning Performance using Programming Methodology
    Bigotte de Almeida, Maria Emilia
    Teixeira, Ana Rita Assuncao
    Almeida, Ricardo
    PROCEEDINGS OF 2019 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON), 2019, : 1462 - 1466
  • [45] Improving the teaching of programming using a VLE enhanced with learning objects
    Boyle, T
    Bradley, C
    Chalk, P
    ITRE 2004: 2nd International Conference Information Technology: Research and Education, Proceedings, 2004, : 74 - 78
  • [46] Automated Refactoring to Reactive Programming
    Koehler, Mirko
    Salvaneschi, Guido
    34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, : 539 - 550
  • [47] Improving Design Quality of Software Using Machine Learning Techniques
    Prabha, C. Lakshmi
    Shivakumar, N.
    2020 6TH INTERNATIONAL CONFERENCE ON ADVANCED COMPUTING AND COMMUNICATION SYSTEMS (ICACCS), 2020, : 583 - 588
  • [48] IMPROVING SOFTWARE RELIABILITY MODELING USING MACHINE LEARNING TECHNIQUES
    Zou, Fengzhong
    Davis, Joseph
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2008, 18 (07) : 965 - 986
  • [49] Experiences of using a game for improving learning in software requirements elicitation
    Garcia, Ivan
    Pacheco, Carla
    Leon, Andres
    Calvo-Manzano, Jose A.
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2019, 27 (01) : 249 - 265
  • [50] Learning object-oriented programming using adaptive educational software
    Mellado-Silva, Rafael
    Cubillos Figueroa, Claudio
    Gaete Rodriguez, Alfonso
    2021 40TH INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY (SCCC), 2021,