第15卷第3期2020年9月
贵阳学院学报(自然科学版)(季刊)
J O U R N A L O F G U I Y A N G U N I V E R S I T Y Natural Sciences (Quarterly)
Vol.15 N o.3
Sep.2020
基于图形块语言Blockly的创意趣味编程的教改初探
—以科教专业的算法与程序设计课程为例
白禹,李国勇,王慧,骆建林
(贵阳学院大学科技园管理中心,贵州贵阳550005)
摘要:信息时代给科学教育专业提出了新任务,也给算法与程序设计课程提出了新要求。传统的C语言教
学效果不理想,通过引入图形块语言Blockly进行教学改革,突出编程的创意与趣味,减少编程环境与语法的
枯燥。将计算思维与算法理念通过融入游戏设计来获得,以提高学生的接受度。通过教改探索,为科学教育
专业以及相关专业在计算机教学方面提供一条新的思路。
关键词:科学教育;编程教学;程序设计教学;教育改革;教学改革
中图分类号:G642.0 文献标识码:A 文章编号:1673 -6125 (2020) 03 -0094 -03
Educational reform of creative interest programming based on
graphical block language Blockly
------"algorithm and program design" of Scientific education major
BAI Y u,L I G uo-yong,W ANG H u i,L U0Jian-lin
(S&T Park management center,Guiyang University, Guiyang 550005,Guizhou,China)
A bstract:The information age has put forward new tasks for science education majors and new requirements for the
course of algorithm and program design. The traditional teaching effect of C language is not ideal. The teaching reform is
carried out by introducing Blockly,a graphics block language,which highlights the creativity and interest of progra ming and reduces the boring programming environment and grammar. In order to improve the acceptance of students,the
concept of computational thinking and algorithm is obtained by incorporating it into game design. Through the explor of educational reform,it provides a new way of thinking for science education and related majors in computer Key words : Scientific education ;Programming teaching ;Program design teaching ;Educational reform ;Teaching reform
2017年2月,教育部印发了《义务教育小学科 学课程标准》,明确提出小学科学课程起始年级调 整为一年级且原则上要按照小学一、二年级每周不 少于1课时安排课程。2017年7月,国务院印发 《新一代人工智能发展规划》,要求在中小学阶段 设置人工智能相关课程,逐步推广编程教育,鼓励 社会力量参与寓教于乐的编程教学软件、游戏的开 发和推广。信息时代给科学教育专业提出了新任 务,也给算法
与程序设计课程提出了新要求。1科教专业算法与程序设计教学现状与困境
科教专业不同于信息类的专业,科教专业培养 学生的目的不是成为一名信息技术从业者,而是能 承担中小学编程教学的教师。因此,就需要确定三 个教学任务:(1)熟悉一门易懂易学的编程语言;
(2)通过编程训练了解和掌握计算思维,计算思维 包括从现实中抽象概括的思维、将复杂问题分解的
收稿日期:020 -04 -05
基金项目:贵州省科技厅2018年度科技支撑计划(软科学)研究项目重点项目“科学数据政策”(项目编号:黔科合支撑[2018 ] 20102) 作者简介:白禹(1986 -),男,四川宜宾人,副教授、博士。主要研究方向:情报科学。
一 94 一
3期白禹等基于图形块语言Blockly的创意趣味编程的教改初探
思维以及算法建模的逻辑思维;(3)学会如何将编 程能力和计算思维整合以后向中小学生传输。
算法与程序设计以C语言教学为主,优点在 于:(1)C语言是一门在教学、科研与生产中使用 非常频繁
的语言,市面上具有大量优秀的教材与教 辅资料,而且网上也有非常多优秀的C语言开发 课程,能方便学生进行资料查与拓展学习;(2) 对于科教专业的学生来说,C语言的学习有利于亲 近硬件,理解硬件。为进行后续的Arduino课程的 学习,可以很快地理解和上手;(3)可以为学生自 学别的编程语言,诸如Python、R语言、Java等,打 下坚实的基础。
但是,通过长期调查发现,学生对于这门课的 满意度与获得度都不高,因此,这门课的通过难度 大。其中一个最主要原因就是C语言教学。尝试 了很多种教学方法的引入进行教学改革,效果仍然 不理想。对原因深层剖析如下:
其一,专业中贫困生多,农村学生多,在高中阶 段,基本没有接触过编程语言,民族地区信息技术 发展仍然滞后,少数民族中小学生信息技术素养偏 低。[1]很多同学坦言这是第一次接触编程语言。C 语言、C ++以及Pascal是全国青少年信息学奥林 匹克竞赛(NOI P)指定用语。C C F N O E019正式选 手获奖中,贵州尚无获得金牌和银牌,只有三块铜 牌。多年来,难有金牌和银牌。因此在初高中编程 语言的掌握程度不高。
其二,二本学校的学生普遍英语和数学基础 差。由于英文基础差,即使编程语言中只有少量的 英文单词,也会让学生产生畏惧情绪。特别是计算 机教材的例子中的变量名、函数名等,很多都是选 取英文单词进行简写。进一步加剧了这一种情况。学生变成了强行记忆字母组合,而不是根据变量需 要存储的
值的意义的英文单词的简写,这样去记 忆。无疑加大了工作量,而且在程序书写时,常常 由于记忆错误而造成程序出错。计算机算法需要 数学功底和逻辑思维能力。由于学生数学基础差,因此学生比较抵触枯燥的算法逻辑的学习,学习效 率不高。
其三,二本学校的学生专注力与自制力较差。高校的专业课程门类多,而且难有如同高中大量的 习题课与复习安排。高校的学习模式决定了学生 需要自己花大量的精力在课前课后学习。二本学校的学生专注力与自制力在丰富多彩的高校生活 面前更加脆弱。因此,基本上靠课堂老师讲解与练 习。一门课程得不到大量的练习,就会造成越学越 困难,甚至有不少学生从开始学习时的兴趣满满到 在中途放弃学习。
其四,C语言的编写程序比较自由、语法格式 不固定、语法细节多。[2]需要在一开始就要培养严 格的代码书写规范。而且C语言难以做到编写边 运行。需要将整个程序基本写完,才能运行。每次 运行是从第一行代码开始。这造成了学生难以很 好地掌握编程。大量的精力用于去关注语法细节,加大了学习C语言的难度。
2图形块语言Blockly的概述
Blockly是一个开源的开发者库,用于添加基 于代码块的应用程序,由Google开发并维护的,于 2012年6月进行了发布。[3’4]Blockly增加了一个可 视化代码编辑器的网页和移动应用程序。Blockly 编辑器使用
互锁的图形块来表示诸如变量、逻辑表 达式、循环等代码概念。它允许用户应用编程原 则,而不必过多地关注语法或命令行上闪烁光标。这样可以将大量的时间投入到计算思维的培养上 面。Blockly将代码块变成了类似于积木的图形块 构成,这使得用户从枯燥的码代码变成了可以通过 类似玩拼图方式。将一个个代码块按照一定的顺 序拼接起来,实现简单功能,然后再将每一个简单 功能进行组合起来,最终构成实现一个完整功能的 程序。Blockly可以在多个操作系统平台进行编程 与运行,包括 Windows、Linux、iOS 以及 Android。
与其他图形块编程语言最大的不同在于,Blockly可以将代码自动转化为JavaScript、Python、P H P、Lua、Dart以及X M L这六种程序语言。这使 得学生在掌握Blokly的基础上,平稳地过渡到其 他更为常用的编程语言。这种特性,正好是Blokly 能成为一门优秀的教学语言所具备的特性,能起到 承上启下的作用,而不至于让别的语言的学习有突 兀感,需要重新学习很多知识。可以在学习Blockly 的同时,进行适当的扩展教学,为学习其他语言打下 基础。Blokly的代码编辑器提供中文界面,这使得 英语基础差的同学不产生一开始的畏惧心理。
3图形块语言Blockly的教学目标
算法与程序设计使用Blokly语言进行程序设
一 95 —
贵阳学院学报(自然科学版)(季刊)15卷
计与算法展示,通过以设计为中心的小游戏,实现 基础概念和高级应用融合,将理论和实践有机地结 合在一起。学生通过设计游戏,掌握知识点,巩固 教学内容。教师透过游戏的设计,反思学习效果。最终的目的是使学生在掌握Blockly的同时,得到 编程素养、逻辑思维能力以及实践技能的锻炼,为 独立的解决实际问题打下基础。具体的教学目标 有以下几个方面:
3.1知识目标
了解Blockly的概念和应用范围;掌握Blockly 的编程方式;掌握Blockly的八大代码块类型:逻 辑、循环、数学、文本、列表、颜、变量以及函数;了 解算法的概念和表示方法,特别是搜索算法与排序 算法;掌握字符串的处理;掌握链表的概念与运用,包括动态链表和数字链表;掌握项目的设计开发流 程;了解中小学生编程学习的特点。
3.2能力目标
算法与程序设计以“培养计算思维”“提高创 新能力”“提升中小学信息教育”为宗旨。作为科 教专业的专业基础核心课程,培养学生具备从现实 中抽象归纳问题的能力,简单趣味游戏程序开发能 力以及中小学信息技术教育能力,为贵州中小学基 础教育输送更多优质的能胜任信息技术教育的 人才。
4图形块语言Blockly的教学实施计划教学过程中,按照“基本语言块和基础概念的 讲解-应用举例-设计题目-程序设计-编写与实现-总结”这样的流程进行。通过基本语言块 和基础概念的讲解,将基本应该掌握的知识点讲解 透彻。通过应用举例,进一步讲解和演示知识点的 具体用法。利用精心设计的题目,让学生自行设计 程序,巩固所学的知识。经过模型的建立、代码的 编写以及功能的实现,能让学生熟悉程序设计的基 本开发模式与算法流程。最后,通过总结归纳,整 理收获。
整个Blockly课堂教学的时间分配,首先前10 分钟的时间,进行知识讲解,接下来的15分钟,进 行应用举例,向学生演示编程的技巧与用法。然后 用45分钟的时间,让学生完成一个简单的程序设 计,在学生编程的同时,巡查发现学生的编程问题。在学生课堂练习结束后,利用10分钟的时间,对学 生的成果进行展示,并进行点评,提出不足,如何进 行改进完善的思路,最后10分钟进行课堂教学总 结,并且重点讲解学生遇到的共性问题,以及如何 处理这些问题的方法。
一年级编程课视频算法与程序设计是一门基础知识与实践能力 培养为主的课程,侧重考查学生在实践中运用知识 的能力。因此,这门课采取考察的形式。最后的综 合成绩=期末成绩(50%)+平时课堂成绩(50%)。期末考查以实现一个相对复杂的游戏为 要求。从程序设计逻辑,代码的优化等几个方面来 评分。而平时课堂成绩,主要是学生每一次的课题 实践作品的评分。
5结论
综上所述,Blockly比C语言能更好地完成算 法与程序设计的教学要求。而且,Blokly将会在 非计算机的教育类专业应用的越来越多。通过教 改探索,为科教专业以及相关专业在计算机教学方 面提供一条新的思路。
参考文献:
[1 ]娄树君.少数民族中小学生信息技术素养培养路径研
究[D].重庆:西南大学,2016.
[]刘宗妹.基于C语言教学效果的比较探索高职院校
Python的教学模式[J].课程教育研究,2019(17): 239 -220.
[3] Fraser N. Ten things we^ve learned from Blockly [ C]//
IEEE Blocks & Beyond Workshop. IEEE, 2016.
[4 ] Pasternak E,Fenichel R,Marshall A N. Tips for creating
a block language with blockly [ C]// IEEE Blocks & Be­
yond Workshop. IEEE, 2017.
一 96 —

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。