在高中数学算法基础课上利用Scratch辅助教学的研究
2014-06-11郑赣辉
郑赣辉
高中数学人教版教材必修3第一章为算法基础,主要介绍一些简单的算法案例,以及用自然语言、程序框图和程序语句来描述算法。高考对这一章内容的考察要求比较低,只要求学生能够分析题目中给出的算法程序框图的执行过程,得出算法运行结果。从备考的角度备课,我们把教学重点放在程序框图,要求学生能够读懂程序框图所描述的算法,列出算法的具体执行步骤,根据步骤计算算法运行结果。在教学实践中,学生碰到的主要问题是:不会分析循环结构的执行过程,不能清楚判断在算法执行的每个步骤中变量的值是何时被修改的以及怎样被修改的。为了加深学生对算法的理解,我将类似程序框的积木式的程序语言Scratch引入算法课堂中,效果良好。
一、Scratch简介
1. 概述
Scratch是美国麻省理工大学媒体实验室专门为八岁以上儿童设计的编程环境。它不需要你写任何编码,只要使用鼠标拖拽事先为你准备好的部件就可以组成游戏,卡通和动画,就像小孩玩积木一样简单而有趣。
儿童的最爱的就是玩,如玩游戏、卡通、动画等。而Scratch紧紧围绕这个中心,让孩子设计自己的游戏、卡通、动画。孩子在设计作品的过程中,会运用到数学及算法的概念,对孩子逻辑分析、创意思考、流程控制、问题解决都有帮助。
Scratch把程序命令归为动作、控制、外观、侦测、声音、数值与逻辑运算、画笔、变量8大部件,并用颜色来区分。设计作品时,学生只需要按照自己的想法选择合适的部件拖曳到脚本窗口,并堆积在一起即可。学生不需要记忆任何脚本部件,因为每个脚本部件的功能都一目了然,单击任意一个脚本部件,系统会执行一次该脚本命令,可以在舞台窗口预览命令执行效果。
2. Scratch国内外研究现状
美国目前有数以百万的学生在学习Scratch课程,连哈佛、加州大学伯克利分校这样的世界名校也都开设了Scratch课程。英国也开始在中小学信息技术课上开展Scratch教学。
我国台湾的中小学广泛地以Scratch为主展开信息技术教学,并定期开展相关的竞赛。
我国大陆的发达城市(例如北京、上海、常州、广州等)的中小学信息技术课上也正在掀起一股Scratch教学热潮,吴向东、毛爱萍、凌秋虹等老师已经在该领域走在了前列。
目前,国内外主要是针对中小学生开展Scratch教学研究,而且主要是在信息技术课堂上开展程序设计教学,很少有针对高中生的研究,特别是对高中数学课堂上利用Scratch作为辅助教学的研究。
二、利用Scratch辅助算法基础课教学的优势
在教学实践中,我发现Scratch有几个明显的优点可以帮助学生理解算法和程序设计。
1. Scatch使用外形类似程序框的图形化编程语言,学生只要会画程序框图,就会设计程序;反之,学生通过调试理解了程序,可以加深对算法和程序框图的理解。
2. Scratch变量名字可以含有中文字符,如 ,方便学生理解和记忆程序框图。学生刚接触程序框图,若程序框图出现多个名字为无意义英文字符的变量,会对学生理解和记忆程序框图造成困难。
3. Scratch特有的变量读出器功能,可以将变量输出到舞台上,如 ,可以帮助学生理解变量的概念,以及程序执行过程中变量值的变化。对于刚接触程序设计的学生来说,学习的第一个障碍就是变量,很多学生不能理解变量的概念和作用。通过变量读出器,学生可以将变量想象成一个容器,可以存放数据,这个容器有自己的名字,就是变量名。再者,Scratch还提供了程序延时功能,配合变量读出器,学生在调试程序的过程中,可以方便地查看程序执行过程中变量存储的数值,帮助理解算法和程序框图。
4. Scratch提供的链表读出器功能可以方便学生调试程序。对于刚接触程序设计的学生来说,调试程序是一大难题。使用其他的程序设计软件,虽然可以通过设置断点逐行调试程序,通过监视点查看变量的值,但不能记录变量的值,只能手工记录,非常麻烦。而在Scratch中,可以在修改变量值的地方,将变量的值插入链表,再配合链表读出器,就可以了解变量在程序执行的过程中数值的变化,有助于初学者理解变量的作用和算法。
责任编辑 罗峰