黎晓芳 郑小军 朱育贤 莫葵凤
摘 要 计算思维是我国信息技术新课标的核心内容之一,通过编程培养计算思维,是各国普遍采用的重要手段。基于文献梳理和编程实践,简要总结Scratch、App Inventor、Mixly、LOGO、Kodu和编程猫等图形化编程工具的特点及使用方法,从软件功能、学习体验、教学体验、更新速度、配套教程和资源、易用性等方面进行对比,并且给出针对新手和熟手的推荐等级。
关键词 核心素养;计算思维;编程;信息技术
中图分类号:G652 文献标识码:B
文章编号:1671-489X(2019)05-0038-03
1 前言
近年来,计算思维培养越来越受到信息技术教育工作者的关注。在我国《普通高中信息技术课程标准(2017年版)》(以下简称“新课标”)中,计算思维成为新课程四大核心素养之一。那么,如何培养计算思维?计算思维和编程思维具有什么关系?有什么工具可以帮助学生更好地学习编程,帮助教师更好地培养学生的计算思维?
2 计算思维教育简要回顾
2006年,周以真教授提出并界定计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。Cynthia
Selby和John Woollard提出计算思维包括算法思维(Algo-rithmic Thinking)、评估(Evaluation)、分解(Decomposi-tion)、抽象(Abstraction)、概括(Generalisation)五个要素[2]。2011年,美国将计算思维纳入《CSTA K-12标准(2011修订版)》。随后,在英国2013年“新课程计划”、澳大利亚2015年“新课程方案”中,计算思维成为新信息技术课程的重要内容[3]。2017年,计算思维成为我国普通高中信息技术课程的四大学科核心素养之一。
3 计算思维培养方法
新课标指出,计算思维包含形式化、模型化、自动化和系统化四个方面,通过在信息技术课程中进行计算思维的培养,学生能够采用计算机领域的学科方法界定问题、抽象特征、建立结构模型、合理组织数据;通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;总结利用计算机解决问题的过程与方法,并迁移到与之相关的其他问题解决中[4]。
通过对新课标学业要求的分析可以发现,计算思维的主要培养目标与编程思维的“以程序的方式来思考并通过分析概念的本质和属性来解决问题的思维方式”“要求学习者了解计算机的代码如何解释,认识一些基本的逻辑结构”等目标要求具有极大的相似性,如图1所示。因此在实践中,计算思维与编程思维具有很大的关联性。编程思维能够有效帮助学习者了解编程语言并设计程序的逻辑结构,进行程序开发,从而发展学生的计算思维[5]。而培养编程思维的重要方法是编写程序,因此,通过采用编程工具编写程序,可以有效地促进计算思维的培养。
4 培养计算思维的编程工具和平台
通过对国内外大量文献梳理可以发现,各国学者在对计算思维进行培养的实验过程中,采用的编程语言普遍具有“低地板、高天花板”(Low Floor, High Ceiling)的特点[6]。也就是说,所选择的编程工具应该能够让初学者快速入门,同时能够拥有较高的功能,使学习者在不断的学习进阶中使用该工具编写出功能更强、更完善的程序。另外,针对青少年,所选择的编程工具还应该兼具趣味性、图形化等特点。图形化的编程工具通常采用拖拽积木块语言的方式进行编程,相比复杂的文本要显得简单很多,让学生不用过多关注语法和代码,更好地专注于编程作品的创作。
Scratch Scratch是一款图形化开发工具,代码开源,可以进行在线或离线编程。脚本指令通过搭积木的形态提供给学习者使用,界面直观友好。动画和脚本编辑实时响应,用户可随时点击相应指令与动画进行交互,使用门槛低。目前,Scratch已推出3.0版本,采用HTML5编写。Scratch官网提供简体中文版,有案例、在线编程页面和交流社区,针对案例还有教学课程、活动卡片和教师手册,学习者可以编写自己的动画、故事、程序和游戏等交互程序,并且可以把作品分享给全球的用户。Scratch可将案例生成教案。在教师账户下,可为学生建立群组、账号,管理学生的项目和评论内容。Scratch有专门的测试链接,对作品的积木块简洁性和正确性等进行评分。
在官网注册后,进入编程主界面,可对角色和脚本进行编辑。主界面的左边是舞台预览区和角色编辑区,中间是程序指令区(包含脚本、造型和声音),右边是脚本区。设计好背景和角色后,点击相应的角色,可对该角色进行积木编辑;在程序中拖拽出积木块到脚本区,拼接好积木并修改好相应的属性和内容后,点击主页上方的绿旗脚本开始运行。作品全部完成后,点击右上角的“分享”按钮,就可以把作品分享给全世界的Scratch使用者。在对积木进行编辑时,还可以调出脚本区右侧的教程。
App Inventor App Inventor是一款开源、图形化在线编程平台,可为Android系统手机编写程序,创建软件应用程序(APP)。官网提供教程、论坛、教学课程和资源,帮助用户学习和使用App Inventor。打开广州市教育信息中心的App Inventor服务网站,用邮箱注册后即可登录进入主界面,点击左上角的“新建项目”选项卡,选择相应的项目名称进入设计页面,最左边是组件面板,中间是工作面板,右边是组件列表和组件属性。在組件面板中,除了基本的用户界面、多媒体等功能外,还有传感器等强硬件感测和乐高机器人控制功能。在组件面板中拖拽相应的组件到工作面板中后,可在组件属性中对相应的组件进行大小、颜色、文本、背景图片等设置。
在设计页面的右上角,单击“逻辑设计”按钮,可以进入积木编辑页面,程序的“代码”只包含两个块,在积木编辑器打开后,屏幕左侧会有几个选项,分别为“内置块”和“组件”。拖拽出“内置块”里面的积木块,可以设置基本的功能,拖拽出“组件”中相应的积木块拼接到积木中,可以对组件进行进一步的设置。积木块全部拼接完毕后,在工作面板中选择打包为apk文件,在Android手机上安装之后就可以调试运行。
Mixly Mixly是面向创意电子开发的一款图形化编程工具,基于Google Blockly核心,支持大部分Arduino硬件,第三方也可以自己制作库文件。软件界面简洁,支持多种语言,免费开源;更新迭代频繁,一直在优化;使用体验效果好,可以查看图形化模块对应的代码;配套教程丰富,适合12岁以上的学生学习使用。通过USB线连接主板与电脑,从官网下载Mixly软件,安装程序后,可以在电脑的设备管理器看到端口。打开Mixly软件主界面,可以看到主界面左边是基础模块区和库模块区,中间是程序构建区,下方是功能区和提示区。单击“打开”按钮,可找到范例程序并打开,随后点击“上传”;使用第三方库时,单击“导入库”,找到库文件路径,选择库文件打开导入。要实现对电子设备的控制,需要进行硬件连接和程序编写。
1)硬件连接:将扩展板插于主控板后,需要取出相应模块,用传感器连接线将其与相应管脚连接。
2)程序编写:在库中找到对应模块,拖拽到程序构建区,更改至对应管脚,设置管脚状态并组成程序;完成后,点击“上传”按钮,就可以把程序烧到板上,控制扩展板上电子元器件的活动。
LOGO LOGO语言是第一个儿童编程语言,简单易用。下载并安装好LOGO语言后,进入LOGO的主界面,在命令窗口输入简单指令,点击“执行”,可以让海龟在画面上跟着指令走动,走动的方向可以是上下左右,按照指定的角度移动,加速或减速移动,或让小海龟重复执行指令的动作。除此之外,还可以通过指令的复杂组合和排序,创造出人、房子、汽车、动物、抽象图案等各种东西,甚至可以通过这些绘画学习数学微积分。
Kodu Kodu是面向儿童的可视化编程语言,可以让孩子自己创造PC或XBox游戏;目前没有中文版本,在软件中有一些教程。下载并安装好PC Kodu后,桌面出现两个Kodu图标,一个是关于参数设置的选项卡,另一个可以进入游戏的主界面。点击图标进入主界面,选择NEW WORLD进行新的创作。初学者可选择LOAD WORLD,进入“初级编程员”阶段。进入游戏页面后,页面中间是编辑区,可以对角色和场景进行编辑,页面下方是工具。要制作一个简单的游戏,可以从工具中选择角色,放置到编辑区,设置好全部角色的相关属性后,单击角色的右键,选择“program”可以进入程序的“编程”页面。Kodu的基本语句是“WHEN…DO…”,也就是如果想让某一角色活动,需要在“WHEN”里面设置基本的活动条件,在“DO”里面设置当执行条件后,角色怎样活动。条件和活动都是图形化的块,在操作时只需要单击进行选择。程序设置好后,按键盘的“esc”键回到游戏页面,再次按“esc”键或者点击工具栏上的“play game”图标,就可以进行游戏。
编程猫 编程猫是针对中国青少年创建的编程平台。平台除了编程工具,还有一系列的课程、学习社区、虚拟教室和论坛,并且不定期举办各类编程比赛。平台提供源码编辑器、代码岛2.0和海龟编辑器三种编程工具。其中,源码编辑器是图形化的2D编程工具,代码岛2.0是3D的编程工具,海龟编辑器是学习Python
语言的编程工具,可以实现对文本编程和图形化编程的转换。不同的工具适合不同年龄段的学生学习,可在线编程,下载PC客户端编程,或者下载手机版的软件进行编程。与编程工具相对应的编程课程体系有图形化编程课、Python代码编程课、3D代码岛编程课。图形化编程课是入门级的编程课,主旨是“让编程像搭积木一样简单”。Python代码编程课是针对高考的考核科目而推出,3D代码岛编程课主张的是沉浸式学习,在游戏中学习编程知识。
目前,编程猫官网有很多体验课程,不定期在荔枝微课上免费开放“编程猫教师成长课”。通过官网或者客户端进入源码编辑器的编程主界面,删除多余的角色、背景和积木;点击添加素材按钮,进入素材商城采集素材并回到“我的素材”中添加素材,在舞台中调整好素材的位置和大小;从积木盒子中拖出相应的积木到编辑区按顺序拼接,拼接完成后,点击“开始”按钮,就可以在舞台中看到角色按着积木程序运动的情况;确定无误后,修改作品名称,点击“保存”,再点击“发布”“确认发布”按钮,就可以将自己的作品发布到学习社区中与他人一同分享。
六款培养计算思维的编程工具比较分析 以上六款编程工具和平台各具特色,教师可以通过图形化编程方式培养学生的编程能力,发展计算思维。笔者对这六款工具从软件功能、学习体验、教学体验、更新速度、配套教程和资源、易用性等方面进行对比,并且给出针对新手和熟手的推荐等级,供学习者和教師进行参考,如表1所示。
参考文献
[1]Wing J M. Computational thinking[J].Communica-tions of the ACM,2006,49(3):33-35.
[2]Computational thinking: the developing definition[EB/OL].http://eprints.soton.ac.uk/356481.
[3]肖广德,高丹阳.计算思维的培养:高中信息技术课程的新选择[J].现代教育技术,2015(7):38-43.
[4]中华人民共和国教育部.普通高中信息技术课程标准(2017版)[S].北京:人民教育出版社,2018.
[5]郁晓华,肖敏,王美玲.计算思维培养进行时:在K-12阶段的实践方法与评价[J].远程教育杂志,2018(2):18-28.
[6]Grover S,Pea R. Computational Thinking in K-12 AReview of the State of the Field[J].Educational Re-searcher,2013(1):38-43.