Frame-Based Editing: Combining the Best of Blocks and Text Programming

Neil C. C. Brown, Amjad AlTadmri, Michael Kölling
{"title":"Frame-Based Editing: Combining the Best of Blocks and Text Programming","authors":"Neil C. C. Brown, Amjad AlTadmri, Michael Kölling","doi":"10.1109/LATICE.2016.16","DOIUrl":null,"url":null,"abstract":"Editing program code as text has several major weaknesses: syntax errors (such as mismatched braces) interrupt programmer flow and make automated tool support harder, boilerplate code templates have to be typed out, and programmers are responsible for layout. These issues have been known about for decades, but early attempts to address these issues, in the form of structured editors, produced unwieldy, hard-to-use tools which failed to catch on. Recently, however, block-based editors in education like Scratch and Snap! have demonstrated that modern graphical structured editors can provide great benefits for programming novices, including very young age groups. These editors become cumbersome for more advanced users, due to their unbending focus on mouse input for block creation and manipulation, and poor scaling of navigation and manipulation facilities to larger programs. Thus, after a few years, learners tend to move from Scratch to text-based editing. In this paper, we present the design and implementation of a novel way to edit programs: frame-based editing. Frame-based editing improves text-based editing by incorporating techniques from block-based editing, and thus provides a suitable follow-on from tools like Scratch. Frame-based editing retains the easy navigation and clearer display of textual code to support manipulation of complex programs, but fuses this with some of the structured editing capabilities that block programming has shown to be viable. The resulting system combines the advantages of text and structured blocks. Preliminary experiments suggest that frame-based editing enables faster program entry than blocks or text, while resulting in fewer syntax errors. We believe it provides an interesting future direction for program editing for learners at all levels of proficiency.","PeriodicalId":281941,"journal":{"name":"2016 International Conference on Learning and Teaching in Computing and Engineering (LaTICE)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-03-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"26","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 International Conference on Learning and Teaching in Computing and Engineering (LaTICE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/LATICE.2016.16","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 26

Abstract

Editing program code as text has several major weaknesses: syntax errors (such as mismatched braces) interrupt programmer flow and make automated tool support harder, boilerplate code templates have to be typed out, and programmers are responsible for layout. These issues have been known about for decades, but early attempts to address these issues, in the form of structured editors, produced unwieldy, hard-to-use tools which failed to catch on. Recently, however, block-based editors in education like Scratch and Snap! have demonstrated that modern graphical structured editors can provide great benefits for programming novices, including very young age groups. These editors become cumbersome for more advanced users, due to their unbending focus on mouse input for block creation and manipulation, and poor scaling of navigation and manipulation facilities to larger programs. Thus, after a few years, learners tend to move from Scratch to text-based editing. In this paper, we present the design and implementation of a novel way to edit programs: frame-based editing. Frame-based editing improves text-based editing by incorporating techniques from block-based editing, and thus provides a suitable follow-on from tools like Scratch. Frame-based editing retains the easy navigation and clearer display of textual code to support manipulation of complex programs, but fuses this with some of the structured editing capabilities that block programming has shown to be viable. The resulting system combines the advantages of text and structured blocks. Preliminary experiments suggest that frame-based editing enables faster program entry than blocks or text, while resulting in fewer syntax errors. We believe it provides an interesting future direction for program editing for learners at all levels of proficiency.
基于框架的编辑:结合最好的块和文本编程
将程序代码编辑为文本有几个主要的缺点:语法错误(例如不匹配的大括号)会中断程序员流程,使自动化工具支持变得更加困难,样板代码模板必须输入,程序员负责布局。这些问题早在几十年前就已为人所知,但早期以结构化编辑器的形式解决这些问题的尝试,产生了笨拙、难以使用的工具,未能流行起来。然而,最近基于块的教育编辑器,如Scratch和Snap!已经证明了现代图形化结构化编辑器可以为编程新手(包括非常年轻的年龄组)提供巨大的好处。对于更高级的用户来说,这些编辑器变得很麻烦,因为它们专注于鼠标输入来创建和操作块,并且对于更大的程序来说,导航和操作设施的扩展性很差。因此,几年后,学习者倾向于从零开始到基于文本的编辑。在本文中,我们提出了一种新的编辑程序的方法:基于框架的编辑。基于框架的编辑通过结合基于块的编辑技术来改进基于文本的编辑,从而提供了诸如Scratch之类的工具的合适后续。基于框架的编辑保留了简单的导航和更清晰的文本代码显示,以支持对复杂程序的操作,但将其与块编程已证明可行的一些结构化编辑功能融合在一起。最终的系统结合了文本和结构化块的优点。初步实验表明,基于框架的编辑可以比块或文本更快地进入程序,同时导致更少的语法错误。我们相信它为所有熟练程度的学习者提供了一个有趣的节目编辑的未来方向。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信