首页 > 最新文献

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

英文 中文
Enhancing block-based programming pedagogy to promote the culture of quality from the ground up a position paper 加强以块为基础的程序设计教学法,从根本上促进质量文化
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120420
Peeratham Techapalokul, E. Tilevich
Block-based programming has proven extraordinarily successful as a pedagogical tool for learning the fundamentals of computing via an exploratory, unconstrained, and hands-on approach. One would think that the issue of software quality is inapplicable in this programming domain. Nevertheless, as recent research shows, block-based programs, written by novice programmers, exhibit recurring quality problems. Although block-based software is not intended for production environments, poor quality can be detrimental to achieving the educational objectives the very use of blocks aims for. Specifically, as we and other researchers have been discovering, introductory programmers, as they gain proficiency, tend to retain poor programming habits, thus continuing to introduce recurring quality problems into their programs. Evidence also indicates that poorly written code is less likely to be reused, thus hindering the potential benefits of this peer-learning mechanism. These findings call for a synergistic effort from educators and tool developers to address the issue of software quality in the context of block-based programming. This effort will require innovating both in the realm of introductory computing curricula and software infrastructure to improve software quality.
基于块的编程已经被证明是一种非常成功的教学工具,通过一种探索性的、不受约束的和动手的方法来学习计算的基础知识。有人会认为软件质量问题不适用于这个编程领域。然而,正如最近的研究表明的那样,由新手程序员编写的基于块的程序出现了反复出现的质量问题。尽管基于块的软件不是为生产环境设计的,但质量差可能会对实现使用块的教育目标产生不利影响。具体地说,正如我们和其他研究人员发现的那样,入门级程序员在获得熟练程度后,倾向于保留糟糕的编程习惯,从而继续将反复出现的质量问题引入他们的程序中。证据还表明,编写糟糕的代码不太可能被重用,从而阻碍了这种对等学习机制的潜在好处。这些发现要求教育工作者和工具开发人员协同努力,在基于块的编程环境中解决软件质量问题。这一努力将需要在计算机入门课程和软件基础设施领域进行创新,以提高软件质量。
{"title":"Enhancing block-based programming pedagogy to promote the culture of quality from the ground up a position paper","authors":"Peeratham Techapalokul, E. Tilevich","doi":"10.1109/BLOCKS.2017.8120420","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120420","url":null,"abstract":"Block-based programming has proven extraordinarily successful as a pedagogical tool for learning the fundamentals of computing via an exploratory, unconstrained, and hands-on approach. One would think that the issue of software quality is inapplicable in this programming domain. Nevertheless, as recent research shows, block-based programs, written by novice programmers, exhibit recurring quality problems. Although block-based software is not intended for production environments, poor quality can be detrimental to achieving the educational objectives the very use of blocks aims for. Specifically, as we and other researchers have been discovering, introductory programmers, as they gain proficiency, tend to retain poor programming habits, thus continuing to introduce recurring quality problems into their programs. Evidence also indicates that poorly written code is less likely to be reused, thus hindering the potential benefits of this peer-learning mechanism. These findings call for a synergistic effort from educators and tool developers to address the issue of software quality in the context of block-based programming. This effort will require innovating both in the realm of introductory computing curricula and software infrastructure to improve software quality.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"19 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":"127804097","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
Towards blocks-based prototyping of web applications 迈向基于块的web应用原型
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120408
R. Holwerda, F. Hermans
The current generation of block languages, with its focus on teaching programming to novices, has not been designed for professionals. In this paper, we argue that blocks-based languages aimed at professional end-user developers face requirements that present challenges to the user interface design of such languages. We discuss three aspects that set potential professional use of block interfaces apart from educational use with children and students, and their implications for the design of blocks-based language editors. These aspects are that professionals: (1) require the editor to support high-productivity, (2) should not be limited by a simplified run-time environment, and (3) need the blocks editor to provide support for working with large programs. These three aspects provide research avenues for extending the usefulness of blocks-based language interfaces. We intend to explore these aspects with the design and development, of a blocks-based prototyping system for web designers. We report some preliminary results from an initial user experience-study in which 4th-year web design students were exposed to a blocks-based version of a language they already knew.
当前这一代的块语言侧重于向新手教授编程,而不是为专业人士设计的。在本文中,我们认为针对专业最终用户开发人员的基于块的语言面临着对此类语言的用户界面设计提出挑战的需求。我们讨论了除了儿童和学生的教育用途之外,设置块界面潜在的专业用途的三个方面,以及它们对基于块的语言编辑器设计的影响。这些方面是专业人员所需要的:(1)要求编辑器支持高生产率,(2)不应受简化的运行时环境的限制,以及(3)需要块编辑器为处理大型程序提供支持。这三个方面为扩展基于块的语言接口提供了研究途径。我们打算通过为网页设计师设计和开发一个基于块的原型系统来探索这些方面。我们报告了一项初步用户体验研究的初步结果,在这项研究中,四年级网页设计专业的学生接触到他们已经知道的语言的基于块的版本。
{"title":"Towards blocks-based prototyping of web applications","authors":"R. Holwerda, F. Hermans","doi":"10.1109/BLOCKS.2017.8120408","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120408","url":null,"abstract":"The current generation of block languages, with its focus on teaching programming to novices, has not been designed for professionals. In this paper, we argue that blocks-based languages aimed at professional end-user developers face requirements that present challenges to the user interface design of such languages. We discuss three aspects that set potential professional use of block interfaces apart from educational use with children and students, and their implications for the design of blocks-based language editors. These aspects are that professionals: (1) require the editor to support high-productivity, (2) should not be limited by a simplified run-time environment, and (3) need the blocks editor to provide support for working with large programs. These three aspects provide research avenues for extending the usefulness of blocks-based language interfaces. We intend to explore these aspects with the design and development, of a blocks-based prototyping system for web designers. We report some preliminary results from an initial user experience-study in which 4th-year web design students were exposed to a blocks-based version of a language they already knew.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"48 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":"130385129","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
Let's work together: Improving block-based environments by supporting synchronous collaboration 让我们一起工作:通过支持同步协作来改进基于块的环境
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120411
Jennifer L. Tsan, Fernando J. Rodríguez, K. Boyer, Collin Lynch
Block-based programming environments are a good way to teach beginners how to code, in part because they eliminate syntax errors and provide visual feedback. However, many of the existing environments do not explicitly support synchronous collaboration. Collaboration is a critical component of computer science practice and CS education. We therefore argue that features to support collaboration could significantly enhance existing and new block-based programming environments. We review existing block-based programming environments, suggest design ideas for supporting synchronous collaboration, and evaluate environments that currently support some of these features.
基于块的编程环境是教初学者如何编码的好方法,部分原因是它们消除了语法错误并提供了视觉反馈。然而,许多现有的环境并没有明确地支持同步协作。协作是计算机科学实践和计算机科学教育的重要组成部分。因此,我们认为支持协作的特性可以显著增强现有的和新的基于块的编程环境。我们回顾了现有的基于块的编程环境,提出了支持同步协作的设计思路,并评估了当前支持这些特性的环境。
{"title":"Let's work together: Improving block-based environments by supporting synchronous collaboration","authors":"Jennifer L. Tsan, Fernando J. Rodríguez, K. Boyer, Collin Lynch","doi":"10.1109/BLOCKS.2017.8120411","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120411","url":null,"abstract":"Block-based programming environments are a good way to teach beginners how to code, in part because they eliminate syntax errors and provide visual feedback. However, many of the existing environments do not explicitly support synchronous collaboration. Collaboration is a critical component of computer science practice and CS education. We therefore argue that features to support collaboration could significantly enhance existing and new block-based programming environments. We review existing block-based programming environments, suggest design ideas for supporting synchronous collaboration, and evaluate environments that currently support some of these features.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"55 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":"114811192","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
The freecoffee editor: Using natural language sentence structure to make blocks more readable 免费咖啡编辑器:使用自然语言的句子结构,使块更具可读性
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120425
R. Holwerda
One aspect that increases the accessibility of many blocks-based languages is their use of labels to tell users the meaning of the input-slots in the blocks. In this regard, every block is a little form. FreeCoffee is a blocks-based language whose editor goes well beyond terse slot labels and communicates the meaning of a block using complete grammatical sentences. These sentence-blocks still contain input-fields and drop-down menus for user-input, and will, in response to user input, adapt both their structure and their wording to keep the sentence grammatically correct. Sentences structure can also be changed in order to add optional features to the block. This sentence-oriented blocks-editor was designed for a domain specific language used in a multimedia design course. The abstractions and semantics of this language are far removed from mainstream scripting languages, and some of its structures were complex. Still, the language interface helped to enable students with almost no training to create interactive multimedia productions.
增加许多基于块的语言的可访问性的一个方面是它们使用标签来告诉用户块中输入槽的含义。在这方面,每一个块都是一个小形式。FreeCoffee是一种基于块的语言,它的编辑器远远超出了简洁的槽标签,而是使用完整的语法句子来传达块的含义。这些句子块仍然包含用户输入的输入字段和下拉菜单,并且将根据用户输入调整其结构和措辞,以保持句子的语法正确。还可以改变句子结构,以便向块中添加可选的特征。这个面向句子的块编辑器是为多媒体设计课程中使用的特定领域语言而设计的。这种语言的抽象和语义与主流脚本语言相去甚远,而且它的一些结构很复杂。尽管如此,语言界面帮助几乎没有受过训练的学生创建交互式多媒体作品。
{"title":"The freecoffee editor: Using natural language sentence structure to make blocks more readable","authors":"R. Holwerda","doi":"10.1109/BLOCKS.2017.8120425","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120425","url":null,"abstract":"One aspect that increases the accessibility of many blocks-based languages is their use of labels to tell users the meaning of the input-slots in the blocks. In this regard, every block is a little form. FreeCoffee is a blocks-based language whose editor goes well beyond terse slot labels and communicates the meaning of a block using complete grammatical sentences. These sentence-blocks still contain input-fields and drop-down menus for user-input, and will, in response to user input, adapt both their structure and their wording to keep the sentence grammatically correct. Sentences structure can also be changed in order to add optional features to the block. This sentence-oriented blocks-editor was designed for a domain specific language used in a multimedia design course. The abstractions and semantics of this language are far removed from mainstream scripting languages, and some of its structures were complex. Still, the language interface helped to enable students with almost no training to create interactive multimedia productions.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"43 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":"131828827","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
Promoting unruly programming with random blocks and physical play 用随机积木和物理游戏来促进不守规矩的编程
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120428
Amon Millner, Allison Busa, Bryanne Leeming
This paper presents the Unruly Splats platform designed to promote active STEM play. We summarize design considerations that shaped its current prototype. Unruly Splats are a set of foot-sized floor buttons that light up, sense pressure, and make sounds, according to programs that learners age 6 and up create using a blocks-based programming environment on their tablets or computers. We discuss how the system works using a game in the whack-a-mole genre. The paper illustrates the ways in which programs and Splats connect, to allow for a low-barrier to entry into coding experiences while supporting a myriad of programming possibilities. We discuss the role that the “pick random number” block plays in creating challenging and collaborative experiences and conclude with observations from interactions with early users.
本文介绍了旨在促进主动STEM游戏的Unruly Splats平台。我们总结了塑造其当前原型的设计考虑。“Unruly Splats”是一组一英尺大小的地板按钮,根据6岁及以上的学习者在平板电脑或电脑上使用基于块的编程环境编写的程序,这些按钮会发光、感应压力并发出声音。我们将以打地鼠游戏为例讨论该系统的运作方式。本文说明了程序和splat连接的方式,以允许低门槛进入编码体验,同时支持无数的编程可能性。我们讨论了“选择随机数”块在创造具有挑战性和协作性的体验中所扮演的角色,并通过与早期用户的互动观察得出结论。
{"title":"Promoting unruly programming with random blocks and physical play","authors":"Amon Millner, Allison Busa, Bryanne Leeming","doi":"10.1109/BLOCKS.2017.8120428","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120428","url":null,"abstract":"This paper presents the Unruly Splats platform designed to promote active STEM play. We summarize design considerations that shaped its current prototype. Unruly Splats are a set of foot-sized floor buttons that light up, sense pressure, and make sounds, according to programs that learners age 6 and up create using a blocks-based programming environment on their tablets or computers. We discuss how the system works using a game in the whack-a-mole genre. The paper illustrates the ways in which programs and Splats connect, to allow for a low-barrier to entry into coding experiences while supporting a myriad of programming possibilities. We discuss the role that the “pick random number” block plays in creating challenging and collaborative experiences and conclude with observations from interactions with early users.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"7 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":"125695509","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
Grasshopper's event system defining and reacting to noteworthy features of student code Grasshopper的事件系统定义并响应学生代码中值得注意的特性
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120427
Yana Malysheva
Grasshopper is an Android application which teaches users JavaScript through a series of coding puzzles. Grasshopper is able to make two types of real-time decisions based on the user's current performance: selecting an appropriate piece of feedback when the student is in the middle of solving a puzzle; and selecting the most appropriate next puzzle when the student is done with the current puzzle. For both of these decisions, Grasshopper relies on “student events”: definitions of things that are noteworthy when present in student code. This poster presentation illustrates the student event system, and how it is used to make these decisions, through an example of a hypothetical student going through the process of selecting and solving a single puzzle (“Dash of Random”). It also briefly demonstrates how the events are used to define the space of possible user knowledge states, and how the Dash of Random puzzle fits into that space.
Grasshopper是一款Android应用程序,它通过一系列编码谜题来教授用户JavaScript。Grasshopper能够根据用户当前的表现做出两种类型的实时决策:当学生正在解决一个谜题时,选择一个适当的反馈;当学生完成当前的谜题时选择最合适的下一个谜题。对于这两种决策,Grasshopper都依赖于“学生事件”:学生代码中出现的值得注意的事物的定义。这张海报演示说明了学生事件系统,以及它是如何用来做出这些决定的,通过一个假设的学生经历选择和解决一个谜题的过程(“Dash of Random”)的例子。本文还简要说明了如何使用事件来定义可能的用户知识状态空间,以及Dash of Random谜题如何适应该空间。
{"title":"Grasshopper's event system defining and reacting to noteworthy features of student code","authors":"Yana Malysheva","doi":"10.1109/BLOCKS.2017.8120427","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120427","url":null,"abstract":"Grasshopper is an Android application which teaches users JavaScript through a series of coding puzzles. Grasshopper is able to make two types of real-time decisions based on the user's current performance: selecting an appropriate piece of feedback when the student is in the middle of solving a puzzle; and selecting the most appropriate next puzzle when the student is done with the current puzzle. For both of these decisions, Grasshopper relies on “student events”: definitions of things that are noteworthy when present in student code. This poster presentation illustrates the student event system, and how it is used to make these decisions, through an example of a hypothetical student going through the process of selecting and solving a single puzzle (“Dash of Random”). It also briefly demonstrates how the events are used to define the space of possible user knowledge states, and how the Dash of Random puzzle fits into that space.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"39 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":"123492987","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
CloudDB: Components for exploring shared data with MIT app inventor CloudDB:与MIT app inventor一起探索共享数据的组件
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120426
Natalie Lao
Data sharing through Cloud technology is one of the most powerful new computer science concepts of the past few decades. As such, developing powerful and easy-to-use tools for incremental learning and application of shared data concepts is an important endeavor. My work focuses on using MIT App Inventor, a popular blocks-based mobile application development tool for teaching computational thinking to young students, to make shared data technology understandable and usable by anyone without the need for extensive computer science training. I present the ongoing development of CloudDB, a set of coding blocks for MIT App Inventor that allows users to store, retrieve, and share various types of data in tag-value pairs on a Redis server for their mobile applications.
通过云技术进行数据共享是过去几十年来最强大的计算机科学新概念之一。因此,为共享数据概念的增量学习和应用开发功能强大且易于使用的工具是一项重要的工作。我的工作重点是使用MIT App Inventor,这是一种流行的基于块的移动应用程序开发工具,用于向年轻学生教授计算思维,使任何人都可以理解和使用共享数据技术,而无需进行广泛的计算机科学培训。我介绍了正在开发的CloudDB,这是MIT App Inventor的一组代码块,允许用户在Redis服务器上存储、检索和共享各种类型的标签值对数据,用于他们的移动应用程序。
{"title":"CloudDB: Components for exploring shared data with MIT app inventor","authors":"Natalie Lao","doi":"10.1109/BLOCKS.2017.8120426","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120426","url":null,"abstract":"Data sharing through Cloud technology is one of the most powerful new computer science concepts of the past few decades. As such, developing powerful and easy-to-use tools for incremental learning and application of shared data concepts is an important endeavor. My work focuses on using MIT App Inventor, a popular blocks-based mobile application development tool for teaching computational thinking to young students, to make shared data technology understandable and usable by anyone without the need for extensive computer science training. I present the ongoing development of CloudDB, a set of coding blocks for MIT App Inventor that allows users to store, retrieve, and share various types of data in tag-value pairs on a Redis server for their mobile applications.","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":"130776908","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
Computational thinking and mental models: From kodu to calypso 计算思维和心智模型:从kodu到calypso
Pub Date : 2017-10-01 DOI: 10.1109/BLOCKS.2017.8120416
D. Touretzky
Reasoning about programs is an important component of computational thinking. Laws of computation give meaning to the formalisms in which programs are expressed, and can be used to predict or explain program behavior, or to uncover bugs. This paper presents Calypso, a language inspired by Microsoft's Kodu Game Lab but designed for programming actual mobile robots rather than characters in a virtual world. The initial implementation of Calypso uses the Cozmo robot by Anki. Like Kodu, the Calypso interpreter can be described by five key laws. An understanding of the laws and how to apply them constitutes a mental model of computation. Calypso provides a variety of affordances and scaffolding techniques to foster development of effective mental models and facilitate computational thinking.
程序推理是计算思维的重要组成部分。计算定律赋予程序表达的形式以意义,并可用于预测或解释程序行为,或发现bug。这篇论文介绍了Calypso,一种受微软Kodu游戏实验室启发的语言,但设计用于编程实际的移动机器人,而不是虚拟世界中的角色。Calypso的初始实现使用Anki的Cozmo机器人。像Kodu一样,Calypso解释器可以用五个关键定律来描述。对这些定律的理解以及如何应用这些定律构成了计算的心智模型。Calypso提供了各种功能和脚手架技术,以促进有效的心理模型和促进计算思维的发展。
{"title":"Computational thinking and mental models: From kodu to calypso","authors":"D. Touretzky","doi":"10.1109/BLOCKS.2017.8120416","DOIUrl":"https://doi.org/10.1109/BLOCKS.2017.8120416","url":null,"abstract":"Reasoning about programs is an important component of computational thinking. Laws of computation give meaning to the formalisms in which programs are expressed, and can be used to predict or explain program behavior, or to uncover bugs. This paper presents Calypso, a language inspired by Microsoft's Kodu Game Lab but designed for programming actual mobile robots rather than characters in a virtual world. The initial implementation of Calypso uses the Cozmo robot by Anki. Like Kodu, the Calypso interpreter can be described by five key laws. An understanding of the laws and how to apply them constitutes a mental model of computation. Calypso provides a variety of affordances and scaffolding techniques to foster development of effective mental models and facilitate computational thinking.","PeriodicalId":424744,"journal":{"name":"2017 IEEE Blocks and Beyond Workshop (B&B)","volume":"11 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":"121409311","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}
引用次数: 17
期刊
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