小学信息技术课程中程序语言教学实践
郑重
(合肥市高刘小学,308486648@)
摘 要:计算机语言引入到小学阶段信息技术课程教学中更加有利于激发学生探究欲望,提高他们信息处理能力,语言学习过程中对培养学生思维品质和创新能力有很大的促进作用,本文将对程序语言在信息技术课堂中的实践教学做初步探讨。
关键词:结构化程序语言 教学实践 思维能力培养
引 言
计算机语言按其发展可分为机器语言、汇编语言和高级语言,对于小学信息技术课程来说引入部分结构化的高级语言如:PC-LOGO、Pascal等,学生还是乐于和易于接受的。如何将枯燥、晦涩的计算机语言变成学生乐于接受的思维工具,教学实践中做以下探索:一是精心设计入门课,二是改变学生思维习惯和方式,三是在创新和实践中不断提高编程能力。
一、精心设计程序语言入门课
1.精心设计第一课的必要性
儿童心理学有一个“关键年龄”的说法,即在儿童发展的过程中,某一种技能或能力在某一特定时期最易获得,最易形成,如果错过这个时期,效果就会差很远。让小学高年级学生接触并学习一些程序设计语言,使其能用程序设计的方式进行思考,帮助小学生获得解决问题的另一种途径。小学生学习程序设计在教学目标上不是培养“小程序员”,而是通过程序设计的思维方式来培养学生,给那些对程序设计感兴趣的学生提供一个良好的发展环境。因此,能让学生通过第一课的学习就深深的“爱”上程序设计语言是摆在语言教学第一课面前的首要任务。
2.入门课设计的尝试
小学信息技术第五册第三单元是PC-LOGO入门,首先展示图1,让学生尝试使用画图软件画出这张图。开始时学生可能信心满满,当打开画图后发现无处下手,这时老师引导说“我的电脑里有一只神奇的会变魔术的小海龟,它可以帮助大家画出这幅图”。紧接着使用PC-Logo绘出图形,学生感到很神奇和好奇,进而提问学生:你想不想拥有这只神通广大的小海龟呢?
图1
学生在这种轻松愉悦的气氛中也感到心情愉悦,顿时兴趣陡增。精心的导入后,引领学生完成一些简单的设计,慢慢提高难度使他们学习编程的兴趣不至于泯灭在枯燥、乏味的数学运算中。
Pascal语言教学中尝试使用文件方式展示程序语言,编写下面这个简单的程序:
program hello;
var t:text;
begin
assign(t,'c:\;);
rewrite(t);
writeln(t,'hello!');
close(t);
end.
这个程序运行后生成一个文件,老师将这个文件发送到学生C盘,让学生点击看看有什么变化,有些同学惊奇的发现C盘多了个文件,打开会看到hello这个单词。在此基础上引导学生你能不能把自己名字的拼音输出到这个文件中呢?学生的好奇心促使他们探究老师上面给出的程序。由此教师带领学生进入Pascal语言的学习,学生带着问题和好奇,兴趣自然不低。
二、激发学生思维动机优化思维方式
著名心理学家皮亚杰认为:儿童的认识是通过活动并在主客体的相互作用中产生的,小学生学习程序设计,一方面是手脑的协调活动,是对计算机算法的感知过程,另一方面又是手与脑密切沟通把外部认知活动转化为内部语言的智力内化方式。因此,语言学习过程中采取“驱”、“探”、“悟”三位一体的教学模式。
1.创设情景,“驱”动思维
程序语言学习中老师尽量选取和学生实际生活贴近的问题加上老师的循循善诱,使学生融入一个生动有趣的场景,题目的趣味与挑战性,引起学生的好奇心。学生每做一道题,均须在题目的情景中发挥想象力,分析问题,建立数学模型,设计算法并运用编程求解,极大地激发了学生的探究热情。
在学习Pascal结构程序设计时提出下面的问题:已知一辆自行车的售价是300元,商场为了促销,买两辆及两辆以上自行车,第二辆或第二辆以后的自行车均按240元一辆的价格出售,请编程计算a辆自行车的总价是多少?[如购买3辆自行车价格为:300+240*2=780(元)]
首先引导学生分析问题中的数学模型,不难发现买一辆和两辆自行车单价是不同的,进一步分析得出总价分两种情况一是当自行车数量为1是总价就是300元,而第二种情况是当自行车数量达到或超过2辆时总价应该是300+240*(a-1),这样学生对应即可写出程序。
2.寻找规律,“探”究知识
引导学生探究新知识是课堂教学中发挥学生主体作用的重要环节,教师的任务是为探索创造条件。学生在探索的过程中积极动口、动手、动眼、动脑,从而主动获得知识、发展能力。
在PC-Logo学习“重复”命令时如果采用先讲命令功能和格式,然后学生套用格式进行练习的模式,大部分学生思维得不到探究练习,不能掌握其规律对后续的问题解答不利。如果采取先观察再“探”究规律的方法,学生的能力必将得到发展。
首先出示使用基本命令和重复命令画正方形的过程,让学生观察、对比两种方法的效率。
表1:两种命令的对比
第一种
|
第二种(重复命令)
|
Fd 100 rt 90
Fd 100 rt 90
Fd 100 rt 90
Fd 100 rt 90
|
Repeat 4[fd 100 rt 90]
|
3.“探”、“悟”结合,训练思维
“探”和“悟”不是独立的两个过程,他们相互依存,相互转化。“悟”是“探”的结果,又是下一步“探”的基础。
学生在探索用重复命令的使用格式时,也在悟重复命令中“重复的次数”、“重复的内容”的含义;在探索重复命令画正多边形的方法时,也在悟命令中重复的次数、小海龟每次转动的角度与正多边形边数之间的关系。学生每次悟出的结果又是下一次探索的基础。在“探”、“悟”的过程中独立尝试、独立思考,从而思维得到训练。
三、在实践和创新中提高编程能力
“纸上得来终觉浅,绝知此事要躬行”,这不仅是信息技术教学特殊性的体现,更能反应程序设计语言学习的特点。学生只有通过上机实践行动,才能在不断促进其独立思考能力培养的同时激发出学习兴趣。对学生而言,兴趣是最好的老师。不通过上机实践,就不可能提出实际问题,也就不能有效激发出学习积极性。学好程序设计要求学生通过自身不断实践与探索,才能做到对所学内容有更深层的理解,才能让实践、思考、提高三者成为一个统一体。
在Pascal学习中提出如下问题:输入三个数,输出其中最大的数。该问题看上去很简单,学生通过分析不难找到解答,进一步写出程序大部分都会得到如下写法:
Program max;
Var
a,b,c,max:real;
begin
readln(a,b,c);
if (a>b) and (a>c) then max:=a;
if (b>a) and (b>c) then max:=b;
if (c>a) and (c>b) then max:=c;
end.
老师肯定上述代码的同时提出能否有不同的更简洁、层次更清楚的方法,使用N-S图先分析,
表2:N-S图
输入a,b,c
|
|
|
max←a
|
max←b
|
|
|
max←c
|
|
输出max
|
上表N-S图利用两个条件语句来实现,程序主体部分即可写成如下:
If a>b then max:=a;
Else mac:=b;
If c>max then max:=c;
通过实践和创新学生得到了更加简洁、层次更清晰的程序。
Logo学习重复命令中学生掌握了正多边形的画法,例如正五边形可以写成: repeat 5[fd 50 rt 360/5],那么如下图的五角星怎么画呢?
图2:空心五角星
引导学生分析每个角由两条边组成,当小海龟画好一条边后,向右旋转的外角是: 720度/5=144度;接着再画第二条边,如此重复5次。
rt 18
repeat 5[fd 50 rt 720/5 fd 50 lt 360/5]
ht
由此推出空心多角星的画法:
Repeat 角数[fd 边长 rt 720/角数 fd 边长 lt
360/角数]
学生的程序设计实践能力要在不同问题中通过思维的训练进行扩展。学习程序设计要鼓励学生不断在实践上机中探寻问题的解决方法
综上所述,程序设计不是看会的,也不是听会的,而是通过上机实践自己练会的。“实践出真知”,要既动脑,又动手,进行“理性”的思维和“理性”的实践。从小学习一些程序设计的思想,会对大家将来打开思路,挖掘潜能,提高科学素养和动手能力有很大的益处。从信息技术方面获得的能力也可以迁移到其他课程中去。
参考文献
[1]朱智贤:《儿童心理学》,人民教育出版社 1993年版。
[2]《程序设计小能手-Logo语言编程》北京希望电子出版社
[3]马敏:《依托信息学奥赛培养学生思维品质和创新能力》,NOI导刊
[4] 小学开展Pascal语言教学的尝试与思考