图形化编程在初中程序设计教学中的应用

2018-08-07 08:04张静洁裘国永
科教导刊 2018年9期
关键词:程序设计游戏化教学

张静洁 裘国永

摘 要 随着人工智能的日益普及,学习编程的重要性逐渐显露。初中编程教学长期以来使用Visual Basic教学,对于这种文本编程方式,学生在学习过程中容易觉得枯燥乏味,因为对编程的学习只学习语法而不理解编程的逻辑结构。加之Visual Basic这种文本编程方式在编程的过程中程序易出错,容易挫伤中学生的学习积极性。而图形化编程使用图形界面,没有难以理解的代码,取而代之的是图形模块的简单拼接,这就大大降低了编程过程中代码出错的可能性。另外图形化编程简单易学,适合编程基础弱的初中学生,他们可以很容易喜欢上编程。

关键词 图形化编程 程序设计 游戏化教学

中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdkx.2018.03.050

Graphical Programming Used in the Teaching of Junior High School Program Design

ZHANG Jingjie, QIU Guoyong

(College of Computer Science, Shaanxi Normal University Xi'an Shaanxi 710119)

Abstract With the increasing popularity of artificial intelligence, the importance of learning programming has gradually emerged. Programming teaching in junior middle school has been using Visual Basic for a long time. For this way of text programming, students may feel bored in the learning process, because programming learning only learns grammar, but does not understand the logic structure of programming. In addition, the text programming method of Visual Basic is easy to make mistakes in the process of programming, and it is easy to contuse the learning enthusiasm of middle school students. Graphical programming, using graphical interfaces, has no hard to understand code, instead of simple splicing of graphics modules, which greatly reduces the possibility of code errors in programming. In addition, graphical programming is simple and easy to learn. It is suitable for junior middle school students with weak programming base. They can easily enjoy programming.

Keywords graphic programming; programming design; game teaching

fr

3 图形化编程在初中程序设计课程中的实现

初中学生掌握的程序设计基础比较薄弱,程序设计的思想以及语言对于初中学生来说很抽象,并且缺乏编实践工具对初中学生来说难以在短時间内掌握,加上代码难以理解,学习起来枯燥乏味,长此以往容易打击学生学习编程的信心。[6]另一方面,初中学生对新鲜事物存在一定的好奇心,对未接触过的软件有很大的兴趣。大部分学生对编写程序,设计游戏有浓厚的兴趣,因此图形化编程方式更容易被学生接受,也更容易在初中程序设计课堂上开展。

前期的课程中学生已经对图形化编程平台Code.org有了初步的了解,这个课时主要是学习循环结构的应用,利用重复模块画出不同的图案,前期学生已经对基本模块例如向前移动模块、向左转向右转模块、设置颜色模块的使用以及参数的设定的有了基本的掌握,为下一步循环结构的学习打下来良好的基础。现以循环结构的学习为例,对图形化编程应用于程序设计课程的实现做简单的叙述。

3.1 任务驱动、创设情境

演示作品,激发学生的兴趣;首先展示已完成的“小艺术家游戏”作品,激发学生兴趣。进而提问学生想不想自己利用编程画出一幅自己的作品。进入本节课的学习。

3.2 引导学生,获取新知

首先引导学生先画出简单的图形:画一个三角形。引导学生画一个三角形的步骤:首先确定三角形的边长,如单位为100。画长度为100的线段——转120啊ざ任?00的线段——转120啊ざ任?00的线段——转120啊?

教师提示:如何用程序语句表示出上述画一个三角形的步骤?画线段即向前移动,可以用向前移动模块来表示,转120翱梢杂孟蛴一蛳蜃笞?槔幢硎尽A硗馓崾狙由舷嘤Φ牟问D敲椿桓鋈切蔚牟街杩梢员硎疚蚯耙贫?00像素——向右转120啊蚯耙贫?00像素——向右转120啊蚯耙贫?00像素——向右转120啊?

3.3 教师引导、学生实践探索

教师提问:大家练习之后发现这个程序简单来说是向前移动100像素和向右转120傲礁瞿?橹馗词褂昧?次,共使用了6个模块。如果需要画一个重复100次、1000次的图怎么做呢?有没有简单的方法?这就是这节课要学习的程序三大基本模块之一的循环模块。

3.4 学习新知:循环模块

当需要重复执行某个模块或某些模块若干次时,可以使用循环模块即重复次模块来简化模块数。如图2、图3所示。

3.5 总结使用重复模块画一个三角形的步骤

(1)添加 重复模块,并填写循环次数3次。

(2)在循环模块内添加向前移动模块,并填写参数100。

(3)在循环模块内添加向右转模块并填写旋转度数120啊?

(4)设置颜色模块,可以选择具体的颜色,也可以设置随机颜色,注意设置颜色模块放置的位置不同,画出来的图案颜色也不同,请学生分别操作不同的情况。

3.6 循环的嵌套

教师提出问题,引导学生小组合作讨论如何画一朵简易的花,即由10个三角形组成的简易花,展示给学生,学生自主操作小组内讨论,提示可以使用这节课学过的循环模块。

学生操作练习使用两个循环模块来画目标图形,发现并没有画出教师展示的图案。教师答疑:注意,在使用两个循环模块画图时程序跳出内循环之后画第二个图形之前要使小画家旋转一定的度数,否则后面的图形都覆盖在第一个图形的轨迹上,看起来就像是画了一个图形。

最后学生通过学习以及实践画出来使用两个循环模块画出的图形如图4。

4 教学反思

本节课的内容是图形化编程的循环控制内容,与单一的使用向前移动模块、向右转模块相比难度有提升,在教学过程中采用情境导入,任务驱动法导入,激发学生学习的好奇心和兴趣,首先指引学生练习使用单一的移动和旋转模块绘制三角形,继而在问题的驱动下引出循环模块的作用以及循环模块相较于多次使用向前移动、旋转模块的优点。通过小艺术家的游戏,提升学生思维能力,例如画不同的图形转向的度数不同,当使用两个循环时画第二个图形之前也要先思考应该添加向左(右)转模块或者向前移动模块才能画出不一样的图形,否则重复循环模块画的几个图形会重叠在一起。另外,模块放在循环结构内和循环结构外画出来的结果也不一样,因此要引导学生多思考多练习,通过由简单图形通过改变参数可以转为复杂的图形,从三角形的画法到正方形的画法,到圆的画法,从一个图形的画法到重复多次的画法,引导学生开拓思维,完成自己想象的各种图案。

5 结束语

研究表明,將图形化编程平台应用于程序设计课堂教学,大部分学生能够熟练运用各种模块编写互动游戏、图画、动画等作品,很大程度上激发了学生对程序设计的学习兴趣,提升了学生的逻辑思维能力和语言学习能力;培养了学生对生活的观察和理解能力,同时学会与人沟通、合作学习,増强了学生学习编程的信心,结合教学实践,笔者总结了图形化编程的教学设计中应注重的两个方面:

(1)注重任务的趣味性。一个能引起学生兴趣的情境是初中编程教学中任务设计的基本前提。学生对于学习的兴趣通常来自生活实践;因此教师在设置教学情境时要注意贴合学生的生活实际,学生才能产生共鸣,以使得教学任务顺利开展下去。另外在学习过程中教师要多设问,引发学生思考。例如一个需要重复多次使用的几个模块,教师提出怎样才能使程序尽可能简洁,会让学生产生探究的浓厚兴趣,从而引出“循环结构”的教学内容。在设计任务时,应当恰当的利用好这些 “兴趣点”,让学生在快乐的学习氛围中主动参与学习活动。

(2)复杂的任务要细化。学习的过程是一个从无到有逐步积累的过程。在实际教学时一次性让学生完成一个相对复杂的任务是不现实的。因此,教师在设计任务时要针对学生的实际能力,将一个复杂的任务细化为若干个小任务,先完成小任务,再完成大任务。这样通过知识的层层递进可以使学生更容易理解教学内容,降低学习难度,有利于促进程序设计课堂取得更好的效果。

参考文献

[1] 教育部.中小学信息技术课程指导纲要(试行)[EB/OL].http://www.edu.cn/

20020327/3023657.shtml[2015-08-10].

[2] 周丽.基于图形化编程的高中算法教学研究[D].上海师范大学,2008.

[3] 刘芳芳.图形化编程工具辅助程序设计学习[J].中国教育技术装备,2009(30):126-128.

[4] 路敏.游戏化教学在初中信息技术课堂中的应用研究[D].南京师范大学,2011.

[5] 马宗辉.解析基础编程工具在初中信息技术教学中的应用[J].中国教育技术装备,2017(7):14-15.

[6] 高淑印.基础教育算法与程序设计模块内容标准解读[J].中国电化教育,2012(10):33-36.

猜你喜欢
程序设计游戏化教学
基于OBE的Java程序设计个性化教学研究
基于Electron.js的风向玫瑰图绘制程序设计与实现
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
“C语言程序设计”课程混合教学探索
倾心打造音标“游乐场”
对小学语文游戏化教学的现状分析及对策探讨
基于新课程理念的小学信息技术游戏化教学探析