⑴ 从备课着手,学会“淘汰”自己,要做加法
有人说“给学生一杯水,教师必须像泉水”。的确如此,备课是教师执教中必不可少的一个环节。可是我们往往都会在备课中存在一种惯性思维,常常将上个学年的教案拿来就用,反正觉得知识点也没多大变化,备课当然也无需多大变化。其实不然,这种靠“旧船票”登上“新客船”的做法已经行不通了。
当我们回过头去仔细看自己以前花很多精力备好的教案时,会发现很多想法都有点过时了,甚至感觉很幼稚。此时必须要学会否定自己,“淘汰”自己当初的想法,毕竟随着教学经验的逐步累积以及阅历的不断增加,看问题的角度也会发生变化,更加细致,那么必须要重新备课,将备课过程中出现的各种新想法不断地融入进去,多做这样的加法。因此,在备课的过程中可以参考以前的,但也要与时俱进,多多分析当初自己的想法,和现在的思考多做比较。所以,从备课上来看,必须要重新去“备教材”,不仅要把教材吃透,还要善于把握教材的重点和难点,做到有取有舍。笔者认为只有钻研得深,才有可能讲得浅。
⑵ 从上课来看,需要“转行升级”再提高,要做减法
备课时要“深入”,上课时则要“浅出”。不能在备课时备些什么,就到课堂上全部讲出来,使得一堂课满满当当,实际上未必是越细越好,有时候多则无益,对学生学习信息技术不一定有多大好处。所以,上课时要多做减法,尽量使复杂问题简单化,也便于学生理解,同时也要给学生更多的思考时间。课堂如果一味地由老师主宰,探求、怀疑、争辩和批判就难以在学生中真正生根发芽。
另外,也不能为了过分追求好的课堂效果,一节课就像过节放鞭炮一样热闹,学生的课堂反应看似很好,个个好像都很懂,其实有很多学生是滥竽充数于其中而已。要知道热闹过后,硝烟散尽只留下一地纸屑,学生的收获不多也不行,毕竟课堂上注重的还是获得新知识。所以,有时未必有好的课堂效果就是一节好的课,要权衡好,有些不必要的课堂效果该减时还是要减。
⑶ 从下课而言,放低“姿态”,走出去,请进来
如果说课堂是教师表演的舞台,学生的舞台只好留待课堂以外,于是课堂上没有办法完成的事情便理所当然地推到了课外。在程序设计教学中,很多学生反映上课时都能听懂老师的讲解,可一旦自己去做具体的题目时,往往会没有思路、脑袋空空,或错误百出等各种情况。学生的程序阅读能力、编写能力只停留在照着教师例题 “依样画葫芦”的水平,一知半解,并没有真正形成自己的逻辑思维,一旦稍有改变,就无从下手。
面对这些问题,很多学生一方面是不敢问,怕问了还是不懂,另外一方面是懒得问。而老师也存在一种教学习惯,下课后就等着学生来问自己问题,很少主动走到学生中间,去询问一下这节课的教学效果,倾听学生的想法。我们常常说“教师搭台、学生唱戏”,缺少了主角,再好的戏也白搭。因此,我们必须要主动走到学生中去,多去找那些基础薄弱的学生问问,问问他们“听懂了没有”,“哪里不懂”等,多去了解他们当前的学习状态,把有问题的学生主动的请进来,给他们好好的分析问题、解决问题,一遍不行就两遍,甚至三遍四遍,直到懂为止,使得他们重新树立起学习程序设计的信心,这场戏才能完美谢幕。
2、在练习环节上 “齐头并进”,做到课堂课后两不误,作业批改及时跟进
在只有信息技术会考的时代,笔者对学生的练习仅仅是局限于小小的课堂之中,基本上就是让学生进行上机操作练习,能达到会考操作要求就行,可以说是很肤浅地停留在或者是应付会考的层面上。在课堂中,最多是将上机练习过程中出现的普遍问题及时进行解答,或者是进行个别指导。
自从有了信息技术的高考,在练习上就发生了实质性的变化,打破了单一的课堂练习模式,以课后练习为重。现在从高一开始,每一节程序设计课结束后,我们基本上都准备了相应的课后练习,要求学生独立完成,做错了没有关系,不会做也没有关系,能做多少是多少。这样做主要是为了鼓励学生在练习的过程中有更多的时间去思考怎么做,树立起一套符合自己学习程序设计的方法,而不是为了一个答案去抄答案,从而扼杀了自己的学习能力。
有了课后练习,对笔者而言,就要花很大一部分精力去批改学生的作业,这在高考以前是从来有过的。在批改学生作业的过程中,感受颇多,自己感觉可能特别简单的题目,一到学生那里,什么样的答案都会出现,就会迫使我们去分析学生解决问题的逻辑思维。这样批改作业的过程有时可能不比数学老师来得轻松,甚至有种过山车的感觉,跌宕起伏。从某种程度上来说,要求学生做课后练习、老师作业批改及时跟进,能够及时发现问题所在,其实是件好事,教学相长嘛,对我们的备课和练习设计也提出更大的挑战。
3、在知识体系上“破旧立新”,分散教材固有的结构,感性认知为先
众所周知,《算法与程序设计》教材是按照“先理论后实践,先语句再程序”理念编写的。这就容易导致在上课时先讲基础理论部分,比如算法的概念、流程图的画法,再讲具体的算法程序。然而大多数学生都是第一次接触算法与程序设计,他们对学习算法也很茫然,不知道学这些理论有什么用。因此,我们可以尝试着做些改变,从程序设计教学一开始就应该让学生接触功能简单的程序,以建立起对程序设计的整体概念,体会各种语句的功能,理解计算机解决问题的一般过程。
比如在程序设计教学的第一节课时,笔者就举了一个关于加法的简单VB程序, 先给出(如图1所示)的应用程序,然后在相应的“被加数”和“加数”文本框中输入数字,单击一下“计算”按钮,和就出现在“两者和”文本框中(如图2所示)。
首先让学生用自己的语言表示算法,然后教师给出具体的相对应的VB编程代码,让学生自己去体会用程序设计语言表示的算法叫程序。(程序代码如下)
Private Sub Command1_Click()
Dim a As Double
Dim b As Double
Dim c As Double
a = Val(Text1.Text)
b = Val(Text2.Text)
c = a + b
Text3.Text = Str(c)
End Sub
接着让学生根据自己的学习经验去理解这段程序,虽然学生最终形成的认识,以及得出的结论仍是肤浅的、模糊不清的、认知不全的。但由于有了真实的程序设计环境以及借助了具体的实例,学生就能以一种轻松的方式,比较容易地接受了程序设计的启蒙教育,对学习程序设计也萌生了一种最初的亲切感,有了一个很好的感性认识,为以后的程序设计教学工作开展奠定了良好的基础。
三、高中信息技术程序设计教学中的几点思考与建议
1、授人以“渔”,更需授人以“欲”
教学中常说的一句话:授人以“鱼”,不如授人以“渔”。其实在笔者看来,授人以“渔”,更需授人以“欲”,只有在教学中调动了学生学习程序设计的欲望,才能发挥学习的主动性。
我们都明白,课堂教学的效果不在于教师教了多少内容,而在于学生学到多少知识,而学生学到多少就取决于学生参与课堂教学的热情和主动性。只有学生积极主动参与学习,教师的努力才能取得效果。要使学生积极投入到一节课的学习,笔者认为首要的是激发他们的学习欲望,发挥其主动性。在教学过程中,高一就应瞄准会考,教学应贴近学生实际,以会考大纲为基准,在一开始的程序设计教学中可以适当降低教学重心,做到“低起点,小坡度”,要呵护好学生学习程序设计的积极性,要重视培养学生的好奇心理。同时要善于启发学生去思考问题,要鼓励学生多思考、多发表自己的意见,要充分地与他们交流和沟通,调动他们学习的自觉性和积极性,循序渐进地掌握所学知识,提高分析问题和解决问题的能力。
另外,程序设计教学中要讲的内容多且细,但由于受课时和学生认知水平等限制,不可能也没有必要面面俱到。这几年的教学经验告诉我们,将相关教学内容设计成专题,给学生进行讲座,或者将一些教学内容提炼成问题作为学生的课外思考题等方法往往更能调动学生学习欲望,有利于学生在感兴趣的学习活动中提高自己的程序设计能力,常常会收到一些意想不到的教学效果。
2、在习题设计上“有的放矢”,尽量减少题目的重复性
每一次练习结束后,我们往往抱怨学生完成练习的效率不高,态度不认真、应付了事,不知道有没有想过这其实不能完全怪学生。一方面有些练习反复出现很多次,学生都已经会了,他觉得做这样的题目完全是浪费时间,当然可以不做或者简单地做一下。另外一方面有些练习设计的太难,只有个别学生能完成,这样会打击很多学生做练习的积极性,甚至会十分排斥练习。这些现象的出现,主要得归咎于我们设计的练习不够精,针对性不够,没有做到“有的放矢”。
要想提高练习的有效性,做好练习设计就是重要一环。好的课堂练习可以及时反馈学生知识掌握、技能形成等信息,一节课可安排多次反馈性、针对性练习,一来强化,二来纠错,便于及时调控教学进程。新课结束后可以有巩固性练习、提高性练习或为满足求知欲的思考性练习等。总之,好的课后练习既要满足学生对本节课的基本概念、操作等进一步理解,又能通过练习使他们的程序设计思考能力、程序阅读能力有所提高。
因此,要想有高品质的练习,在设计练习时必须要能够“有的放矢”,有针对性,多从教材内容和学生基础两方面去考虑,准确把握好重难点,要适合学生现有认知水平,重复性的练习要尽量减少。为此设计的练习一定不能只求练习数量和难度,还要顾及到练习的难度和层次,尽量由易到难,由巩固到发展。同时设计的练习既要让学生体验练习带来的成功感,又不至于因练习太容易又重复而失去认真练习的动力。总之,加强“精品”习题,以少胜多,以质为上。在知识和难易程度适宜的基础上设计有一定的坡度、难度、密度的习题,注意加大知识间的跨度,让练习不断成为学生学习程序设计兴趣的发源地。要让学生有一种“做题前,趣已在;做题中,趣更浓;做题后,趣不散”的感觉,笔者认为这样的练习才是有效的。
3、重视“上机”环节,培养学生的应用能力
在信息技术程序设计的教学中,必须要明确一个概念,上机操作实践的作用不是像物理化学进行实验性的验证,而是要让学生针对一些具体的项目进行程序设计,这是一个很好检验学生学习程序设计成效的环节。
在平时的上机实践中,如果要求学生完全照着书本的例子进行上机操作实践验证,学生往往会觉得很无聊、兴趣荡然无存。因此,我们需要对上机环节尝试着做一些改变,一方面,可以精选一些有趣的习题,比如“国王的奖励”、“运动员评分”等实例来学习基本的语法、函数、基本语句。这些初级的程序设计要求学生掌握VB程序设计语言的基本内容。另一方面,也可以通过模拟一些高级程序设计的开发过程,比如设计时钟、mp3播放器等,让学生在真实的编程情景中做自已感兴趣的项目,真正做到学用结合。这些高级项目的功能可简单也可复杂,学生可独立完成也可合作完成。教师在学生上机实践的环节中只是起引导、帮助的作用。这样可以很好地锻炼学生的程序设计能力,培养他们程序设计的素养,提高对已学知识的认识,不断地用所学的知识去逐步完善自己。
参考文献:
1.沙有威 信息技术新课程算法与程序设计模块教材和教学设计分析
2.钟和军 中学信息技术课分层导学模式的构建和实现
3.信息技术教育《算法与程序设计模块教学体系的构建》