《算法与程序设计》典型算法的教学模式初探

来源 :信息教研周刊 | 被引量 : 0次 | 上传用户:y412327391
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一、教学中出现的问题
  新学期开始,同学们对《算法与程序设计》模块充满好奇,有同学扬言:我要设计个小游戏!当课程的慢慢深入,发现部分学生对于学习VB出现了乏味现象,甚至倍感痛苦。
  “老师,这和数学一样啊。”
  “老师,我英语很差,程序里又都是英语单词,太难了。”
  这是在后面的教学过程中经常出现的情景。对于学生来说,程序设计的思维逻辑思维方式和概念都是全新的,还要学习语法、语义、程序及其他一些规定,特别是教材的第二、五章的内容,学生接受起来比较困难。如何找到一个比较有效的教学模式,使学生通过学习既掌握高级编程语言的知识、又能灵活运用高级语言进行程序设计,提高分析问题、解决问题能力和创新能力。根据本人教学经验,总结出了以算法分析、界面设计、代码讲解、功能变化4个方面组成的典型算法的教学模式。
  二、教学模式初探
  以“解析算法及其程序实现”为例进行说明。
  1.算法分析
  程序设计的关键在于找到解决问题的方法,即算法。本课程第二章 “算法实例”,内容包括:枚举算法、解析算法、排序、查找等四个算法思想,是整个课程的难点和重点。有一句话说得好“思想才是最重要的”。我们有些教师在教学过程中只注重对语句、语法的教学,并不注重算法教学,其实我们应该将两者有机结合起来。对部分学生来说,编写程序很枯燥。单纯的程序编写的确有些枯燥,特别是编那些纯数学的循环、排序,非常枯燥。但如果让枯燥的程序算法转变为贴近生活、有趣味性的实际中来则效果就大不一样。因为鲜明的问题情境有利于唤起学生已有的知识经验,激发学生寻求多样化的解题方法。
  在上“解析算法”这课时,本人运用了一个相对简单又贴近生活的例子:“出租车计价器”。首先给出问题:今天早上老师从家里到某地,如果自己开车,已知老师的汽车油耗是v元/公里,总的路程大致有s公里,请问老师的车子开单趟的费用f是多少?
  当我们拿到一个任务时,首先应将这个问题自顶而下逐步细化,逐层向下分解,直到满足每一个要求。由于初涉问题相对简单,学生很容易从我们通常解题的步骤来分析,得到问题的前提条件v、s与所求结果f关系的数学表达式:f = v * s。
  该算法分析如下:在text1和text2中分别输入v,s的值,通过表达式计算,在text3中输出f的值。让学生用流程图描述该算法如下:
   图1
  随即引出新问题:老师的车子出了故障,所以早上老师坐出租车,现在请同学们制作一个计价器来帮助老师算一下出租车的资费。(请参照出租车资费细则:出租车的起步价为5元,起步里程为2公里,超过起步里程后至8公里内,每公里运价为2元,8公里以上加收40%的回空补贴费,即每公里2.80元。)
  “出租车计价器”的算法明显和第一个算法是不一样的,需要根据S的值进行分段计算。引导学生得出流程图如下:
   图2
  流程图是连接抽象算法和具体实现的桥梁,对于各种算法的流程图教师要进行详尽的讲解,使学生真正了解程序的算法,这对接下来书写程序代码是非常重要的。
  2.界面设计
  对于VB程序界面的设计应采用先易后难、循环渐进的方法,由于未涉及程序代码的编写,学生容易入门,不会感到有非常大的困难,容易产生满足感、成就感,以此激发学生进一步学习的热情。
  对于界面的描述,本人采用给出界面图和相关属性列表来帮助学生完成界面的方法。尽管界面图提供了很多界面信息,但每个对象的一些具体属性,不能完全体现。“属性列表”可以简洁地表示每个对象的具体属性,帮助学生区别每个属性,两者相配合就比较全面的描述了整个界面。
   图3
  当然,这是在初次接触VB程序设计的情况下,教师可以给出相应的界面模板供参考,防止学生一开始就在界面设计上无从下手,影响后面的程序设计;根据学生不同的程度,也可以鼓励学生自己设计界面,放手让学生做,通过自己的摸索,可以对VB各控件及相关属性更了解。
  3.代码讲解
  根据前面的算法分析,我们可以开始程序代码的讲解。在这里本人觉得通过多媒体课件演示将流程图和代码一一对应展示的方法比较不错,这样可以帮助学生看懂流程图,也可以帮助学生提高代码书写能力,使学生在写代码的时候有依据。“出租车计价器”代码如下:
   图4
  在讲授程序代码编写时,一定先要根据功能的要求,给出每部分的大体框架,然后再细化讲解相对应的程序代码。
  根据新课标要求,高中信息技术重点要求掌握四种算法:即枚举算法、解析算法、排序算法和查找算法。针对不同的算法,在实际教学过程中我们还可以运用“半成品加工”策略,即提供一个相对完整的程序,只是对教学的内容这部分“留白”。由于学生刚接触算法与程序设计,他们还没有完全掌握程序的语句和语法,编写程序能力有限,同时,学生的打字错误会影响程序的运行。在教学中提供半成品程序给学生,学生经过修改、补充快速地调试出一个完整的程序。这样可以排除上述因素的影响,降低学生学习程序设计的门槛。
  根据以往的教学经验和通过与学生的交流,得知部分学生上课时都能听懂讲解,可在涉及到具体的编程及上机操作时,往往会出现没有思路、无从下手、或错误百出,不会调试程序等各种情况,学生的编程往往只停留在依教师的例题“画瓢”的水平,一旦稍有改变,便出现举步维艰的困惑。因此,对于初学者来说,我们教学的关键任务就是如何提高学生的程序阅读能力和代码书写能力,如何明确解决问题的思路和方法、编程思想。
  4.功能变化
   苏霍姆林斯基说过:“使你的学生看出和感到有不理解的东西,使他们直接面临着问题。如果你能够做到这一点,你就成功了一半。”因此,教师应在营造学生置疑的氛围上多下功夫,正确地运用问题材料,以利于学生思维活动的积极开展,最大限度的拓展学生潜能。通过问题来学习,把问题看成是学习的动力把学习过程看成是发现问题、提出问题、分析问题和解决问题的过程。
   例如在上述代码完成后,我又抛出一个新问题:按规定,余杭出租车营运中因路阻或因乘客要求临时停车,每5分钟按1公里计收。若老师的车程是16公里,在途中停留了6分钟,应付金额是多少?请在原程序的基础上做修改,实现该功能。以下是针对该环节的师生交流:
   教师:那么要实现这个功能首先要做何修改?
   学生:添加一个变量t?
   教师:很好,那么要怎么处理这个t呢?
   思考……
   学生:读取时间t
   学生:把时间t计入里程s
   教师:非常好,把你们刚才的分析写入程序吧!
   在代码编写的过程中又遇到这样一个问题:把时间t计入里程s,是“s = s + t \5”还是“s = s + t /5”?根据实际情况,应该选择整除符号“\”,在这个过程中又加深了对实数除法和整数除法区别的理解,学生能提出这个质疑也是非常不错的。
   经修改后,程序界面和代码如下:
   图5
  大家都知道实际生活中出租车费用都是精确到元的,我随即抛出第二个问题:出租车司机不可能准备大量的角和分来找零,所以计费一般按照四舍五入保留到元。请各位同学思考怎样实现?一个新的问题马上使课堂再次沸腾,学生纷纷跃跃欲试,顺利地进入分析环节,得到了立竿见影的效果。可见,良好的问题情境在激发学生思考,引起认知需要,促进思维发展方面有着十分重要的作用。同学们很快想到了fix和int函数,但是表达式该怎么写呢?学生给出了不同的答案,我没有直接评判对或错,而是让学生自己动手上机操作,看是否能实现。
  在程序功能完善的过程中学生对程序有进一步的感性认识。在日常教学过程中,教师还要注意鼓励学生大胆探索新,对在已学的界面、程序段上进行修改从而解决相似的问题。
  三、结束语
  在《算法与程序设计》模块教学过程中,教师首先要创设有效的教学情景,激发学生的学习兴趣,让学生在每一个环节中都有收获的喜悦感,能真实地体会到“我也能设计小程序” 的成功感。以算法分析、界面设计、代码讲解、功能变化4个方面组成的教学模式一直应用于本人在第二章和第五章的教学中,取得了良好的教学效果。根据教学内容不同,还可以做些改进,比如在算法分析前可先展示预先做好的程序,让学生根据程序功能自己分析算法,然后再进入下面的环节。总之,在教学过程中必然会存在许多问题,需要我们不断的改革、创新,总结,来提高程序设计课程的教学质量。
