首页 > 最新文献

2017 IEEE Blocks and Beyond Workshop (B&B)最新文献

英文 中文
Really pushing my buttons: Affordances in block interfaces 真正触动我的是:块界面中的可视性
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120403
Austin Cory Bart, Luke Gusukuma, D. Kafura
Block-based languages are a useful scaffold for novice programmers to create syntactically correct code. However, block environments that attempt to represent feature-rich languages, such as Python or Java, face serious usability and pedagogical challenges. How can the affordances and controls of a block be exposed, without over-complicating the block's interface and obscuring its meaning to the user? In this paper, we visually explore a number of interface mechanisms to reconfigure blocks. We outline research questions to compare and contrast the advantages and disadvantages of these mechanisms, and call on the community to pursue these trade-offs further.
对于新手程序员来说,基于块的语言是创建语法正确的代码的有用脚手架。然而,试图表示功能丰富的语言(如Python或Java)的块环境面临着严重的可用性和教学挑战。如何在不使块的界面过于复杂和模糊其对用户的意义的情况下,暴露块的功能和控制?在本文中,我们可视化地探索了一些接口机制来重新配置块。我们概述了研究问题,以比较和对比这些机制的优点和缺点,并呼吁社会进一步追求这些权衡。
{"title":"Really pushing my buttons: Affordances in block interfaces","authors":"Austin Cory Bart, Luke Gusukuma, D. Kafura","doi":"10.1109/BLOCKS.2017.8120403","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120403","url":null,"abstract":"Block-based languages are a useful scaffold for novice programmers to create syntactically correct code. However, block environments that attempt to represent feature-rich languages, such as Python or Java, face serious usability and pedagogical challenges. How can the affordances and controls of a block be exposed, without over-complicating the block's interface and obscuring its meaning to the user? In this paper, we visually explore a number of interface mechanisms to reconfigure blocks. We outline research questions to compare and contrast the advantages and disadvantages of these mechanisms, and call on the community to pursue these trade-offs further.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130898201","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Position paper: Block-based programming should offer intelligent support for learners 立场文件:基于块的编程应该为学习者提供智能支持
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120414
T. Price, T. Barnes
Block-based programming environments make learning to program easier by allowing learners to focus on concepts rather than syntax. However, these environments offer little support when learners encounter difficulty with programming concepts themselves, especially in the absence of instructors. Textual programming environments increasingly use AI and data mining to provide intelligent, adaptive support for students, similar to human tutoring, which has been shown to improve performance and learning outcomes. In this position paper, we argue that block-based programming environments should also include these features. This paper gives an overview of promising research in intelligent support for programming and highlights the challenges and opportunities for applying this work to block-based programming.
基于块的编程环境允许学习者专注于概念而不是语法,从而使编程学习更容易。然而,当学习者自己遇到编程概念的困难时,特别是在没有讲师的情况下,这些环境提供的支持很少。文本编程环境越来越多地使用人工智能和数据挖掘为学生提供智能、自适应的支持,类似于人类辅导,这已被证明可以提高表现和学习成果。在本文中,我们认为基于块的编程环境也应该包括这些特性。本文概述了在编程智能支持方面有前景的研究,并强调了将这项工作应用于基于块的编程的挑战和机遇。
{"title":"Position paper: Block-based programming should offer intelligent support for learners","authors":"T. Price, T. Barnes","doi":"10.1109/BLOCKS.2017.8120414","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120414","url":null,"abstract":"Block-based programming environments make learning to program easier by allowing learners to focus on concepts rather than syntax. However, these environments offer little support when learners encounter difficulty with programming concepts themselves, especially in the absence of instructors. Textual programming environments increasingly use AI and data mining to provide intelligent, adaptive support for students, similar to human tutoring, which has been shown to improve performance and learning outcomes. In this position paper, we argue that block-based programming environments should also include these features. This paper gives an overview of promising research in intelligent support for programming and highlights the challenges and opportunities for applying this work to block-based programming.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132977452","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
Tips for creating a block language with blockly 使用blockly创建块语言的技巧
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120404
E. Pasternak, Rachel Fenichel, Andrew N. Marshall
Blockly is an open source library that makes it easy to add block based visual programming to an app. It is designed to be flexible and supports a large set of features for different applications. It has been used for programming animated characters on a screen; creating story scripts; controlling robots; and even generating legal documents. But Blockly is not itself a language; developers who use Blockly create their own block languages. When developers create an app using Blockly, they should carefully consider the style, which blocks to use, and what APIs and language features are right for their audience.
Blockly是一个开源库,可以很容易地将基于块的可视化编程添加到应用程序中。它的设计是灵活的,并支持不同应用程序的大量功能。它已被用于为屏幕上的动画角色编程;创作故事剧本;控制机器人;甚至还能生成法律文件。但布洛克利本身并不是一种语言;使用Blockly的开发人员创建自己的块语言。当开发者使用Blockly创建应用时,他们应该仔细考虑block的风格,使用哪些block,以及哪些api和语言功能适合他们的用户。
{"title":"Tips for creating a block language with blockly","authors":"E. Pasternak, Rachel Fenichel, Andrew N. Marshall","doi":"10.1109/BLOCKS.2017.8120404","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120404","url":null,"abstract":"Blockly is an open source library that makes it easy to add block based visual programming to an app. It is designed to be flexible and supports a large set of features for different applications. It has been used for programming animated characters on a screen; creating story scripts; controlling robots; and even generating legal documents. But Blockly is not itself a language; developers who use Blockly create their own block languages. When developers create an app using Blockly, they should carefully consider the style, which blocks to use, and what APIs and language features are right for their audience.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"247 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133417651","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 96
Block-based versus flow-based programming for naive programmers 面向新手程序员的基于块的编程与基于流的编程
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120405
D. Mason, Kruti Dave
There is wide consensus that most people should have some programming capability, whether to control the Internet of Things, or to analyse the world of data around them. While some people focus on teaching conventional text-based languages like Javascript or Python, there is evidence that visual programming languages are more accessible for naive programmers. Visual programming languages fall into two broad categories: block-based, imperative programming, or flow-based, functional programming. However there have not been empirical studies to evaluate the relative merits of the two categories. This paper describes a study of hundreds of random people via Amazon Mechanical Turk attempting to program some simple problems in one or the other of two environments designed to be as similar as possible, except for the choice of paradigm.
人们普遍认为,无论是控制物联网,还是分析周围的数据世界,大多数人都应该具备一定的编程能力。虽然有些人专注于教授传统的基于文本的语言,如Javascript或Python,但有证据表明,对于新手程序员来说,可视化编程语言更容易上手。可视化编程语言分为两大类:基于块的命令式编程,或基于流的函数式编程。然而,目前还没有实证研究来评估这两种类别的相对优劣。本文描述了一项通过Amazon Mechanical Turk对数百名随机人员进行的研究,该研究试图在两种设计得尽可能相似的环境中的一种或另一种环境中编程一些简单的问题,只是范式的选择不同。
{"title":"Block-based versus flow-based programming for naive programmers","authors":"D. Mason, Kruti Dave","doi":"10.1109/BLOCKS.2017.8120405","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120405","url":null,"abstract":"There is wide consensus that most people should have some programming capability, whether to control the Internet of Things, or to analyse the world of data around them. While some people focus on teaching conventional text-based languages like Javascript or Python, there is evidence that visual programming languages are more accessible for naive programmers. Visual programming languages fall into two broad categories: block-based, imperative programming, or flow-based, functional programming. However there have not been empirical studies to evaluate the relative merits of the two categories. This paper describes a study of hundreds of random people via Amazon Mechanical Turk attempting to program some simple problems in one or the other of two environments designed to be as similar as possible, except for the choice of paradigm.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"18 Suppl 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123563514","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 11
Towards collaborative block-based programming on digital tabletops 面向数字桌面的协作式基于块的编程
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120412
Ben Selwyn-Smith, Michael Homer, C. Anslow
Block-based programming environments are typically designed for desktop machines or mobile devices. Desktops and mobiles are generally designed for single users to interact with, which makes it hard for multiple users to collaborate effectively. In this paper we explore the possibilities of digital multi-touch tabletops to foster collaborative programming in a block-based paradigm. We note both the different challenges afforded in this new interaction model and the potential benefits unique to collaborative programming with tabletops.
基于块的编程环境通常是为桌面机器或移动设备设计的。台式机和移动设备通常是为单个用户交互而设计的,这使得多个用户很难有效地协作。在本文中,我们探讨了数字多点触摸桌面在基于块的范例中促进协作编程的可能性。我们注意到这种新的交互模型所带来的不同挑战,以及桌面协作编程所特有的潜在好处。
{"title":"Towards collaborative block-based programming on digital tabletops","authors":"Ben Selwyn-Smith, Michael Homer, C. Anslow","doi":"10.1109/BLOCKS.2017.8120412","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120412","url":null,"abstract":"Block-based programming environments are typically designed for desktop machines or mobile devices. Desktops and mobiles are generally designed for single users to interact with, which makes it hard for multiple users to collaborate effectively. In this paper we explore the possibilities of digital multi-touch tabletops to foster collaborative programming in a block-based paradigm. We note both the different challenges afforded in this new interaction model and the potential benefits unique to collaborative programming with tabletops.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129695860","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
The need for improved support for interacting with block examples 需要改进对与块示例交互的支持
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120415
Michelle Ichinco, Caitlin L. Kelleher
Programmers often attempt to use example code in order to fix bugs, learn, and remind themselves of code concepts. Many existing programming environments make text code examples available for the common programmer. Blocks code examples are typically less available within programming environments and harder to re-appropriate, especially for novices learning independently. This position statement suggests ways of making example code more available and useful to novice programmers in blocks programming environments.
程序员经常尝试使用示例代码来修复错误、学习和提醒自己代码概念。许多现有的编程环境为普通程序员提供了文本代码示例。块代码示例在编程环境中通常不太可用,并且很难重新调整,特别是对于独立学习的新手。这一立场陈述提出了使示例代码对块编程环境中的新手程序员更可用和更有用的方法。
{"title":"The need for improved support for interacting with block examples","authors":"Michelle Ichinco, Caitlin L. Kelleher","doi":"10.1109/BLOCKS.2017.8120415","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120415","url":null,"abstract":"Programmers often attempt to use example code in order to fix bugs, learn, and remind themselves of code concepts. Many existing programming environments make text code examples available for the common programmer. Blocks code examples are typically less available within programming environments and harder to re-appropriate, especially for novices learning independently. This position statement suggests ways of making example code more available and useful to novice programmers in blocks programming environments.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115443522","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Using feature vector representations to identify similar projects in app inventor 使用特征向量表示来识别app inventor中的类似项目
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120430
Maja Svanberg
In trying to understand the big picture of how users learn to program in App Inventor, we want to be able to represent projects in a way suitable for large scale learning analytics. Here I present different representations of projects that could potentially be used to identify App Inventor projects that have structural similarities to each other, e.g., projects created by users following tutorials. I compare the different representations based solely on how accurately they predict the correct tutorial from a labeled data set. The results suggest that we use both blocks and components from a project, apply TF-IDF to the counts of each feature, and measure distance or similarity in terms of a generalized Jaccard distance. This work lays the foundation for being able to find clusters of similar projects to distinguish original from unoriginal projects and to be able to filter out similar projects when trying to determine a user's skill level.
在尝试理解用户如何在App Inventor中学习编程的大图景时,我们希望能够以适合大规模学习分析的方式表示项目。在这里,我提出了不同的项目表示,这些项目可能用于识别具有彼此结构相似性的App Inventor项目,例如,由用户按照教程创建的项目。我比较不同的表示,仅仅基于它们从标记数据集中预测正确教程的准确性。结果表明,我们使用项目中的块和组件,将TF-IDF应用于每个特征的计数,并根据广义Jaccard距离测量距离或相似性。这项工作为能够找到类似项目的集群以区分原创和非原创项目以及在尝试确定用户技能水平时能够过滤掉类似项目奠定了基础。
{"title":"Using feature vector representations to identify similar projects in app inventor","authors":"Maja Svanberg","doi":"10.1109/BLOCKS.2017.8120430","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120430","url":null,"abstract":"In trying to understand the big picture of how users learn to program in App Inventor, we want to be able to represent projects in a way suitable for large scale learning analytics. Here I present different representations of projects that could potentially be used to identify App Inventor projects that have structural similarities to each other, e.g., projects created by users following tutorials. I compare the different representations based solely on how accurately they predict the correct tutorial from a labeled data set. The results suggest that we use both blocks and components from a project, apply TF-IDF to the counts of each feature, and measure distance or similarity in terms of a generalized Jaccard distance. This work lays the foundation for being able to find clusters of similar projects to distinguish original from unoriginal projects and to be able to filter out similar projects when trying to determine a user's skill level.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114389477","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Block-oriented programming with tangibles: An engaging way to learn computational thinking skills 有形的面向块的编程:学习计算思维技能的一种引人入胜的方式
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120413
A. Malizia, Tommaso Turchi, K. Olsen
Block-oriented programming environments, such as Scratch and AppInventor, have become mainstream and have helped introduce non-programmers to algorithmic thinking; that is, to computational thinking (CT) skills. In various experiments, referenced in this paper, we observed how objects (tangibles) augmented with digital properties — that is, tangible user interface (TUI) objects — can help develop CT skills. We investigate which paradigm can be used to introduce CT skills with TUIs. By drawing on past experience, we conclude that block-oriented programming provides a suitable answer to our research questions. Furthermore, we introduce a framework for implementing block-oriented programmable objects that we believe can help end-users learn CT skills.
面向块的编程环境,如Scratch和AppInventor,已经成为主流,并帮助非程序员了解算法思维;也就是计算思维(CT)技能。在本文中引用的各种实验中,我们观察了带有数字属性的对象(有形)-即有形用户界面(TUI)对象-如何帮助培养CT技能。我们研究了哪种模式可以用来介绍CT技能与tui。通过借鉴过去的经验,我们得出结论,面向块的编程为我们的研究问题提供了一个合适的答案。此外,我们引入了一个框架来实现面向块的可编程对象,我们相信它可以帮助最终用户学习CT技能。
{"title":"Block-oriented programming with tangibles: An engaging way to learn computational thinking skills","authors":"A. Malizia, Tommaso Turchi, K. Olsen","doi":"10.1109/BLOCKS.2017.8120413","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120413","url":null,"abstract":"Block-oriented programming environments, such as Scratch and AppInventor, have become mainstream and have helped introduce non-programmers to algorithmic thinking; that is, to computational thinking (CT) skills. In various experiments, referenced in this paper, we observed how objects (tangibles) augmented with digital properties — that is, tangible user interface (TUI) objects — can help develop CT skills. We investigate which paradigm can be used to introduce CT skills with TUIs. By drawing on past experience, we conclude that block-oriented programming provides a suitable answer to our research questions. Furthermore, we introduce a framework for implementing block-oriented programmable objects that we believe can help end-users learn CT skills.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127722768","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
TAPping into mental models with blocks 用积木进入思维模式
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120429
D. Rough, A. Quigley
Trigger-Action Programming (TAP) has been shown to support end-users' rule-based mental models of context-aware applications. However, when desired behaviours increase in complexity, this can lead to ambiguity that confuses events, states, and how they can be combined in meaningful ways. Blocks programming could provide a solution, through constrained editing of visual triggers, conditions and actions. We observed slips and mistakes by users performing TAP with Jeeves, our domain-specific blocks environment, and propose solutions.
触发-动作编程(TAP)已被证明支持最终用户基于规则的上下文感知应用的心智模型。然而,当期望行为的复杂性增加时,这可能会导致混淆事件、状态以及如何以有意义的方式组合它们的模糊性。通过对视觉触发器、条件和动作进行有约束的编辑,块编程可以提供一个解决方案。我们观察了用户使用Jeeves(我们的领域特定块环境)执行TAP时出现的失误和错误,并提出了解决方案。
{"title":"TAPping into mental models with blocks","authors":"D. Rough, A. Quigley","doi":"10.1109/BLOCKS.2017.8120429","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120429","url":null,"abstract":"Trigger-Action Programming (TAP) has been shown to support end-users' rule-based mental models of context-aware applications. However, when desired behaviours increase in complexity, this can lead to ambiguity that confuses events, states, and how they can be combined in meaningful ways. Blocks programming could provide a solution, through constrained editing of visual triggers, conditions and actions. We observed slips and mistakes by users performing TAP with Jeeves, our domain-specific blocks environment, and propose solutions.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121265219","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
An AST-based interface for composing and editing javascript on the phone 一个基于ast的界面,用于在手机上编写和编辑javascript
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120402
Yana Malysheva
Grasshopper is an Android application which teaches people JavaScript through a series of coding puzzles. As part of this application, we developed an AST-based JavaScript editor for the phone. The visual representation of the code is built using the AST as the source of truth, and user actions modify the AST rather than a code string, much like a block code editor. At the same time, we style this visual representation to look as similar as possible to syntax-highlighted, formatted JavaScript code in a text based editor. This paper outlines the system, the reasoning behind this design, and some early observations from users interacting with it.
Grasshopper是一个Android应用程序,它通过一系列的编码谜题来教人们JavaScript。作为这个应用程序的一部分,我们为手机开发了一个基于ast的JavaScript编辑器。代码的可视化表示是使用AST作为事实来源构建的,用户操作修改AST而不是代码字符串,这很像块代码编辑器。同时,我们对这个可视化表示样式进行设计,使其看起来尽可能类似于基于文本的编辑器中语法高亮显示的格式化JavaScript代码。本文概述了这个系统,这个设计背后的原因,以及一些与它交互的用户的早期观察。
{"title":"An AST-based interface for composing and editing javascript on the phone","authors":"Yana Malysheva","doi":"10.1109/BLOCKS.2017.8120402","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120402","url":null,"abstract":"Grasshopper is an Android application which teaches people JavaScript through a series of coding puzzles. As part of this application, we developed an AST-based JavaScript editor for the phone. The visual representation of the code is built using the AST as the source of truth, and user actions modify the AST rather than a code string, much like a block code editor. At the same time, we style this visual representation to look as similar as possible to syntax-highlighted, formatted JavaScript code in a text based editor. This paper outlines the system, the reasoning behind this design, and some early observations from users interacting with it.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"95 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114868599","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
期刊
2017 IEEE Blocks and Beyond Workshop (B&B)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1