高中算法教学方法初探

所属栏目: 信息技术论文 点击次数:
文 章
来源初中
教师网 w ww.9 10w.Ne t

  近两年来,在上海市的高中信息科技课程中出现了算法的教学内容,这也可以说是我市信息科技二期课改中呈现出来的一种新的学科动向。算法作为基础型课程教学内容中第六单元的教学内容,这并不是让学生会编几个程序就好了,而是旨在培养和提高学生的逻辑思维能力,以及用计算机去分析问题,解决问题的能力。美国著名计算机科学家克努特教授提出了“计算机科学就是研究算法的科学”的著名论断,说明了算法在程序设计中地位的重要性,解决任何问题都必须设计算法。然而算法的相关概念比较枯燥,理论过于抽象,对学生的能力要求较高,所以在教学过程中往往难以把握,也不容易引发学生的兴趣。

  爱因斯坦曾经说过“兴趣是最好的老师”.一个人只有对某件事情感兴趣了,才会启动思维,苦思冥想;只有对一个问题感兴趣了,才会主动寻找它的解决办法。兴趣是激发学生学习积极性的动力,兴趣是激发创造力的必要条件。因此,在算法的教学过程中,教师的重要任务之一就是激发学生学习兴趣。

  激发学生对算法的学习兴趣

  教材分析中提出“建议采用教师引导,学生讨论的启发式教学方法,教学中可以从最简单的实际问题出发,激发起学生的兴趣,引导学生针对趣味性问题和生活实际问题进行思考,讨论,探索解决问题的方法和步骤,然后用流程图或程序来描述算法。逐步提高学生逻辑思维能力和解决问题的能力,也能让学生切实理解用计算机解决问题的一般过程。”

  从最简单的实际问题出发

  比如说我在介绍算法的三种基本结构的时候,就从学生的实际学习生活出发,简化问题,激发学生的学习兴趣。我以学生上体育课为例,分别讲述了三种结构,顺序结构和分支结构,同学们都比较容易理解,对于循环结构的设计,着实让我费了一番功夫,首先,我问学生有没有经过长跑测试啊 学生一听,反应就上来了,向我大倒苦水,说长跑有多么辛苦,然后我问他们,在长跑的时候是不是每跑一圈,都会想一下是不是跑到了,离终点还有多远,立刻看到了学生们都在点头,既然这么有共鸣,我马上提出,让同学们尝试把这个过程用流程图的方式,描述出来。

  如下图1示:

  (图1) (图2)

  在画出流程图后,在让一位学生用自己的话来解释这个流程图,这样,从学生的生活实际出发,有助于学生的理解,也没有纯理论那么枯燥,学生比较感兴趣。在学生理解了循环结构的基础上,趁热打铁,提出变量以及赋值语句的概念。在这里假设s为学生跑的路程,400米为一圈,在起跑之前路程s=0,然后在没有跑满10000米的情况下,每跑一圈,路程就增加了400米,即s+400,所以s=s+400,通过这种方式,让学生很容易就理解了,这里s就象一个累加器,在原有流程上修改,如上图2所示。

  这时候学生对循环结构的认识,就进一步深入了,从原来的生活实际,上升到了科学代码。在循环中,另外一个比较重要的概念就是计数器,同样在这个例子中,我进一步提问学生,10000米长跑的话,需要跑几圈 学生的第一个反应就是拿笔算,这里我就给出了适当的指引,引入变量i来记录学生跑得圈数,每跑一圈,就在圈数上加1,也就是在i的值上面加1,形成i=i+1,从而进一步说明计数器的概念,(流程图略)。

  在这个循环结构的讲述过程中,我从学生的学习生活经历中提出问题,激发学生的学习兴趣,从而引入循环结构,然后再引入变量累加,和计数器的概念,从一个生活实际问题,循序渐进,一环扣一环,引出几个知识点。

  (二)让学生自己去发现知识

  如果在算法教学中,将教师事先设计好的算法一味的灌输给学生,那么学生即使在课堂上能够暂时的理解了,但是课后可能会很快忘记。这种教学方法是算法教学过程中的大忌,也是一种失败的教学方法。我们不妨在教学过程中适当设计一些隐秘的“陷阱”,让学生在尝试的过程中发现错误所在,然后自己归纳总结。这样的知识传授方法可能会给学生留下更为深刻的映像。例如在Do-Loop语句时,我举了下面这个例子:

  【举例】阿基米德与国王下棋,国王输了,国王问阿基米德要什么奖赏 阿基米德对国王说:“我只要在棋盘上的第一格放一粒米,第二格放二粒,第三格放四粒,第四格放十六粒…按这个比例放满整个棋盘就行。”如果你是国王你会答应吗

  这个问题提出以后,就引发了学生的强烈兴趣和讨论,我适时的让他们用流程图画出这个算法,并用vb编程实现。

  如下图3示:

  (图3) (图4)

  在学生完成程序设计以后,我又提出:如果我想知道放到哪个格子的时候,有10000粒米,怎么修改流程图

  问题提出以后,学生差不多异口同声的说,要修改一下条件,把条件改成sum<=10000,然后把最后输出改成i,我马上肯定他们的思想,并让他们编程实现。不久,就看到他们发现问题,开始小声讨论,我提问学生用For-Next语句,能不能实现这个流程,存在什么问题 学生回答这里不知道i的终值,不知道具体的循环次数,所以不能用For-Next语句实现。这时我就要求学生参看书本上的Do-Loop语句,来实现这个流程。学生通过上机实践,对该语句有了一定的了解,最后我对该语句做了一次详尽的讲解,使学生对该语句有了更进一步的认识。

  通过这样的一个“陷阱”设计,让学生自己去发现问题,从而深刻的认识到For-Next语句的局限性,从而又学习了Do-Loop语句。让学生在发现问题提出问题解决问题的过程中去学习,他们学到的不仅仅是新知识,还学到了什么地方,什么时候去应用所学到的知识,更重要的是他们从中学到了处理问题的方法。用现有知识不能解决的情况下,才提出解决问题的新方法,让学生亲自去体验这种发现问题解决问题的过程,让他们在这一过程中学会独立思考,善于独立思考。

  (三)以“任务”为驱动,给予学生及时反馈

  “任务驱动”是指教学全过程中,以若干个具体任务为中心,通过完成任务的过程,介绍和学习基本知识和技能,让学生在完成具体任务的过程中,逐步接受新知识,新技术。

  在算法的教学过程中,把教学内容巧妙地隐含在每一个任务中,同时以Visual Basic应用软件为载体,让学生能够动手实践自己地算法,在各个任务之间,设计地时候注意一定地循序渐进梯度,也要考虑到学生的个体差异性。对于学生的不同层次,给他们布置的任务也有所不同,将若干个有层次之分的任务布置,让学生根据自己的能力去选择。学生在解决问题的过程中发现新的问题,通过完成一个个任务来提高自己的能力。对于较难的任务,学生可以通过互相合作交流的方式,一起去解决问题,当学生通过学习活动,在不断的获得新知识的过程中,能够不断的看到自己的成果时,就会爆发出强烈继续学习的愿望。

  教师在这过程中,不仅仅是任务的设计者,同时也是引导者和参与者,在学生完成任务的过程中,注意引导学生进行思考,主动的去探索。

  对于学生完成任务的结果予以及时反馈,学生在了解了学习结果后,可以看到自己的进步,提高学习热情,增加努力程度,同时又能看到自己的不足,激起上进心,争取更好的成绩,我在算法教学过程中,要求每一位学生在完成任务后,把自己的程序,上传给我,在我的教师机上,每一位学生都有一个自己的文件夹,通过这种方式,我能够及时了解每一位学生的学习情况,并及时反馈,根据学生的需要,给出相应的指导。

  抓住学生的学习热情,培养他们的创造性思维能力

  二十一世纪需要的是有创新意识,具有创新精神和创新能力的人才。这就要求我们老师,在教学过程中,注重开发学生的创造潜力。鼓励启发学生主动思考,善于思考,学会独立思考。突出创新意识的培养,强调创新能力的提高。算法设计,具有极强的逻辑性,能够培养学生严密的逻辑思维能力和分析问题,解决问题能力。利用算法实现方式的不确定性,可以培养学生的探索精神和创新能力。在算法设计的课堂教学中,教师可以精心地设计教学,以学生为本,有针对性地锻炼学生思维,挖掘学生创造力。

  培养学生的创新意识和创新能力,首先要为学生创造尽可能多的环境和机会,只有在自主学习的环境里,学生才有可能发挥创造,只有给学生一些具体的实际任务让学生亲手动手去实践,他们才有机会去发挥创造,才能去独立思考,才会有所创新。在课堂上,我经常为学生布置任务,让他们去动手实践。比如,我在讲完循环结构以后,给学生布置了一个任务,让他们编程实现“输出100以内所有能被3整除的数”,我在这个任务设计的时候,是想让学生实现循环结构与分支结构的嵌套,即循环判断100里面的每一个数是不是能被3整除(如下图5示)。但是任务布置下去不久,就有一个学生举手说完成了,我走过去一看,发现他采用了逆向思维的方式,他的算法不是输出100以内所有能被3整除的数,而是输出100以内所有3的倍数,这样子,用循环结构就能解决问题(如图下6示)。

  (图5) (图6)

  这个学生是一个外地学生,平时不怎么发言,可以说他对计算机的认识比较少,信息科技的知识基础也是别的同学差,所以我很惊讶于他的算法设计,当下给予肯定和表扬。由于别的同学还没有完成任务,我就让他想想还有没有其它的实现方式。我发现经过我的肯定赞同之后,他的积极性马上就提高了,在以后的上课过程当中,发言率也高了。“兴趣是最好的老师”,这个学生发现信息科技并不是那么难以理解,产生了学习兴趣,自己去发现问题,解决问题,是信息科技知识都到了进一步的提高和拓展。

  在引导学生完成任务的过程中,教师要善于发现学生思维的闪光点,并及时给予鼓励,激发学生的创新意识,针对学生提出的不同方法,要及时引导学生共同分析每一种方法的可行性。

  培养学生的创新意识和创新能力,还应该在课堂上形成同学之间相互学习和交流的氛围,交流不仅可以提高学生的学习兴趣,更主要的是可以拓宽思路,激发灵感,促进创新。高中生的陈述性知识积累到了一定程度,程序性知识也有不少,并且逐渐获得了策略性知识,其思维不仅具有独特性,其创造性也日益显露,学生在解题时,不仅可以抛掉“老师给的拐杖”,甚至可以独辟蹊径。学生的解题思路可能是教师想不到的,通过交流学习,不仅大大激发了学生的学习兴趣,同时也让学生的知识得到了进一步的拓展。所以,在教学过程中,可以采用小组合作交流的方式,将学生按照思考能力,表达能力,计算能力,操作能力等差异进行交错搭配,使得每个小组都有不同的人才,这样,学生在对问题的研究和实践过程中,几乎人人都有表现的机会,虽然不是每个学生都是全面和最优秀的,但是合作小组表现的结果却是最优秀的,这样,不但化解了教师对每个学生进行个别辅导的难度,还提高了解决问题的效益。

  以上是我在教学过程中尝试着使用的一些教学方法,手段和经验,有些地方可能存在着不足,希望能够得到更多同行的宝贵意见。

文 章
来源初中
教师网 w ww.9 10w.Ne t
初中教师网 ,专业的人教版初中教学资源网!
喜 ()or分享