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 条
  • [1] Understanding students' abstractions in block-based programming environments: A performance based evaluation
    Cakiroglu, Unal
    Cevik, Isak
    Koseli, Engin
    Aydin, Merve
    THINKING SKILLS AND CREATIVITY, 2021, 41
  • [2] BlocklyPar: from sequential to parallel with block-based visual programming
    Veroneze Solorzano, Ana Luisa
    Charao, Andrea Schwertner
    2021 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2021), 2021,
  • [3] Block-based abstractions and expansive services to make advanced computing concepts accessible to novices
    Brady, Corey
    Broll, Brian
    Stein, Gordon
    Jean, Devin
    Grover, Shuchi
    Catete, Veronica
    Barnes, Tiffany
    Ledeczi, Akos
    JOURNAL OF COMPUTER LANGUAGES, 2022, 73
  • [4] A Novel and Efficient Block-Based Programming for ReRAM-Based Neuromorphic Computing
    Chen, Wei-Lun
    Gu, Fang-Yi
    Lin, Ing-Chao
    Zhang, Grace Li
    Li, Bing
    Schlichtmann, Ulf
    2023 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER AIDED DESIGN, ICCAD, 2023,
  • [5] A Block-Based Programming Environment for Teaching Low-Level Computing (Discussion)
    Wörister, Florian
    Knobelsdorf, Maria
    ACM International Conference Proceeding Series, 2023,
  • [6] Synthesizing Tasks for Block-based Programming
    Ahmed, Umair Z.
    Christakis, Maria
    Efremov, Aleksandr
    Fernandez, Nigel
    Ghosh, Ahana
    Roychoudhury, Abhik
    Singla, Adish
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 33, NEURIPS 2020, 2020, 33
  • [7] Debugging during block-based programming
    ChanMin Kim
    Jiangmei Yuan
    Lucas Vasconcelos
    Minyoung Shin
    Roger B. Hill
    Instructional Science, 2018, 46 : 767 - 787
  • [8] Debugging during block-based programming
    Kim, ChanMin
    Yuan, Jiangmei
    Vasconcelos, Lucas
    Shin, Minyoung
    Hill, Roger B.
    INSTRUCTIONAL SCIENCE, 2018, 46 (05) : 767 - 787
  • [9] Smells in Block-Based Programming Languages
    Hermans, Felienne
    Stolee, Kathryn T.
    Hoepelman, David
    2016 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC), 2016, : 68 - 72
  • [10] The landscape of Block-based programming: Characteristics of block-based environments and how they support the transition to text-based programming
    Lin, Yuhan
    Weintrop, David
    JOURNAL OF COMPUTER LANGUAGES, 2021, 67