首页 > 最新文献

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
Helping teachers and students learn to use 3D in agentcubes online 帮助教师和学生在线学习使用代理立方体中的3D
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120423
Catharine L. Brand, A. Repenning
We examine the challenges and advantages of 3D programming in the AgentCubes Online programming environment. 3D imagery and its associated programming provide a means for personalizing projects and may increase a learner's motivation to learn about technology. After reviewing the challenges for learners, we suggest some ideas for helping both teachers and student learners make the transition to 3D. We will present a plan for further research on this topic.
我们研究了在AgentCubes Online编程环境中进行3D编程的挑战和优势。3D图像及其相关编程为个性化项目提供了一种手段,并可能增加学习者学习技术的动机。在回顾了学习者面临的挑战之后,我们提出了一些帮助教师和学生学习者过渡到3D的想法。我们将提出进一步研究这一课题的计划。
{"title":"Helping teachers and students learn to use 3D in agentcubes online","authors":"Catharine L. Brand, A. Repenning","doi":"10.1109/BLOCKS.2017.8120423","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120423","url":null,"abstract":"We examine the challenges and advantages of 3D programming in the AgentCubes Online programming environment. 3D imagery and its associated programming provide a means for personalizing projects and may increase a learner's motivation to learn about technology. After reviewing the challenges for learners, we suggest some ideas for helping both teachers and student learners make the transition to 3D. We will present a plan for further research on this topic.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"148 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113994561","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
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
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
A blocks-based language for program correctness proofs 用于程序正确性证明的基于块的语言
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120410
Peter-Michael Osera, D. Wonnacott
While formal mathematical reasoning is the cornerstone of computer science, undergraduates often fail to appreciate the value of mathematical proof in their studies. To alleviate this problem, we propose a novel pedagogy uniting logical reasoning with proofs of program correctness along with a proof assistant, ORC2A, that helps students author proofs in this domain. One of the defining features of ORC2A is that it has a blocks-based surface language of proof to reduce friction when adopting the tool in the classroom. We report on the current progress on ORC2A, in particular, its blocks-based interface, current design consideration, and our plans for evaluating the system.
虽然形式数学推理是计算机科学的基石,但本科生往往无法认识到数学证明在学习中的价值。为了缓解这个问题,我们提出了一种新的教学方法,将逻辑推理与程序正确性证明结合起来,并使用证明助手ORC2A,帮助学生在该领域编写证明。ORC2A的定义特征之一是,它具有基于块的表面证明语言,以减少在课堂上采用该工具时的摩擦。我们报告了ORC2A的当前进展,特别是其基于块的接口,当前的设计考虑以及我们评估系统的计划。
{"title":"A blocks-based language for program correctness proofs","authors":"Peter-Michael Osera, D. Wonnacott","doi":"10.1109/BLOCKS.2017.8120410","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120410","url":null,"abstract":"While formal mathematical reasoning is the cornerstone of computer science, undergraduates often fail to appreciate the value of mathematical proof in their studies. To alleviate this problem, we propose a novel pedagogy uniting logical reasoning with proofs of program correctness along with a proof assistant, ORC2A, that helps students author proofs in this domain. One of the defining features of ORC2A is that it has a blocks-based surface language of proof to reduce friction when adopting the tool in the classroom. We report on the current progress on ORC2A, in particular, its blocks-based interface, current design consideration, and our plans for evaluating the system.","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":"130010153","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
期刊
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