An analysis of block-based programming environments for CS1

Luiz Carlos Begosso, Luiz Ricardo Begosso, Natalia Aragao Christ
{"title":"An analysis of block-based programming environments for CS1","authors":"Luiz Carlos Begosso, Luiz Ricardo Begosso, Natalia Aragao Christ","doi":"10.1109/FIE44824.2020.9273982","DOIUrl":null,"url":null,"abstract":"This Research Full Paper presents our experience in analyzing and selecting block-based programming environments to support the teaching of algorithms for the students starting the introductory courses of a Computer Science major. The teaching of algorithms and programming concepts to students of the first years of Computer Science and Engineering courses has been a major challenge because students often have difficulty understanding the logic and abstraction, leading to a high dropout rate. Some strategies have been conducted to further the mission of helping students understand better those basic concepts, but this topic still remains a major problem for students in the initial grades of those courses. In previous projects developed at our university, we have already proposed the use of learning objects and gamification, with very positive results. One of the questions that arise when we adopt new teaching approaches is to know how this new path will contribute to the student’s learning. In this project, we conducted a study on eight block-based programming environments and sought to identify which aspects of those environments comply with the Computer Science reference curriculum. Our work was based on the joint task force on Computing Curricula conducted by the ACM and IEEE Computer Society CS2013 curriculum guidelines for undergraduate programs in Computer Science. We studied the virtual programming environments Alice, MIT App Inventor, Blockly Games, Code.org, Gameblox, Pencil Code, Microsoft MakeCode and Scratch. Then, we crossed the characteristics of each, identified the positive and negative points of each teaching environment in relation to the topics established by the guidelines. We have classified the main characteristics of those programming environments, establishing criteria such as: prior programming knowledge requirements; ease of interaction with users; programming language code; availability of documentation for learning; programming practices addressed by the environment; and ease of learning programming. We believe that this work can contribute to the selection process of a suitable programming environment to be adopted in an introductory course of computer programming.","PeriodicalId":6700,"journal":{"name":"2019 IEEE Frontiers in Education Conference (FIE)","volume":"25 1","pages":"1-5"},"PeriodicalIF":0.0000,"publicationDate":"2020-10-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE Frontiers in Education Conference (FIE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FIE44824.2020.9273982","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

This Research Full Paper presents our experience in analyzing and selecting block-based programming environments to support the teaching of algorithms for the students starting the introductory courses of a Computer Science major. The teaching of algorithms and programming concepts to students of the first years of Computer Science and Engineering courses has been a major challenge because students often have difficulty understanding the logic and abstraction, leading to a high dropout rate. Some strategies have been conducted to further the mission of helping students understand better those basic concepts, but this topic still remains a major problem for students in the initial grades of those courses. In previous projects developed at our university, we have already proposed the use of learning objects and gamification, with very positive results. One of the questions that arise when we adopt new teaching approaches is to know how this new path will contribute to the student’s learning. In this project, we conducted a study on eight block-based programming environments and sought to identify which aspects of those environments comply with the Computer Science reference curriculum. Our work was based on the joint task force on Computing Curricula conducted by the ACM and IEEE Computer Society CS2013 curriculum guidelines for undergraduate programs in Computer Science. We studied the virtual programming environments Alice, MIT App Inventor, Blockly Games, Code.org, Gameblox, Pencil Code, Microsoft MakeCode and Scratch. Then, we crossed the characteristics of each, identified the positive and negative points of each teaching environment in relation to the topics established by the guidelines. We have classified the main characteristics of those programming environments, establishing criteria such as: prior programming knowledge requirements; ease of interaction with users; programming language code; availability of documentation for learning; programming practices addressed by the environment; and ease of learning programming. We believe that this work can contribute to the selection process of a suitable programming environment to be adopted in an introductory course of computer programming.
CS1中基于块的编程环境分析
本文介绍了我们在分析和选择基于块的编程环境方面的经验,以支持计算机科学专业入门课程学生的算法教学。在计算机科学与工程课程的第一年,算法和编程概念的教学一直是一个主要的挑战,因为学生往往难以理解逻辑和抽象,导致高辍学率。已经采取了一些策略来进一步帮助学生更好地理解这些基本概念,但是这个话题对于那些课程的初级学生来说仍然是一个主要问题。在我们大学之前开发的项目中,我们已经提出使用学习对象和游戏化,并取得了非常积极的结果。当我们采用新的教学方法时,出现的一个问题是,知道这条新的道路将如何有助于学生的学习。在这个项目中,我们对八个基于块的编程环境进行了研究,并试图确定这些环境的哪些方面符合计算机科学参考课程。我们的工作是基于ACM和IEEE计算机学会CS2013计算机科学本科课程指南所开展的计算机课程联合工作组。我们研究了虚拟编程环境Alice、MIT App Inventor、Blockly Games、Code.org、Gameblox、Pencil Code、Microsoft MakeCode和Scratch。然后,我们将每种教学环境的特点进行交叉分析,根据指南所确立的主题,找出每种教学环境的优点和缺点。我们对这些编程环境的主要特征进行了分类,建立了以下标准:编程知识要求;易于与用户交互;编程语言代码;学习文件的可用性;由环境处理的编程实践;并且易于学习编程。我们相信,这项工作可以有助于在计算机编程入门课程中选择合适的编程环境。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信