其他文献
我校高效课堂改革实践与探索历经一年,时间虽短,但已使课堂教学面貌发生了可喜的变化,初尝了这一改革带来的喜悦,同时也遇到了一些困惑,引起了我们的思索。下面结合我们理化生教研组活动中各位教师的实践与思考,探讨一下理化生课堂改革中教学模式问题。  高效课堂,我们认为就是在课堂中追求高的效率,即就是在一节课的时间内获取最大教学效益的课堂。教师要充分调动学生的积极性,使得学生每一时都有所思考,有所作为。所以
期刊
21世纪是一个知识经济时代,这一时代呼唤具有创新精神和创新能力的人才,所以当代的中国教育界,最时髦的词语,当推“创新教育”。  作为一种教育理论,创新教育必须与各门各类学科的教学实践相结合才具有生命力,才能切实地起到培养创新人才的作用。下面,谈谈在语文科的阅读教学中如何对学生进行创新精神与创新能力的培养的一点思考与方法。  一、语文阅读教学的地位与现状  语文学习的重要目的,是使学生学会使用和阅读
期刊
进入21世纪以来,高中生物课程改革发展迅速,但是生物课改的推进离不开教学的主渠道——课堂。怎样提高生物课堂教学的有效性?这是一个摆在每一位生物教师面前的十分实际的问题。在几年的教学实践中,笔者发现高中生物必修1、2、3(人教版)中有许多内容与其他学科之间存在着紧密的联系。教师挖掘并利用好这些内容,可以开拓学生的视野,激发学生学习生物的乐趣,学会相应的方法,使他们牢固掌握相关的知识内容,从而真正提高
期刊
现行思想品德教材的突出特点是教育性和实践性,它要求通过课程的学习使学生不仅懂得社会主义道德规范、法律规范的一般常识,更重要的是自觉地按照上述规范来实施自己的行为。这要求教师不仅要传授一些理论知识,更重要的是帮助学生确立正确的政治方向,形成良好的思想品德。那么如何实现这一目标呢?在多年的教学实践中我深刻体会到,要较好地完成这一教学任务,就要把思想教育放在首位,做到思想性、知识性、趣味性、实践性相统一
期刊
曹洪彪老师开创的新新概念快速作文是以人的精神熏陶、思维培育和技能培养为一体,创设一系列情境,促进学生全面发展,并充分发展学生的个性。思维培育对学生写作的重要作用毋庸置疑,教师如果能够利用科学的方法创设良好的写作情境,积极的去培育学生的思维,就能激活学生沉睡的大脑,激发写作的灵感,进而开启学生的写作思路,因而它是新概念快速作文体系的重要部分,也成为新概念快速作文双课时八环节教学的第一个环节,可是日常
期刊
历史比较法是从历史联系中考察历史现象的一种最好的方法。在历史学习中善用比较法,通过对不同时间、空间条件下的历史事件、现象及人物进行比较,找出异同,发现本质,探寻历史发展的共同规律和特殊规律,拓宽学生思维,让学生从多个角度去看问题,提高学生综合分析问题、解决问题的能力,养成独立思考的习惯,从而提高学生学习历史的兴趣,达到提高学生历史成绩的目的。  一、 教会学生在预习过程中善用比较法  课前预习是培
期刊
刚入学的儿童在进校前,已经对数字有了懵懂的认识,但他们对数的实际含义、数在自然数中的数序以及数的组成等,并不能真正理解,因此在一年级的认数教学中我们仍有必要帮助他们建立起数的概念。那么如何帮助孩子们建立起对数的认识呢?我认为重点应从以下几方面进行训练。   一、抓住本质,初步形成数的概念  小学生理解和掌握概念的特点之一往往是:对某一概念的内涵不很清楚,也不全面,把非本质的特征作为本质的特征。而概
期刊
一、广读  语文教学中要努力培养学生的广泛阅读的兴趣,努力扩大学生的阅读面,提倡像吃五谷杂粮式的“杂读”。例如,读文学作品,能丰富学生的情感和想象;读科技类作品,可使学生的思维严谨,激发学生的探索发现的热情;读历史读物,可以使学生掌握历史发展的规律,以古鉴今……通过大量阅读,优秀作品耳濡目染、潜移默化地在学生精神领域产生影响。只要在教学中善于把握时机,恰当引导,坚持不懈地鼓励学生像蜜蜂采蜜一样多读
期刊
语文素养是一个人素质高低的重要表现,而阅读能力关系着一个人是否能学会终身学习。苏联著名教育家苏霍姆林斯基也指出,学生智力发展取决于良好的阅读能力,教师要注重发展学生的阅读能力,使他们养成良好的读书习惯。  一、教给学生阅读方法。  我是小学语文教师,我利用语文课和阅读课这两个阵地教给学生读书的方法。主要有“精读、略读、浏览”三类阅读方法。阅读一篇文章遵循“浏览——略读——精读”的次序,先用浏览法,
期刊
语文教学的素质教育就是听、说、读、写 的训练 , 可以说,写作在语文教学中既是重点又是难点,是语文的半壁江山。长期以来,很多学生都怕写作文,一听到写作文就头疼。有的说没东西可写,有的说不知道写什么,勉强拿起笔来也是搜肠刮肚,东拼西凑。最后成文也多半是空话、套话,不但别人读了索然无味,就连自己读起来也觉得意兴全无。究其原因,主要是平常积累素材少,作文方法没掌握好,训练不得法,学生提不起写作的兴趣。兴
期刊