首页 > 最新文献

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

英文 中文
Extending the design of a blocks-based python environment to support complex types 扩展基于块的python环境的设计以支持复杂类型
Pub Date : 2017-12-01 DOI: 10.1109/BLOCKS.2017.8120400
Matthew Poole
We are currently developing PyBlocks, a blocks-based environment which allows novice programmers to construct and execute Python programs. In the initial design of PyBlocks [1], Python's basic data types and lists are represented using colors, every expression block is colored according to its type, and each unfilled slot contains color indicating all valid argument types. In this paper we extend the design to include Python's most common built-in composite types (lists, tuples, dictionaries and sets) and to allow nesting of these where appropriate. Using example types from a pedagogical media computation library, we also show how further types may be supported. Together, these extensions provide almost any type novice Python programmers are likely to use.
我们目前正在开发PyBlocks,这是一个基于块的环境,允许新手程序员构建和执行Python程序。在PyBlocks[1]的初始设计中,Python的基本数据类型和列表是使用颜色表示的,每个表达式块都根据其类型着色,每个未填充的槽包含指示所有有效参数类型的颜色。在本文中,我们扩展了设计,包括Python最常见的内置复合类型(列表、元组、字典和集合),并允许在适当的地方嵌套这些类型。使用来自教学媒体计算库的示例类型,我们还展示了如何支持其他类型。总之,这些扩展提供了几乎所有Python新手程序员可能使用的类型。
{"title":"Extending the design of a blocks-based python environment to support complex types","authors":"Matthew Poole","doi":"10.1109/BLOCKS.2017.8120400","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120400","url":null,"abstract":"We are currently developing PyBlocks, a blocks-based environment which allows novice programmers to construct and execute Python programs. In the initial design of PyBlocks [1], Python's basic data types and lists are represented using colors, every expression block is colored according to its type, and each unfilled slot contains color indicating all valid argument types. In this paper we extend the design to include Python's most common built-in composite types (lists, tuples, dictionaries and sets) and to allow nesting of these where appropriate. Using example types from a pedagogical media computation library, we also show how further types may be supported. Together, these extensions provide almost any type novice Python programmers are likely to use.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133618267","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}
引用次数: 6
Overcoming mental blocks: A blocks-based approach to experience sampling studies 克服心理障碍:基于块的经验抽样研究方法
Pub Date : 2017-12-01 DOI: 10.1109/BLOCKS.2017.8120409
D. Rough, A. Quigley
Experience Sampling Method (ESM) studies repeatedly survey participants on their behaviours and experiences as they go about their everyday lives. Smartphones afford an ideal platform for ESM study applications as devices seldom leave their users, and can automatically sense surrounding context to augment subjective survey responses. ESM studies are employed in fields such as psychology and social science where researchers are not necessarily programmers and require tools for application creation. Previous tools using web forms, text files, or flowchart paradigms are either insufficient to model the potential complexity of study protocols, or fail to provide a low threshold to entry. We demonstrate that blocks programming simultaneously lowers the barriers to creating simple study protocols, while enabling the creation of increasingly sophisticated protocols. We discuss the design of Jeeves, our blocks-based environment for ESM studies, and explain advantages that blocks afford in ESM study design.
经验抽样法(ESM)研究反复调查参与者在日常生活中的行为和经历。智能手机为ESM研究应用提供了一个理想的平台,因为设备很少离开用户,并且可以自动感知周围环境,以增强主观调查反应。ESM研究被用于心理学和社会科学等领域,这些领域的研究人员不一定是程序员,并且需要创建应用程序的工具。以前使用web表单、文本文件或流程图范例的工具要么不足以模拟研究协议的潜在复杂性,要么无法提供较低的入门门槛。我们证明,块编程同时降低了创建简单研究协议的障碍,同时使创建越来越复杂的协议成为可能。我们讨论了Jeeves的设计,这是我们用于ESM研究的基于块的环境,并解释了块在ESM研究设计中的优势。
{"title":"Overcoming mental blocks: A blocks-based approach to experience sampling studies","authors":"D. Rough, A. Quigley","doi":"10.1109/BLOCKS.2017.8120409","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120409","url":null,"abstract":"Experience Sampling Method (ESM) studies repeatedly survey participants on their behaviours and experiences as they go about their everyday lives. Smartphones afford an ideal platform for ESM study applications as devices seldom leave their users, and can automatically sense surrounding context to augment subjective survey responses. ESM studies are employed in fields such as psychology and social science where researchers are not necessarily programmers and require tools for application creation. Previous tools using web forms, text files, or flowchart paradigms are either insufficient to model the potential complexity of study protocols, or fail to provide a low threshold to entry. We demonstrate that blocks programming simultaneously lowers the barriers to creating simple study protocols, while enabling the creation of increasingly sophisticated protocols. We discuss the design of Jeeves, our blocks-based environment for ESM studies, and explain advantages that blocks afford in ESM study design.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"266 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124189966","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
Abstraction as a predictor of difficulty in quizly problems 抽象性作为小问题难度的预测指标
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120418
Beryl Hoffman, Ilya Ilyankou, R. Morelli
The Mobile Computer Science Principles curriculum collects data on embedded Quizly programming exercises, which are based on the App Inventor version of Blockly. We have recently started mining this data to determine whether student performance on the programming exercises matches our assumptions about the difficulty of the individual exercises. Various analytic techniques, such as linear regression, are used to identify those features that are most determinative of problem difficulty. Our analysis supports that the number of abstractions may be a useful predictor for the difficulty (defined for our data set as the average number of attempts) in solving Quizly exercises. However, there are other not so easily quantifiable factors that also affect a problem's difficulty.
移动计算机科学原理课程收集嵌入式Quizly编程练习的数据,这些练习基于App Inventor版本的Blockly。我们最近开始挖掘这些数据,以确定学生在编程练习中的表现是否符合我们对个别练习难度的假设。各种分析技术,如线性回归,被用来识别那些最决定问题难度的特征。我们的分析支持抽象的数量可能是解决Quizly练习的难度(在我们的数据集中定义为平均尝试次数)的有用预测器。然而,还有其他不那么容易量化的因素也会影响问题的难度。
{"title":"Abstraction as a predictor of difficulty in quizly problems","authors":"Beryl Hoffman, Ilya Ilyankou, R. Morelli","doi":"10.1109/BLOCKS.2017.8120418","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120418","url":null,"abstract":"The Mobile Computer Science Principles curriculum collects data on embedded Quizly programming exercises, which are based on the App Inventor version of Blockly. We have recently started mining this data to determine whether student performance on the programming exercises matches our assumptions about the difficulty of the individual exercises. Various analytic techniques, such as linear regression, are used to identify those features that are most determinative of problem difficulty. Our analysis supports that the number of abstractions may be a useful predictor for the difficulty (defined for our data set as the average number of attempts) in solving Quizly exercises. However, there are other not so easily quantifiable factors that also affect a problem's difficulty.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"42 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":"123857554","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
You can teach computer networking in high school 你可以在高中教计算机网络
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120419
B. Broll, Hamid Zare, D. N. Do, Mohini Misra, Á. Lédeczi
NetsBlox is a visual blocks-based programming language extending Snap! with a few carefully selected abstractions to support distributed programming. In this paper, we argue that with the help of NetsBlox, some of the fundamental concepts of computer networking can be included in the high school computer science curriculum. Specifically, we describe a set of curricular units that would fit nicely in the AP Computer Science Principles course. High school students in two short-term studies showed great engagement and were able to complete simple computer networking tasks.
NetsBlox是一种基于可视化块的编程语言,扩展了Snap!使用一些精心挑选的抽象来支持分布式编程。在本文中,我们认为在NetsBlox的帮助下,计算机网络的一些基本概念可以包含在高中计算机科学课程中。具体来说,我们描述了一套非常适合AP计算机科学原理课程的课程单元。在两项短期研究中,高中生表现出了很高的参与度,能够完成简单的计算机网络任务。
{"title":"You can teach computer networking in high school","authors":"B. Broll, Hamid Zare, D. N. Do, Mohini Misra, Á. Lédeczi","doi":"10.1109/BLOCKS.2017.8120419","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120419","url":null,"abstract":"NetsBlox is a visual blocks-based programming language extending Snap! with a few carefully selected abstractions to support distributed programming. In this paper, we argue that with the help of NetsBlox, some of the fundamental concepts of computer networking can be included in the high school computer science curriculum. Specifically, we describe a set of curricular units that would fit nicely in the AP Computer Science Principles course. High school students in two short-term studies showed great engagement and were able to complete simple computer networking tasks.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"41 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":"133248438","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
Creating engaging science projects with netsblox 用netsblox创建引人入胜的科学项目
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120424
B. Broll, Hamid Zare, Á. Lédeczi
NetsBlox is a visual blocks-based programming language that supports distributed programming. NetsBlox includes Remote Procedure Calls (RPC) that provide access to a set of online scientific data sources such as maps, weather, earthquakes, astronomy imagery, air pollution, etc. This demonstration shows how to use these RPCs to create engaging science projects.
NetsBlox是一种基于可视化块的编程语言,支持分布式编程。NetsBlox包括远程过程调用(RPC),提供对一组在线科学数据源的访问,如地图、天气、地震、天文图像、空气污染等。这个演示展示了如何使用这些rpc来创建引人入胜的科学项目。
{"title":"Creating engaging science projects with netsblox","authors":"B. Broll, Hamid Zare, Á. Lédeczi","doi":"10.1109/BLOCKS.2017.8120424","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120424","url":null,"abstract":"NetsBlox is a visual blocks-based programming language that supports distributed programming. NetsBlox includes Remote Procedure Calls (RPC) that provide access to a set of online scientific data sources such as maps, weather, earthquakes, astronomy imagery, air pollution, etc. This demonstration shows how to use these RPCs to create engaging science projects.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"79 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":"125571469","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
Calls of the wild: Exploring procedural abstraction in app inventor 野性的呼唤:探索应用程序的程序抽象
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120417
Isabelle Li, F. Turbak, Eni Mustafaraj
One of the most important computational concepts in any programming language is procedural abstraction. We investigate the use of procedures in MIT App Inventor, a web-based blocks programming environment for creating Android mobile apps. We explore how procedures are used “in the wild” by examining two datasets of App Inventor projects: all projects of ten thousand randomly chosen users and all projects of all prolific users (those users with 20 or more projects). Our data analysis indicates that procedural abstraction is a concept that is learned over time by some App Inventor users, but it is used relatively infrequently, and features like parameters and returning values are used even more rarely. Procedures are most frequently called only once, indicating that they are often used to organize code rather than to reuse it. Surprisingly, 10% of declared procedures are never called, suggesting that this situation should be flagged by the environment.
在任何编程语言中,最重要的计算概念之一是过程抽象。我们调查了MIT App Inventor中程序的使用,这是一个基于web的模块编程环境,用于创建Android移动应用程序。我们通过检查App Inventor项目的两个数据集来探索程序是如何“在野外”使用的:1万个随机选择的用户的所有项目和所有多产用户(那些拥有20个或更多项目的用户)的所有项目。我们的数据分析表明,程序抽象是一些App Inventor用户随着时间的推移而学习的概念,但它的使用频率相对较低,参数和返回值等功能的使用频率甚至更低。过程通常只被调用一次,这表明它们通常用于组织代码而不是重用代码。令人惊讶的是,10%的声明过程从未被调用,这表明环境应该对这种情况进行标记。
{"title":"Calls of the wild: Exploring procedural abstraction in app inventor","authors":"Isabelle Li, F. Turbak, Eni Mustafaraj","doi":"10.1109/BLOCKS.2017.8120417","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120417","url":null,"abstract":"One of the most important computational concepts in any programming language is procedural abstraction. We investigate the use of procedures in MIT App Inventor, a web-based blocks programming environment for creating Android mobile apps. We explore how procedures are used “in the wild” by examining two datasets of App Inventor projects: all projects of ten thousand randomly chosen users and all projects of all prolific users (those users with 20 or more projects). Our data analysis indicates that procedural abstraction is a concept that is learned over time by some App Inventor users, but it is used relatively infrequently, and features like parameters and returning values are used even more rarely. Procedures are most frequently called only once, indicating that they are often used to organize code rather than to reuse it. Surprisingly, 10% of declared procedures are never called, suggesting that this situation should be flagged by the environment.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"10 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":"123147306","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}
引用次数: 10
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
Blockly goes to work: Block-based programming for industrial robots Blockly开始工作:基于块的工业机器人编程
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120406
David Weintrop, David C. Shepherd, Patrick Francis, Diana Franklin
The block-based approach to programming is an effective way to engage young learners in programming and the powerful ideas of computing. In this paper, we explore the potential of using this same approach in a very different programming context: industrial robotics. Using a customized language built with the Blockly library, we created a block-based interface for programming a one-armed industrial robot. This paper presents a block-based robot programming language called Robot Blockly, focusing on how the various affordances of block-based programming were utilized to make the challenge of robot programming more accessible. We also present results from a small-scale study showing adults with no prior programming experience successfully programming a virtual robot to accomplish a pick and place task. The contribution of this work is in showing the potential for block-based programming beyond young learners and classrooms.
基于块的编程方法是吸引年轻学习者参与编程和强大的计算思想的有效方法。在本文中,我们探索了在一个非常不同的编程环境中使用相同方法的潜力:工业机器人。使用Blockly库构建的定制语言,我们创建了一个基于块的接口,用于编程单臂工业机器人。本文提出了一种基于块的机器人编程语言robot Blockly,重点介绍了如何利用基于块的编程的各种功能来使机器人编程的挑战更容易实现。我们还展示了一项小规模研究的结果,该研究显示,没有编程经验的成年人成功地编写了一个虚拟机器人来完成拾取和放置任务。这项工作的贡献在于展示了基于块的编程在年轻学习者和教室之外的潜力。
{"title":"Blockly goes to work: Block-based programming for industrial robots","authors":"David Weintrop, David C. Shepherd, Patrick Francis, Diana Franklin","doi":"10.1109/BLOCKS.2017.8120406","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120406","url":null,"abstract":"The block-based approach to programming is an effective way to engage young learners in programming and the powerful ideas of computing. In this paper, we explore the potential of using this same approach in a very different programming context: industrial robotics. Using a customized language built with the Blockly library, we created a block-based interface for programming a one-armed industrial robot. This paper presents a block-based robot programming language called Robot Blockly, focusing on how the various affordances of block-based programming were utilized to make the challenge of robot programming more accessible. We also present results from a small-scale study showing adults with no prior programming experience successfully programming a virtual robot to accomplish a pick and place task. The contribution of this work is in showing the potential for block-based programming beyond young learners and classrooms.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"171 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":"117288676","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}
引用次数: 52
Authoring feedback for novice programmers in a block-based language 用基于块的语言为新手程序员编写反馈
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120407
Luke Gusukuma, D. Kafura, Austin Cory Bart
We present a block-based language for specifying feedback to novice learners about the programs they are constructing in a block-based programming language. In addition to feedback based on run-time and output checking, we are particularly interested in immediate feedback: corrective guidance given as the program is being constructed. Immediate feedback is a natural extension of the block-based language philosophy. Block-based languages prevent by design certain types of mistakes in all cases. Immediate feedback guides against, without fully preventing, problem-specific mistakes (i.e., constructions that are erroneous in only some cases). A feedback specification contains a block pattern and a set of actions that can be taken whenever the corresponding pattern is present or absent in the student's block program for a given problem. The paper illustrates the language through several examples derived from misconceptions found in the block-based programs of students taking a university-level Computational Thinking class. The feasibility of the proposed approach is shown by the translation of a specification using an evolving programmatic interface in BlockPy, a dual block/text programming environment for a subset of Python.
我们提出了一种基于块的语言,用于向初学者指定他们正在用基于块的编程语言构建的程序的反馈。除了基于运行时和输出检查的反馈之外,我们对即时反馈特别感兴趣:当程序正在构建时给出的纠正指导。即时反馈是基于块的语言哲学的自然延伸。基于块的语言通过设计在所有情况下防止某些类型的错误。即时反馈指导,而不是完全防止特定问题的错误(例如,仅在某些情况下错误的结构)。反馈规范包含一个块模式和一组操作,无论给定问题的学生块程序中是否存在相应的模式,都可以采取这些操作。本文通过几个例子来说明这种语言,这些例子来源于大学计算思维课程中基于块的课程中发现的误解。所提出方法的可行性通过使用BlockPy中不断发展的编程接口翻译规范来证明,BlockPy是Python子集的双块/文本编程环境。
{"title":"Authoring feedback for novice programmers in a block-based language","authors":"Luke Gusukuma, D. Kafura, Austin Cory Bart","doi":"10.1109/BLOCKS.2017.8120407","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120407","url":null,"abstract":"We present a block-based language for specifying feedback to novice learners about the programs they are constructing in a block-based programming language. In addition to feedback based on run-time and output checking, we are particularly interested in immediate feedback: corrective guidance given as the program is being constructed. Immediate feedback is a natural extension of the block-based language philosophy. Block-based languages prevent by design certain types of mistakes in all cases. Immediate feedback guides against, without fully preventing, problem-specific mistakes (i.e., constructions that are erroneous in only some cases). A feedback specification contains a block pattern and a set of actions that can be taken whenever the corresponding pattern is present or absent in the student's block program for a given problem. The paper illustrates the language through several examples derived from misconceptions found in the block-based programs of students taking a university-level Computational Thinking class. The feasibility of the proposed approach is shown by the translation of a specification using an evolving programmatic interface in BlockPy, a dual block/text programming environment for a subset of Python.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"50 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":"115617416","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}
引用次数: 7
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
期刊
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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1