Using software visualization to support the teaching of distributed programming

被引:0
|
作者
Lorenzo Di Rocco
Umberto Ferraro Petrillo
Francesco Palini
机构
[1] Università di Roma “La Sapienza”,Department of Statistical Sciences
来源
关键词
Distributed computing; MapReduce; Spark; Software visualization; CS teaching;
D O I
暂无
中图分类号
学科分类号
摘要
In this paper, we introduce MARVEL, a system designed to simplify the teaching of MapReduce, a popular distributed programming paradigm, through software visualization. At its core, it allows a teacher to describe and recreate a MapReduce application by interactively requesting, through a graphical interface, the execution of a sequence of MapReduce transformations that target an input dataset. Then, the execution of each operation is illustrated on the screen by playing an appropriate graphical animation stage, highlighting aspects related to its distributed nature. The sequence of all animation stages, played back one after the other in a sequential order, results in a visualization of the whole algorithm. The content of the resulting visualization is not simulated or fictitious, but reflects the real behavior of the requested operations, thanks to the adoption of an architecture based on a real instance of a distributed system running on Apache Spark. On the teacher’s side, it is expected that by using MARVEL he/she will spend less time preparing materials and will be able to design a more interactive lesson than with electronic slides or a whiteboard. To test the effectiveness of the proposed approach on the learner side, we also conducted a small scientific experiment with a class of volunteer students who formed a control group. The results are encouraging, showing that the use of software visualization guarantees students a learning experience at least equivalent to that of conventional approaches.
引用
收藏
页码:3974 / 3998
页数:24
相关论文
共 50 条
  • [31] Teaching basic crystallography and diffraction using open access structure visualization software
    Matt Beekman
    MRS Advances, 2022, 7 : 482 - 487
  • [32] Combining Software Visualization Paradigms to Support Software Comprehension Activities
    Carneiro, Glauco de F.
    Magnavita, Rodrigo
    Mendonca, Manoel
    SOFTVIS 2008: PROCEEDINGS OF THE 4TH ACM SYMPOSIUM ON SOFTWARE VISUALIZATION, 2008, : 201 - 202
  • [33] Online Judge Support for Programming Teaching
    Hidalgo-Cespedes, Jeisson
    Marin-Raventos, Gabriela
    Eunice Calderon-Campos, Marta
    2020 XLVI LATIN AMERICAN COMPUTING CONFERENCE (CLEI 2020), 2021, : 522 - 530
  • [34] Experiences Using PSP and XP to Support Teaching in Undergraduate Programming Courses
    Martinez, Luis G.
    Licea, Guillermo
    Reyes Juarez, J.
    Aguilar, Leocundo
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2014, 22 (03) : 563 - 569
  • [35] Using visualization for teaching
    Juarez-Espinosa, O
    Hendrickson, C
    Garrett, JH
    VISUAL DATA EXPLORATION AND ANALYSIS VII, 2000, 3960 : 86 - 95
  • [36] Glue code synthesis for distributed software programming
    Liu, Jian
    Bastani, Farokh B.
    Yen, I-Ling
    ADVANCES IN SYSTEMS, COMPUTING SCIENCES AND SOFTWARE ENGINEERING, 2006, : 39 - +
  • [37] DIPC: A system software solution for distributed programming
    Karimi, K
    Sharifi, M
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-III, PROCEEDINGS, 1997, : 218 - 221
  • [38] Globally distributed software development and pair programming
    Flor, Nick V.
    COMMUNICATIONS OF THE ACM, 2006, 49 (10) : 57 - 58
  • [39] Teaching Practices of Software Testing in Programming Education
    Scatalon, Lilian Passos
    Garcia, Rogerio Eduardo
    Barbosa, Ellen Francine
    2020 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2020), 2020,
  • [40] Teaching Methodology for Programming Using Software Based on Electronics-Specific Language
    Munoz Guerrero, Luis Eduardo
    Duque Fernandez de Soto, Juan Esteban
    Franco Gonzalez, Jose Esteban
    ACADEMIA Y VIRTUALIDAD, 2023, 16 (02): : 51 - 65