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 条
  • [31] iSnap: Automatic Hints and Feedback for Block-based Programming
    Price, Thomas W.
    SIGCSE'18: PROCEEDINGS OF THE 49TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2018, : 1113 - 1113
  • [32] Towards Making Block-based Programming Activities Adaptive
    Effenberger, Tomas
    Pelanek, Radek
    PROCEEDINGS OF THE FIFTH ANNUAL ACM CONFERENCE ON LEARNING AT SCALE (L@S'18), 2018,
  • [33] Effect of the use of block-based languages in programming learning
    Lopez Puente, Eva
    2022 INTERNATIONAL SYMPOSIUM ON COMPUTERS IN EDUCATION (SIIE), 2022,
  • [34] Supporting Interactive Storytelling with Block-Based Narrative Programming
    Smith, Andy
    Boulden, Danielle
    Mott, Bradford
    Hubbard-Cheuoua, Aleata
    Minogue, James
    Oliver, Kevin
    Ringstaff, Cathy
    INTERACTIVE STORYTELLING, ICIDS 2021, 2021, 13138 : 416 - 424
  • [35] Measuring an Impact of Block-Based Language in Introductory Programming
    Matsuzawa, Yoshiaki
    Tanaka, Yoshiki
    Sakai, Sanshiro
    STAKEHOLDERS AND INFORMATION TECHNOLOGY IN EDUCATION (SAITE 2016), 2016, 493 : 16 - 25
  • [36] Compositional programming abstractions for mobile computing
    McCann, PJ
    Roman, GC
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (02) : 97 - 110
  • [37] Abstractions for portable, scalable parallel programming
    Alverson, GA
    Griswold, WG
    Lin, C
    Notkin, D
    Snyder, L
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1998, 9 (01) : 71 - 86
  • [38] Block-based parallel intra prediction scheme for HEVC
    Jiang, Jie
    Guo, Baolong
    Mo, Wei
    Fan, Kefeng
    Journal of Multimedia, 2012, 7 (04): : 289 - 294
  • [39] Abstractions for portable, scalable parallel programming
    Tera Computer Co, Seattle, United States
    IEEE Trans Parallel Distrib Syst, 1 (71-86):
  • [40] A Block-Based Pass-Parallel SPIHT Algorithm
    Jin, Yongseok
    Lee, Hyuk-Jae
    IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 2012, 22 (07) : 1064 - 1075