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 条
  • [1] Using software visualization to support the teaching of distributed programming
    Di Rocco, Lorenzo
    Petrillo, Umberto Ferraro
    Palini, Francesco
    JOURNAL OF SUPERCOMPUTING, 2023, 79 (04): : 3974 - 3998
  • [2] Application of Software Visualization in Programming Teaching
    Ding, Yi
    Hang, Yongmin
    Wan, Gang
    He, Shuiyan
    2014 PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION (ICCSE 2014), 2014, : 803 - 806
  • [3] Teaching programming using visualization
    Rudder, Andrew
    Bernard, Margaret
    Mohammed, Shareeda
    PROCEEDINGS OF THE SIXTH IASTED INTERNATIONAL CONFERENCE ON WEB-BASED EDUCATION, 2007, : 487 - +
  • [4] EDUCATIONAL SOFTWARE AS A SUPPORT FOR TEACHING IN PROGRAMMING.
    Campillay Briones, Servando
    Guggiana Diaz, Carlo
    2018 37TH INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY (SCCC), 2018,
  • [5] Using Software Visualization for Supporting the Teaching of MapReduce
    Petrillo, Umberto Ferraro
    NETWORK AND SYSTEM SECURITY (NSS 2018), 2018, 11058 : 349 - 360
  • [6] A C Language Programming Education Support System based on Software Visualization
    Matsumura, Kazuya
    Daisuke, Shirai
    He, Aiguo
    JCPC: 2009 JOINT CONFERENCE ON PERVASIVE COMPUTING, 2009, : 9 - +
  • [7] Using molecular visualization software in teaching chemical kinetics
    Gelder, John I.
    Abraham, Michael R.
    Greenbowe, Thomas J.
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2011, 241
  • [8] PROGRAMMING LANGUAGE SUPPORT FOR WRITING FAULT-TOLERANT DISTRIBUTED SOFTWARE
    SCHLICHTING, RD
    THOMAS, VT
    IEEE TRANSACTIONS ON COMPUTERS, 1995, 44 (02) : 203 - 212
  • [9] Visualization of cracks by using the local Voronoi decompositions and distributed software
    Pacevic, Ruslan
    Kaceniauskas, Arnas
    Markauskas, Darius
    ADVANCES IN ENGINEERING SOFTWARE, 2015, 84 : 85 - 94
  • [10] Eclipse Support for Using Eli and Teaching Programming Languages
    Sloane, Anthony M.
    Waite, William M.
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 141 (04) : 189 - 194