Block-Based Programming Abstractions for Explicit Parallel Computing

被引:0
|
作者
Feng, Annette [1 ]
Tilevich, Eli [2 ]
Feng, Wu-chun [1 ,2 ]
机构
[1] Virginia Tech, Dept Comp Sci, Blacksburg, VA 24061 USA
[2] Virginia Tech, Dept Elect & Comp Engn, Blacksburg, VA USA
关键词
explicit parallel computing; computer science education; block-based programming; visual programming; parallel computational patterns;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With the majority of computing devices now featuring multiple computing cores, modern programmers need to be able to write programs that utilize these cores in parallel to extract the requisite levels of performance. Despite the need for such explicit parallel computing, few programmers are properly groomed in the mindset and the practices of parallel computing. Block-based programming languages, such as Scratch and Snapl, have proven to be a highly effective means of teaching fundamental programming concepts to a wide student audience. Nevertheless, the rich feature-set of mainstream block-based programming environments lack abstractions for explicit parallel programming, thus missing the opportunity to introduce this increasingly important programming concept at a time when the students' minds are most receptive. This paper reports on the results of an NSF-sponsored project for adding and integrating explicit programming abstractions, including producer-consumer, master-worker, and MapReduce, to block-based languages. We describe our reference implementation of adding the producer-consumer abstraction to Snap! and an educational project that utilizes this abstraction. This project clearly demonstrate the key features of parallel processing, without unduly burdening the programmer with the low-level details that this programming model typically entails. Our initial results show great potential in introducing the key concepts of parallel computing via block-based programming.
引用
收藏
页码:71 / 75
页数:5
相关论文
共 50 条
  • [21] Design Patterns and Automated Support for Block-Based Programming Activities in Non-Computing Classes
    Lytle, Nicholas
    2019 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2019), 2019, : 233 - 234
  • [22] Effect of Block-Based Python']Python Programming Environment on Programming Learning
    Kim, Yongcheon
    Kim, Jamee
    Lee, Wongyu
    APPLIED SCIENCES-BASEL, 2023, 13 (19):
  • [23] Position: Accessible Block-Based Programming: Why and How
    Milne, Lauren R.
    Ladner, Richard E.
    2019 IEEE BLOCKS AND BEYOND WORKSHOP (B&B), 2019, : 19 - 22
  • [24] Co-located Collaborative Block-Based Programming
    Selwyn-Smith, Ben
    Anslow, Craig
    Homer, Michael
    Wallace, James R.
    2019 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2019), 2019, : 107 - 116
  • [25] Design and analysis of microworlds and puzzles for block-based programming
    Pelanek, Radek
    Effenberger, Tomas
    COMPUTER SCIENCE EDUCATION, 2022, 32 (01) : 66 - 104
  • [26] THE PROBLEM WITH DEBUGGING IN CURRENT BLOCK-BASED PROGRAMMING ENVIRONMENTS
    Hromkovi, Juraj
    Staub, Jacqueline
    BULLETIN OF THE EUROPEAN ASSOCIATION FOR THEORETICAL COMPUTER SCIENCE, 2021, (135):
  • [27] BlockXR: A Novel Tangible Block-Based Programming Platform
    De Siqueira, Alexandre G.
    Feijoo-Garcia, Pedro G.
    Stanley, Sean P.
    2021 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2021), 2021,
  • [28] Towards Collaborative Block-Based Programming on Digital Tabletops
    Selwyn-Smith, Ben
    Homer, Michael
    Anslow, Craig
    2017 IEEE BLOCKS AND BEYOND WORKSHOP (B&B), 2017, : 57 - 60
  • [29] Cubely: Virtual Reality Block-Based Programming Environment
    Vincur, Juraj
    Konopka, Martin
    Tvarozek, Jozef
    Hoang, Martin
    Navrat, Pavol
    VRST'17: PROCEEDINGS OF THE 23RD ACM SYMPOSIUM ON VIRTUAL REALITY SOFTWARE AND TECHNOLOGY, 2017,
  • [30] Evaluating the Effectiveness of Parsons Problems for Block-based Programming
    Zhi, Rui
    Chi, Min
    Barnes, Tiffany
    Price, Thomas W.
    ICER '19 - PROCEEDINGS OF THE 2019 ACM CONFERENCE ON INTERNATIONAL COMPUTING EDUCATION RESEARCH, 2019, : 51 - 59