共 1 条
Position: Reusing in the Small: Promoting Procedural Abstraction in Scratch Communal Learning
被引:0
|作者:
Techapalokul, Peeratham
[1
]
Tilevich, Eli
[1
]
机构:
[1] Virginia Tech, Dept Comp Sci, Software Innovat Lab, Blacksburg, VA 24061 USA
来源:
2019 IEEE BLOCKS AND BEYOND WORKSHOP (B&B)
|
2019年
基金:
美国国家科学基金会;
关键词:
block-based programming;
procedural abstraction;
reusability;
code quality;
Scratch;
introductory computing;
D O I:
暂无
中图分类号:
TP31 [计算机软件];
学科分类号:
081202 ;
0835 ;
摘要:
One of the most important concepts for budding programmers to master is procedural abstraction. Defined as placing coherent, possibly reusable, functionalities within their own encapsulated program units (e.g., procedures, functions, methods, custom blocks), this concept requires a tangible increase in programming proficiency to master. First and foremost, procedural abstraction is a means of conquering complexitythe ability to convincingly divide the program functionality into distinct coherent parts that are easy to understand and use. In addition, as invocable units of functionality, procedures provide ready-made components that encapsulate the hidden details of their implementation. One of the biggest advantages of Scratch is its seamless support for communal learning, realized as the ability to share and remix projects with ease. However, programmers remix Scratch projects in their entirety, carrying out the corresponding reuse and extension activities at the project level of granularity. In this position paper, we argue in favor of extending Scratch with the ability to reuse individual procedures, implemented as custom blocks. This ability has the great potential benefit of instilling the value of procedural abstraction in the minds of beginner programmers. We discuss how a reuse facility for custom blocks can be added to Scratch by identifying the corresponding design objectives, challenges, and opportunities.
引用
收藏
页码:59 / 61
页数:3
相关论文