对学生的引导教学案例——顺序结构的程序设计
编辑/作者:林青        发布时间:2006-03-17      阅读:5862
  儋州市第一中学 >> 校本课程 >> 论文 >> 技术  
背景

在今年的12月12—13日,省基础教育处和省教育研究培训院里组织了全省第一次的信息技术课堂教学评比,本人有幸参与了本次赛事。老师们的上课形式多种多样,亲自接触,亲身感受,很受启发,收益非浅。这里要说的是海口一中李曼老师上课的一个环节:怎样引导学生从无到有,循序渐渐,引入正题。把原来抽象的问题生活化、简单化,在老师的引导下逐步完成学习。


情节

李老师开始的内容是要教会学生初步掌握变量的概念,要让学生知道在程序设计时,它们有什么作用,它们是如何进交换的。这个环节教学分三步:

(一)换球游戏。首先她请了两位同学上来完成一个换球游戏,游戏规则是:要求每次交换只允许每人手中最多有一个球。在规则的限制下,两位学生的做法是利用直接互抛法来完成,学生的表演很成功,受到大家的认可,课堂气氛很热烈。在这种氛围下,老师话锋一转:我们能不能利用计算机程序来完成这个过程呢?问题一出,学生反应热烈,兴趣很浓。引导学生初步进入主题,很自然,很和谐。接下来把刚才的游戏用字符和数据表示,进入本节的第一个知识点—变量。与此同时,老师列出相关内容:

A=1;B=2;A=B;B=A,

并做解释:

1、A和B都是变量,它的表达方式是:

变量=表达式

2、A原来的值是1(表示是排球),B原来的值2(表示是篮球),通过直接互抛让它们的值进行了互换(也就是根据游戏规则完成了两个球的互换)。完成了游戏,学生根据老师的提示、引导开始进行下一步的学习—编写简单程序。

(二)编写程序,并验证结果。在老师的提示下,学生把刚才的内容输入VB环境,并运行,看看有什么变化?学生们很兴奋的把内容输入,但结果令学生大失所望—没有任何的信息出现(这个结果的出现,为老师下面的授课埋写了伏笔)。这时,老师及时跟学生进行交流,为什么会这样?是不是不对了?一连串的疑问,把学生刚才失落的情绪又给激发了。老师提示:程序运行没有结果,是因为它没有发言权,如果给它这个权力,结果如何呢?老师及时把“PRINT”这个命令引出,并解释如何使用。

(三)补充命令,调试程序。学生在老师的引导下补充程序的发言命令—PRINT,结果如下:

……

A=1

B=2

PRINT “交换前:A=”;A,“B=”;B

A=B

B=A

PRINT “交换后:A=”;A,“B=”;B

程序补充完毕,学生很兴奋的开始运行,得出结果:

交换前A=1  B=2

交换后A=2  B=2

很快有的学生就发现不对劲,举手提问:“老师,答案好象不对”。老师根据学生的反馈及时解释变量的特点:每个变量占用一个内存空间,有新的内容被送到这个变量,旧的内容就被冲刷掉。并对刚才的程序下一个结论:程序运行结果不能满足要求,直接互抛法不成功。

   (四)第二次换球游戏。在否定第一种方法后,李老师又邀请了两位学生上来进行刚才的游戏,规则一样。学生到位后,老师引导:刚才我们用了直接互抛法,在计算机上行不同,大家想想办法,怎样来完成?在短暂的沉默后,突然有位学生举手发言:老师,刚才的直接互抛不行,那可不可以采用间接的?对这位学生的思路,老师给以高度的赞扬。按照刚才那位学生的思路,老师及时提问“如何进行间接?”,“要三个人”一位学生的回答使大家找到了解决问题的方法。

(五)修改程序。学生游戏完毕,老师又引导学生回到前面的问题:原来只有两个变量,现在多了一个,我们把它设为变量C,它的作用相当一个小小的“邮递员”。经过改变后的程序如下:

A=1

B=2

C=0

PRINT “交换前:A=”;A,“B=”;B

C=A

A=B

B=A

PRINT “交换后:A=”;A,“B=”;B

学生很快对程序进行了修改,并运行,结果如下:

交换前A=1  B=2

交换后A=2  B=1

结果正确。李老师通过“游戏—错误—再次游戏—正确”的这种方式来逐步引导学生完成对变量的认识、了解,并达到了初步掌握的程度,过程非常好。



反思

李老师这节课本知识点的处理是非常成功的。它的主体思想是:通过游戏提出问题,引导学生编写一个有问题的程序,让学生从中发现,提出问题,再来解决问题,整个过程都是学生在老师的积极引导下进行的。让学生经历这么一个过程,逐步认识变量、了解变量,并能初步的掌握变量。它的亮点在哪呢?就是在老师的引导下,循序渐渐,逐步进入,让学生从无到有,对知识点的学习从认识到了解,再到初步掌握;把抽象的内容生活化、简单化、具体化,这样一来,学生对抽象的内容就比较好理解,对程序设计的学习不会赶到枯燥。变量这个内容是进行程序设计必须要学习的内容,虽然不是很深奥的一个知识点,但对第一次接触计算机程序设计的学生来讲,是比较抽象的。虽然,学生在学习数学的时候也接触过变量,但它们是有很大区别的。在李老师的引导 ,同时也让学生认识到,计算机中变量和数学中变量不同之处。比如,同样X是变量,在计算机中,它可以有X=X+2,但在数学中这样的表达式是不正确的。因为它的“=”所表示的意思是不一样的。在计算机中“=”是赋值号,它的作用是把右边的内容“赋值”给左边的变量,而在数学中是等号,两者的意义不一样。在游戏的基础上,在老师有效的、积极的引导下,学生的学习兴趣很浓,热情很高,不会对程序设计产生恐惧感。让学生能感到,对于程序设计,我也行。