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

被引:13
作者
Brown, Neil C. C. [1 ]
Altadmri, Amjad [1 ]
Kolling, Michael [1 ]
机构
[1] Univ Kent, Canterbury, Kent, England
来源
PROCEEDINGS OF 2016 INTERNATIONAL CONFERENCE ON LEARNING AND TEACHING IN COMPUTING AND ENGINEERING (LATICE 2016) | 2016年
关键词
D O I
10.1109/LaTiCE.2016.16
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:47 / 53
页数:7
相关论文
共 12 条
[1]  
Cooper S., 2010, ACM T COMPUT EDUC, V10, P15
[2]   THE INFORMATION CAPACITY OF THE HUMAN MOTOR SYSTEM IN CONTROLLING THE AMPLITUDE OF MOVEMENT [J].
FITTS, PM .
JOURNAL OF EXPERIMENTAL PSYCHOLOGY, 1954, 47 (06) :381-391
[3]  
John B.E., 2004, Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, P455, DOI DOI 10.1145/985692.985750
[4]  
Ko A.J., 2005, CHI 05 EXTENDED ABST, P1557
[5]  
Koitz R., 2014, Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools, P21, DOI DOI 10.1145/2688204.2688209
[6]   Frame-Based Editing: Easing the Transition from Blocks to Text-Based Programming [J].
Kolling, Michael ;
Brown, Neil C. C. ;
Altadmri, Amjad .
PROCEEDINGS OF THE 10TH WORKSHOP IN PRIMARY AND SECONDARY COMPUTING EDUCATION, WIPSCE 2015, 2015, :29-38
[7]  
Kolling Michael, 2010, ACM Transactions on Computing Education (TOCE), V10, P1
[8]  
Maloney J., 2010, ACM Transactions on Computing Education, V10, P1, DOI [DOI 10.1145/1868358.1868363, 10.1145/1868358.186]
[9]  
McKay F., 2013, BCS HCI 13
[10]  
Neal L. R., 1986, SIGCHI B, V18, P99