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 条
  • [21] A SOFTWARE TOOL FOR PROGRAMMING, TEACHING AND USING DATA-ANALYSIS METHODS
    HAMMAD, A
    JOCKIN, J
    JUNET, M
    LEONARD, M
    SADEG, B
    SCHEKTMAN, Y
    VIELLE, D
    DATA ANALYSIS, LEARNING SYMBOLIC AND NUMERIC KNOWLEDGE, 1989, : 159 - 166
  • [22] STRATOS: Using Visualization to Support Decisions in Strategic Software Release Planning
    Aseniero, Bon Adriel
    Wun, Tiffany
    Ledo, David
    Ruhe, Guenther
    Tang, Anthony
    Carpendale, Sheelagh
    CHI 2015: PROCEEDINGS OF THE 33RD ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, 2015, : 1479 - 1488
  • [23] Using Visualization to Debug Visualization Software
    Laramee, Robert S.
    IEEE COMPUTER GRAPHICS AND APPLICATIONS, 2010, 30 (06) : 67 - 73
  • [24] CodeSaw: A social visualization of distributed software development
    Gilbert, Eric
    Karahalios, Karrie
    HUMAN-COMPUTER INTERACTION - INTERACT 2007, PT 2, PROCEEDINGS, 2007, 4663 : 303 - +
  • [25] DEVELOPMENT OF AN AVIONICS SOFTWARE SUPPORT SYSTEM USING MODERN PROGRAMMING TECHNIQUES
    BURLAKOF, M
    IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS, 1977, 13 (04) : 459 - 459
  • [26] SUPPORT FOR DISTRIBUTED PROGRAMMING IN EXTREME STYLE
    Dajda, Jacek
    Ciszewski, Stanislaw
    COMPUTER SCIENCE-AGH, 2005, 7 : 49 - 61
  • [27] Linguistic support for distributed programming abstractions
    Damm, CH
    Eugster, PT
    Guerraoui, R
    24TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PROCEEDINGS, 2004, : 244 - 251
  • [28] Teaching distributed multidisciplinary software development
    Burnell, LJ
    Priest, JW
    Durrett, JR
    IEEE SOFTWARE, 2002, 19 (05) : 86 - +
  • [29] Teaching Students Global Software Engineering Skills using Distributed Scrum
    Paasivaara, Maria
    Lassenius, Casper
    Damian, Daniela
    Raty, Petteri
    Schroeter, Adrian
    PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 1128 - 1137
  • [30] Teaching basic crystallography and diffraction using open access structure visualization software
    Beekman, Matt
    MRS ADVANCES, 2022, 7 (22) : 482 - 487