算法与程序设计教学工作总结(精选3篇)_教师教学培训工作总结
算法与程序设计教学工作总结(精选3篇)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“教师教学培训工作总结”。
第1篇:算法与程序设计教学反思
1.1计算机解决问题的过程 课堂教学反思
2011年01月07日 10:58:52 来源:隆德县第二中学【字体:大 中 小】 “1.1计算机解决问题的过程”课堂教学反思
本节是对用计算机程序解决问题的基本过程的入门介绍,是体验计算机程序,体验并理解用计算机程序解决问题的基本过程。这个过程包含以下环节:分析问题,设计算法,编写程序,调试运行,检测结果。
学情分析:
1、高中学生已具备了较丰富的计算机使用经验,但接触的多是文字处理、媒体表达等常用工具软件及网络应用等,对于计算机程序只有极少的学生接触过,许多学生只是听说,对于计算机程序的工作过程、设计过程知之甚少。
2、高中学生具有很强的逻辑思维能力,也掌握了较高的数学知识水平,对于初步了解计算机程序困难不很大。
我设计了这样一个问题“农夫带着狼、羊、白菜从河的左岸到河的右岸,农夫每次只能带一样东西多河,而且,没有农夫看管,狼会吃羊,羊会吃白菜。”让同学们设计一解决这个问题的方案,大家立刻讨论起来,不一会儿提出了两种不同的方案,问题解决了,通过这个问题的引入,调动了学生的积极性很自然的引入这节课的内容,起到了比较好的作用。紧接着“韩信点兵问题的设计”学生很自然的想到应用计算机解决,成功地引领学生走进了程序设计的殿堂,让他们有兴趣、有意识地进行更多的实践与探索。这种引导,正是本课的重点,也是本课最成功之处。
本节课的目的是通过激发学生的兴趣,吸引学生自主地体验程序,感受程序解决问题的过程,理解程序的概念,从教学效果来看,学生从一开始就被深深吸引,很主动地投入到教学活动过程中探究体验程序的运行过程。
本节课比较困难的是如何向没有任何程序概念、从未接触过程序语句的学生讲述程序及其作用,如何突破这个难点是本节课的关键。为此设计了先让学生体验“100!”的程序,学生体验到计算机的计算能力和运算速度,并且懂得了程序是由一系列语句组成,运行程序计算机会自动按语句执行。
巧妙设计教学任务,采用任务驱动式的教学过程,学生能够体验到应用计算机解决问题的过程,实现本节课的教学目标。
2008年2月20日上午第4节在高一(4)班上了第一节课《1.1 计算机解决问题的过程》。本节主要结合教材上的“华南太阳能设备厂生产方案选择”的实例讲解和体验计算机解决问题的过程。师姐前去听了课。总体来讲效果不是很好。最大的问题在于没有调动学生的学习积极性。从而导致学生没有跟着我一起思考问题,没有理解透彻例题。练习时虽然布置的任务很简单但做出的人不多。课后师姐对本节课进行了点评。现将得到的启示列举如下:
启示一:要重视学生的课堂反应。关注教学中的学生这个要素。教学最终是为了让学生学到知识,提高能力,而不是为了完成教学进度和任务。当学生对提问反应不热烈,只有个别学生回答时,要考虑放慢节奏,让学生把一个环节搞清楚再进入下一个环节。否则也影响学生的学习积极性。
启示二:批评学生要讲究技巧。本节课学生的纪律没有前几个班好,于是我直接作对比说道:我们四班的纪律没有另外几个班好,这样非常容易引起学生反感,既容易对学生的学习积极性产生消极影响又可能影响课堂满意率。所以尽量不要作班之间的对比批评。对比表扬学生倒是很受用。本节课的批评可以改为这样说:“我们班在新的学期表现出了较好的风貌,没有同学迟到,在课堂上玩其他的也没有,这很好。如果在课堂纪律上再加强一点老师就满意了。这一点以后一定要注意。”这样先褒奖再提要求,同时措辞比较委婉可能学生更容易接受。
启示三:提高学生学习积极性的一点。设置简单的、能出成果的课堂练习。让学生觉得学有所得,这样积极性才能提高,才不会厌学。
程序模块的教学很有难度,要认真备好课,想办法激发学生的学习兴趣,让课堂活跃化。才能获得较好的教学效果及课堂满意率。
2008年2月22日在高一(2)班上了本学期第二节课《1.2 算法和算法的描述》。本节课主要讲授算法的概念、三种描述算法的方法、算法的特征,后面要求学生通过猴子吃桃的课后练习巩固流程图描述算法的方法。总体感觉比较好。学生能跟着一起思考问题,同时保持了较好的课堂纪律。王国汉老师前去听了课,并给予了较高评价。以下是评价要点:
本堂课的优点:多次运用对比,联系前后的知识点及例子,瞻前顾后,显得课堂紧促条理;分总结合,注意对所讲知识点进行小结,再进行下面的环节,可以帮助学生梳理知识点;善于运用课堂激励,不断夸奖和鼓励学生,激起他们的学习动力。
缺点:练习题难度较大,具体问题的算法层面没有讲清楚,部分学生不理解解题步骤,自然无法顺利画出流程图。导致这样的原因是部分学生(优生)讲出了解题思路,于是作为教师我没有细致分析解题思路,学生在这里花费了过多时间。
启示如下:其一,教学要面向绝大多数学生,有时甚至是全体学生,不能被部分优生左右了教学进度。要兼顾大家,考虑大多数学生的情况。其二,继续发扬“捧”、“扬”、“夸”的课堂激励机制,学生在轻松夸奖的气氛下思维会更活跃,同时积极性更高,更愿意配合教学。
要“捧”出好的教学效果,“捧”出高课堂满意率。
保持好的心情去上课。记得——微笑。
2008年2月25日在高一(3)班上了本学期第三节课《1.3程序与程序设计》。本节课主要讲授程序的概念及特征、程序的三种基本结构、程序设计语言的发展及高级语言的分类。彭敏老师前去听了课。本节课讲的比较一般,其中课堂练习的设置也不合理:完成课后的第一章扼要回顾及一道已知三角形三边求其面积的题目。
本节内容以理论为主,基本没有涉及实际操作。学生听课兴趣不大。彭敏的意思是略过不讲,因为学生一节课下来学不到东西,文绉绉的理论学生不可能去记,三种基本结构这个本节课的重点内容在教材后面的章节还要继续学习。有一定的道理。后面上课的班级课堂练习只布置了已知三角形三边求其面积,画算法流程图这样一道题目,且略去了对能否构成三角形的判断,大多数学生能够当堂完成。
启示:要合理安排教学内容,不能按教材按部就班;要分析学情,力争让他们每节课都有长进,从他们的角度分析课堂的价值。
后上课的班级,要在前面上过的基础上反思,以改进。
第三节 程序和程序设计语言
教学过程:通过浏览“求三角形面积”源文件,认识程序并理解算法和程序之间的对应关系。通过单步运行“点到直线的距离”、“求绝对值问题”、“0到20之间奇数之和”三个程序,理解程序的三种基本结构。
教学反思:本节课在备课时,基本上是按照教材上的活动顺序来设计导学案,只是把活动一中的“个人理财”程序改为水平考试题“求三角形面积”,和活动二中的程序改为“0到20之间奇数之和”。我觉得这此课设计思路较好,通过引导学生分析程序和单步运行程序,并完成导学案上相应的任务,通过将笔记本电脑连到班通上讲课,使学生比较直观的理解了顺序结构、选择结构和循环结构程序,为以后学习程序设计打下了很好的基础,避免了在机房上课学生思想不集中,用班班通操作VB不方便,直接讲课又不直观的缺点。从已经上过的两个来看效果比较好。
这一节上下来,最大的感触就是对讲课的重点突出有了更深的理解。本节内容很多,涉及VB语言的特点、程序的基本构成、数据类型、常量变量、运算符函数表达式及可视化编程环境。什么是重点?数据类型中的整型和单精度实数以及可视化编程环境。其他的都只能是附带讲一下。因为你想,如果你是学生,一节课下来你能学到多少,全部都细讲等于什么都没讲,学生无法接收消化。后面的练习也要围绕重点,求实用。
有时候上课,换位思考学生的感受,很重要。
2008年3月3日在高一(1)班上了本学期第五节课《2.2程序的顺序结构》。本节课主要讲授顺序结构的执行方式、赋值语句、输入数据的函数InputBox、输出Print和msgbox。讲到赋值,同学们觉得难以理解,特别是实现两个变量值的交换。我灵机一动借助讲台上三个喝水的瓶子,说明了交换过程的三个步骤的含义,学生就理解了。
讲到输入时文本框内的默认值,还渗透语文,讲了“默认”和“缺省”两个词的含义。
后来为了为循环结构埋伏笔,还讲了以“s=s+p,p=p*2”为循环体的循环语句执行方式和结果(s=s+p+ 2p+4p+„)。这两个小环节都没有体现在事先的教学设计中。
启示:
1、讲的东西一定要保证绝大部分学生完全理解,不理解就要反复讲。不关注效果的讲课是失败的。
2、要善于运用其他的教学媒体和教学方式,换思维方式讲解。
3、课堂是活的,要把握好,同时根据需要生成一些事先没有准备的环节或其他东西,有时能起到好的效果。
2008年3月7日在高一(1)班、高一(2)班上了本学期第六节课《2.3程序的选择结构——条件格式》。本节由标准体型的判断引入,内容比较多,涉及条件格式的单行完整模式、单行省略模式、多行模式、关系运算和逻辑运算及其运算顺序等。使用了彭老师的课件。该课件制作精美,原课件流程环节较多,自制资源丰富,是他参加青年教师教学基本功大赛的课件。两个班的课堂都比较沉闷。2班怎么都没办法调动起来,1班稍好一点。连一班都这样让我觉得很不正常。深究其原因,竟然是天气使人困乏,同时适逢三八降至,下午第八节学校组织女儿节活动,大家有一部分心思早跑了。
课堂沉闷,没办法我想尽办法调节。说到标准体型不忘一顿自夸“像我这样就是很标准的啦”,部分学生不认真听讲我说道“有些同学的课堂行为很不利于师生关系和谐”,逻辑运算我还说到了与或非跟数学的交集并集、乘和加,物理中的并联与串联电路的相似之处,可谓旁征博引。但都效果一般。学生有的直接说没有学习的动力。怎么办?程序设计的确是不容易让学生产生学习动力的一个模块。
从一下几个方面努力吧,我想:
1、激励。让学生做出东西。多练。增加成就感。
2、调节。一定要想办法调节到满意的课堂气氛再讲,学生精神好了讲一遍比精神不好讲多少遍都管用。所谓磨刀不误砍柴功,刀磨利了再砍不迟。
3、鼓励班干部做好表率。
路漫漫其修远兮,我将上下而求索。
2008年3月12日下午第八节在高一(1)班上了本学期第八节课《2.4程序的循环结构——FOR循环语句》。本节课是我为参加学校青年教师教学基本功大赛上课比赛精心准备的一堂课。从“国际象棋棋盘上的麦粒”案例引入教学,让学生分析实际问题,经历补充程序、程序挑错、阅读程序最终做到独立编写For语句循环结构的程序。环节设计循序渐进,环环相扣。吴和发副校长(历史)、卢昭琼老师(历史科长)、谢黎川老师(语文科长)、明长杰老师(历史)、杨玉蓉老师(综合科长)、欧阳少英老师(物理科长、特级)、王国汉老师(以上为评委)、赵旭华老师、师姐等参加听课。教学效果:吴校长课后对我笑着说了句“可以”,珊姐评价较好,课堂上的编程练习第一题大部分学生编出来了,第二题也有部分学生编出来。学生在课后围上来说听懂了,“上得这么好”。而且还有学生围上来问没弄明白的地方,这在以前没有发生过,好几个男生还不愿意离开电脑室,不过这次的原因可不是想上网玩,而是继续调试VB程序,令我很开心。
成功的总结:
一、多问,这堂课上课前我问了老爸,一位有近三十年教龄的中学教师,问了师姐,他们都对课的设计及实施提出了很多好的建议,也鼓励我放开讲,要相信自己,极大地鼓舞了我的自信心。妹妹(慧)也电话鼓励我放开讲就好。这样我上课时不再紧张,发挥比较正常。
二、学生比较配合,前面的课中渗透了一些本节课的思想和方法,学生聪明,接受这一部分知识较快,学习效果较好。
三、过程经过了精心设计,课前的一天脑子里冒出几个好的与教学相关的幽默素材,用上效果较好。怎么讲也在其他班试过多次,虽然过程和教学方法不尽相同。
四、本身教学具备一定的经验,课堂调控还行。
启示:
1、要充分自信。要充分相信我的学生,好学生。
2、增加一些幽默素材调节气氛。
3、要完全放开。轻松上阵。不背包袱,不要有负担。
4、有激情点。掌控好时间。
不足:
1、有学生课堂嚼口香糖。要注意并加强课堂管理。
2、课堂纪律感觉没有上学期的公开课好。
3、备课还没有充分备学生。教学设计还有可改进的地方。
记住:自信。我很棒!
微笑。用微笑征服世界。
幽默。大家都笑了。
激情。年轻人的本色。
2008年3月21日下午第6节在高一(2)班上了本学期第九节课《2.4程序的循环结构——DO循环语句》。本节课设计为先复习FOR语句,进行一个程序填空的练习:编程求1000以内的正奇数和。然后结合教材“种树”的案例,分析DO循环的特点及语句格式。最后进行练习巩固,完成教材上的实践1:求使累加和S小于30000的最大正整数N。内容少且相对简单,教学效果却并不是很好。
这里要总结的并不是教学设计和实施方面。我发现我在教师素质上还有待进一步提高,我做不到诲人不倦。讲了多次的“循环终止条件要从两个方面分析,一是不能一开始就满足了,如果一开始就满足那么将不进行任何一次循环,二是要在循环体内让循环终止条件逐渐趋向于满足,否则可能一直循环造成死循环。直到后来,我明确提出循环终止条件不是S
突然想起一句话:没有学不会,只有教不会。没有学不好,只有教不好。反思一下,我还是做得不够。信息技术作为一个不参加高考的科目,学生不可能像语文数学一样去学。这是客观事实。那么我要做的应该是想方设法调动他们的学习积极性,吸引他们参与到教学活动中来。而不是严要求,看到与预期差距大的结果就心里不舒服。
作为信息技术教师,大家都一样。心要宽。要提高素质,提高修养,练好脾气。这样才能做一个合格的教师。
第7节课在高一(1)又不一样了,只要题目给出来,何浩彬就立马能给出答案。甚至比我还快。重点班的学生思维还是活一点。我想另一方面也得益于师生关系的和谐。
最后说一说具体教学内容的两点注意:一是教材上关于种树的累加和分析Tree=Tree+Tree+1这个是有问题的。这样事实上曲解题意为每一年种的树都比前面种的所有树数目多一。程序中Tree=Tree+Age-14则是正确的。二,本节课的练习,教材P54实践1求使累加和S小于30000的最大正整数N,直接将循环终止条件写为S>=30000是不符合题目要求的,此处本来就将N多算了一,如果循环体中N=N+1再放在S=S+N的下面,最后输出应该写为print n-2。程序为:
Private Sub Command1_Click()s = 0 n = 1 Do s = s + n n = n + 1 Loop Until s >= 30000 Print n1 End Sub
《算法与程序设计》的教学反思 标签: 楼梯 案例 算法 结构 教材 分类: 教育随笔 2010-11-05 10:44
在新课程实施过程中,教学反思被视为促进教师专业发展和自我成长的核心要素,学校也倡导教师写教学反思。本人就本学期的教学实践过程中的一些反思小结如下。
1、关于教材
个人认为,新课程标准是进行教学设计的出发点,而教材是进行教学设计的主要依据,也是学生课堂学习的主要依据。本学期信息技术的选修模块我们学校选择的是教育科学出版社的《算法与程序设计》,当时选择这个模块是考虑到算法与程序设计和老教材衔接的比较紧,一是教师容易上手,二是学校无须添加其它机房设备,第三是为了学生的可持续发展,为今后大学的计算机学习打下基础,为通过计算机二级考试而打下铺垫。
从整体章节结构上来看,本套教材还是符合新课程标准的,但是教材上有一些案例和教材的知识结构在课堂教学活动中还是存在一些问题。
(1)难度大
例如第一堂课讲解的有关“韩信点兵”的案例。按理,这个案例可以极大的调动学生的求知欲,是一个好的例题,但是证明这个定理的难度太大了。尽管在集体备课时大家充分讨论了这个问题的证明方法,甚至还请教了数学教师,但是在课堂教学中还是被学生发现了定理证明过程中的一个漏洞。
漏洞如下:被5、7整除,而被3除余1的最小整数是70,由此推导出被5、7整除,而被3除余2的最小整数是70×2;事实上被5、7整除,而被3除余2的最小整数应该是35。所以需要将前提中的“最小”去掉,变为被5、7整除,而被3除余1的整数是70。但是前提改了之后定理的证明就不是那么严谨了。
再回过头来看这个案例在课堂中所起的作用,其实是为了说明人脑解决问题的过程,因此个人认为这个案例完全可以不讲,让学生上网去查找有关证明的资料。课堂上讲解一个学生同样感兴趣,也同样能够说明问题的案例,比如说“韩信分油”的问题。
(2)跨度大
例如第二章一开始就要求学生上机编写一个打字测试程序。在此之前,学生仅仅了解了VB的设计界面,刚刚完成了一个简单程序的编写。而打字测试程序中所涉及到的窗体、控件以及对象的属性、方法、事件,包括VB的事件驱动原理,学生在头脑里是空白的。再加上那么多的程序代码,教师看了也会头疼的。学生一下子要感受这么多的新鲜事物,似乎步子太快了,不符合知识迁移的客观规律。
继续回过头来看这个案例在课堂教学中所起的作用,其实是为了让学生初步了解VB程序建立与运行的一般步骤。老教材在说明这个问题的时候就比较容易让学生上手。案例可以改成学生所熟悉的“求圆的周长和面积”或者是“求物体的位移”,明确给出程序建立与运行的五个步骤,一步一步让学生实践、探索,从而完成这方面的知识建构。
(3)知识结构有不合理的地方
最明显的就是教材第三章和第四章的顺序问题。第三章介绍具体的算法,这是教材的重点,包括五种常用算法,解决了“怎么样”的问题。第四章讲程序设计的思想,介绍VB面向对象的程序设计思想,主要是让学生掌握对象的三要素以及VB的事件驱动原理,解决了“为什么”的问题。知识结构不合理在哪?首先,从第二章的内容来看,第二章介绍的是VB的语言规则(语法)和程序的三种基本结构,解决了“是什么”的问题。从人的认知规律来说,了解了“是什么”之后需要了解“为什么”,最后才是“怎么样”。其次,从第三章具体的内容来看,每一种算法的程序实现都需要涉及到对象的三要素以及VB的事件驱动原理,每一个程序都要修改对象的属性,程序代码的编写也都涉及到VB的事件驱动原理。所以,个人认为第三章和第四章在教学过程中需要灵活的调整两者的顺序。
2、关于学生
个人认为,学生能够学好这门课是教师进行教学活动的最终目的。相对于其它选修模块,算法与程序设计稍显枯燥。如何培养学生的兴趣,进而使学生认真学好这门“副课”,这是个人一直考虑的问题。
(1)就算法与程序设计而言,学生处在同一起跑线上,以前都没有学过。尤其是对一些在其它课程学习中有困难的学生来说,这是一次让他们找回自信的机会。个人一直感到很遗憾,没有在第一节课的时候向学生介绍比尔·盖茨,包括国内的许多IT人物的的传奇经历,让他们一开始就拉近与这门课的距离。
(2)要让学生重视这门“副课”,教师先要重视你的学生。如何让学生感受到呢?个人做了一些尝试,但感觉远远不够。比如在学生进入机房之前,帮他们开好电脑,一方面确保学生的电脑使用正常,另一方面可以让学生心里知道,教师在这里等着他们;需要经常抽查学生的笔记,看看是否写的认真;每一份学案都作详细的批阅,等等。个人也存在这样的想法,是否每个礼拜都可以安排半个小时的作业量?
(3)活跃课堂气氛,拉近教师与学生的距离。是否在课堂上拉着学生的思路跟着教师走,个人认为课堂气氛是否活跃是一个标志。在讲VB语法的两节课上,学生倒是安安静静的在记笔记,个人却觉得站在讲台上毫无激情,当然这跟教学的内容有一定的关系,但个人觉得这堂课很失败。也有灵光一闪的时候,在讲“走楼梯”的算法时,个人随口说道班里的某某同学在走楼梯时如何如何,问某某同学走完n阶楼梯共有多少种走法时,突然课堂里一下子热闹了起来,个人知道,学生在思考了。
(4)有时惩罚是必要的。一次,下午第一节课,全班集体迟到超过了5分钟,问原因,午觉睡过头了,还有学生甚至说教学任务完不成,索性让他们上网。个人当即回答:做梦!最后教学任务完成了,拖课10分钟。
3、关于教学过程
(1)重视知识的最近发展区理论。一个例题或者一个案例不能涉及过多的新概念。例题或案例的呈现需要有一个循序渐进的过程。
比如在介绍循环结构语句时,因为循环结构语句相对来说比较复杂,是学生在算法与程序设计中遇到的第一个难点,因此学生理解起来也比较困难,如何克服这个学习障碍呢?首先教师要讲明白循环结构语句的格式,然后通过一个最简单的例题,比如说求s=1+2+3+„„+99+100,详细讲解循环的各个步骤,接着再举相似的例题进行反复,比如说求s=1+1/2+1/3+„„+1/99+1/100,最后解决求s=1-1/2+1/3-1/4+„„+1/99-1/100的问题。这三个例题都可以套用同一种循环结构,但是前两个例题重点在于循环结构的讲解,而第三个例题是在学生初步掌握循环结构的基础上加以一定的提高:循环体用到了前一节课所学的if语句。
又如在介绍双重循环结构语句时,由于双重循环结构语句是后面具体算法(解析、穷举、查找、排序、递归)的程序结构基础,因此必须要求学生掌握。个人也有体会,掌握起来难度颇大。在教学过程中如何实现由易到难,由简单到复杂呢?个人设计了一个打印图形的五步区:第一步,打印矩形,教师主导,力求讲的清晰明了,学生易于理解;第二步,打印直角三角形,教师修改前一个程序,启发学生,让学生尝试写出程序运行的结果;第三步,打印倒直角三角形,继续启发学生,此时学生为主体,让学生修改程序;第四步,打印奇数行直角三角形,继续启发学生,让学生修改程序;第五步,打印等腰三角形,教师给出提示,让学生参与程序的修改。五个图形环环相扣,程序代码短小精悍,所有代码都套用同一种双重循环结构语句,修改起来较为方便。
(2)尊重学生的思维方式。课堂上需要允许或者鼓励学生发表自己的见解,有时需要对学生意想不到的发现而喝彩。
比如上文所提到的求s=1-1/2+1/3-1/4+„„+1/99-1/100的问题,在教学设计时没有考虑到可以用分支结构语句来实现它,而是这样一段代码:s = s +(1 / i)*(-1)^(i + 1);幸运的是一开始没有给出以上代码,而是让学生来填写这条循环体代码。结果就有学生给出了分支结构的循环体代码:if int(i/2)=i/2 then s=s-1/i else s=s+1/i;个人思考了五秒钟,立即对这种解法给予了充分的肯定,课堂上讲解的内容进行了及时的调整。课后想了想,确实是学生的解法更符合他们的思维习惯,通过条件判断解决正负号的问题,所用的代码正是上一个课时所教授的if语句。个人思考,教学相长,是有道理的。
(3)让枯燥的程序算法转变为贴近生活、有趣味性的实际中来。例如在讲解分支结构的select case语句时,由于是刚过年不久,个人想到了一个有关年货打折的案例,要求学生参考教材上的程序代码进行改写。在最近的复习课上,学生仍然对这个案例记得很清晰。再如上文所提到的“走楼梯”的算法、“韩信分油” 的算
算法与程序设计作为信息技术课程中的选修模块,其内容在广度和深度上都具有较高的要求。课标中对本模块的教学目标表述为“体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”这一表述包含了两方面的要求,即知识目标与能力目标,同时也是两种不同层次的要求。显然,“体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用”是知识目标也就是第一层次的目标,强调的是“体验”和“了解”。“能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题”是能力目标也就是第二层次的目标,强调的是“应用”和解决问题的能力。从课标的行文表述中可以看出,第二层次的目标即能力目标才是本模块教学的落脚点和最终目标。但以个人的教学经验来看,我们的教学大多还徘徊在第一层次上,极少能达到第二层次的高度。作为选修模块的教学,这样的情况是值得我们深思的。
第2篇:算法与程序设计教学探究
算法与程序设计教学探究
【摘要】:《算法与程序设计》是普通高中信息技术课程的选修模块,也是高中信息技术教学的重点和难点,其教学内容相对枯燥,因此教学难度较大。如何在教学过程中选择适当的教学方法以激发和维持学生学习兴趣,对于引导学生学好本课程十分重要。本文结合笔者几年来的教学实践对高中《算法与程序设计》的教学进行探究。
【关键词】:算法,程序设计,教学方法,学习兴趣
一、教学实践中遇到的问题
1、学生差异问题
首先高中学生的起点水平参差不齐。很多学生在升入高中前,并未接触过算法与程序设计的相关知识。我曾做过粗略统计,每班大约都有百分之九十多的学生在高中阶段以前未曾接触过程序设计这方面的内容,因此,学生学习程序设计语言的基础较差。其次,编写程序还涉及到本身的理科基础,特别是数学思维能力,每个学生的思维能力、理解能力是因人而异的。像实验班与普通班、文科班与理科班,他们的接受能力就不同;而同一个班的学生,他们中有的思维敏捷能很快接受新的知识,有的却还需要反复讲解才能接受。现在我们教学要面向全体学生,让全体学生都接受有些困难。
2、内容多,时间紧,教学目标不能很好地完成《算法与程序设计》模块中包括两大块内容,一是算法部分,一是VB程序设计基础部分,基本上涵盖了程序设计中用到的所有知识,有大量的概念、数据、语句以及其它的过程和函数,这些理论知识学生都必须掌握并能在VB中熟练应用,因此老师需要详细的讲解以及让学生做大量的练习。《算法与程序设计》模块的学时要求是36学时,但是一般信息技术课程最多每周两节课,有的学校甚至每周一节课,加上考试、放假等原因也会耽误一些学时,真正可以上课的课时不多,要学生全面理解算法并学会编程,教学难度可想而知。
3、学习内容比较枯燥乏味,缺乏趣味性,学生兴趣不高
《算法与程序设计》难教、难学是困扰师生的突出问题。对于学生而言,这部分学习内容的理论性和知识性都比较强,并且在编写程序的过程中,需要不断调试、修改程序。这个过程相比起学习一些应用软件而能制作出各种各样有声有色的作品,就显得枯燥乏味,因此学生对于这个模块的学习兴趣不高。对于教师而言,由于算法及编程知识相对枯燥且学生接受能力有差别,不易引发其学习兴趣,这就对教学的推进产生了一定的困难。
二、教学中的实践尝试
面对上述种种问题与困惑,如何在有限时间内合理运用教材,采取恰当的教学方法,激发学生的学习兴趣, 也就是如何提高《算法与程序设计》课堂教学的有效性,我们不妨从以下几个方面去解决:
1、创设情境,激发学生兴趣,提高学生学习信心
兴趣是学习的关键,兴趣决定了教学效果的好坏。在程序设计教学中要从学生的兴趣入手,利用学生对事物的好奇心,选择一些有趣的、有实际意义的程序,激发学生的学习兴趣。为了激发学生的兴趣,在程序设计中的第一课,我采用“游戏导入”方法,选定“猜数游戏”(见图1)作为切入点,对游戏与教学进行了有益的尝试。以教电脑玩“猜数游戏”作为主线,通过生生之间,人机之间相互玩猜数游戏的活动,将计算机拟人化,激发学生学习程序设计的兴趣。
图1 在第一课的教学中,学生对猜数游戏有了浓厚的兴趣,也有了一试身手的欲望。教师还可以再演示一些由学生自己编写的、有趣的程序,从而吸引学生,并告诉他们学习了《算法与程序设计》的内容后,大家都能够编出这些有趣的小程序。
2、与其他学科相结合,加深学生对知识点的理解,提高教学效果算法初步是高中新课程数学科目中的一项新增内容,在高一第二学期学习,《算法与程序设计》模块与数学课程算法初步部分内容相衔接,而且数学中很多问题都可以用程序设计的思维方法来解决。因此信息技术教师可以从同学们在数学课上已经熟悉的知识点入手,在教学中多举一些这方面的事例,不仅可以提高学生的学习兴趣,而且还能提高学生研究问题、解决问题的能力。
比如,对于著名的“百钱百鸡”的数学问题,大多数学生在解题时,只能利用已知条件,列出两个三元一次方程组,成为“无解”方程。但在讲“穷举”算法时,这个问题就能轻而易举地解决。它的分析过程是:由于100钱最多只能买20只公鸡,因此公鸡数应该在0~20之间;同理可得母鸡数应该在0~33之间;小鸡数应该在0~100之间。这样,利用循环分别对公鸡、母鸡和小鸡进行枚举,可得出题目的解。
这样的事例还有很多,如数学中解二元一次方程的问题,三角形面积计算问题,物理中平抛运动和球做反弹运动问题等。以数学或物理题讲授解析法,用经典的“百钱买百鸡”问题讲授穷举法,教学效果更为显著。
3、采用分层策略设计教学任务
分层教学承认学生的差异,是符合教学中可接受原则和因材施教的原则。分层教学面向全体学生,使教学适合每个学生的发展需要和实际水平,这也符合学生的心理要求,激发他们学习的自信和兴趣,提高他们的学习主动性和积极性。为了使学生乐于编程并学有所得,教师在设臵教学任务时,应改变以往硬性规定、呆板单一的做法,可将任务分为必做任务和自主任务两个层次。必做任务一般为基础问题,主要用于基础知识和基本技能的训练,一般每个同学都基本能够完成,所以要求每个同学必须完成。自主任务则是课堂相关知识的拓展延伸或创新,每个同学可视自己的学习基础量力而为,自主选择是否完成或者完成多少。
例如,在学习完程序设计的三种基本结构后,布臵“编写一个程序求出100以内所有的偶数“这个必做任务外,还可以布臵两道自主任务让学生自由选做:①编程求出1900-2008年之间的闰年。③在数学课本上选一道题,编程解决它。实践证明基础薄弱的学生基本都完成了必做任务,心里也比较满足,而学有余力的学生对自主任务很感兴趣,有些学生不仅编写出求数学问题的程序,还把物理中的问题用程序实现求解。他们的好奇心理更加激发了探究的欲望。
4、打破课本原有的知识结构体系
《算法与程序设计》教材的安排基本是按照“先理论后实践,先语句再程序”的顺序,这就容易导致教师在上课时,先讲基础理论部分,象算法的概念、流程图的画法,再将具体的算法程序,由于大多数学生以前没有接触算法,使得他们学习很茫然,不知道学这些理论有什么用,从而丧失学习兴趣。我们可以改变这种体系,从程序设计学习一开始就应让学生接触功能简单结构清晰的程序,以建立对程序和语句的整体概念,体会各种语句的格式功能,了解语言的有关规定,理解计算机解决问题的一般过程。
5、重视实践教学,培养学生实际动手能力
VB 是一门实践性很强的课程,如果只注重理论知识的学习,纸上谈兵,不注重实际操作,上机练习,是不可能真正学好VB的。在程序设计的实践教学中,选取教学案例时尽可能做到:①贴近生活,或者数学课本上的一些典型例题;②案例还要有趣味性,一个故事、一段相声、一则奇闻等等;③案例问题本身要简单,但包含要学习的算法思想。例如在学习选择程序设计结构时用“猜数”游戏作为案例,就可以调动学生起的浓厚的兴趣,教学效果明显。
巧设情境,布臵任务。在教学过程中设臵一个情景,让学生融入进去,有利于激发学习主动性。在学习随机函数时,我们创设了世界杯足球比赛掷硬币的情景,利用随机函数模拟掷硬币,让他们思考如何编写程序。类似这样的情景是学生们比较熟悉的,而且能引起他们的兴趣。通过学生的上机操作,培养他们的实际动手能力。
三、结束语
通过几年的摸索,笔者对于高中算法和程序设计的教学有了较大的提高,但仍存在若干不足之处。本文提出以上见解,以期起到抛砖引玉的作用。笔者将在今后的教学中,更加注重教学、教法的探究,在实践中不断提高算法和教学设计这么课程的教学能力。
【参考文献】:
[1] 张义兵.算法与程序设计(选修).教育科学出版社.2004 [2] 张义兵.算法与程序设计(选修)教师教学用书.教育科学出版社.2004 [3]《〈算法与程序设计〉模块的教学策略》 李娟
第3篇:算法与程序设计
《算法与程序设计》教学中实施研究性学习探步
作者:赵濮民
摘要:研究性学习是教育科研领域中一个崭新的课题。信息技术教学作为以培养创新精神、研究能力和实践能力为目标取向的必修课程,它强调让学生通过研究性学习,提出问题,收集材料,对研究性课题进行探索、分析、研究,最后基于问题解决模式,在实践操作中培养学生科学的态度和价值观以及创新精神、创新思维、创造能力,并学会解决生活中与信息技术学习有关的实际问题。职业学校的学生,不仅应具有独立接受知识的能力,更应具有独立探索知识的能力,由“研究性学习”补充原有的“接受式学习”,使学习方式更趋完善,只有当这两种学习方式结合起来,优势互补,才能使基础教育适应时代对人才培养的要求。
关键词:程序设计;研究性学习;求真;求全;求变;求新;优势互补
《算法与程序设计》是职业学校信息技术教学中的一个重点,也是难点。传统的程序设计教学以老师讲授型为主,由于算法与程序设计的内容逻辑性强,普遍认为在程序设计教学中难以实施研究性学习。
研究性学习是以“培养学生具有永不满足、追求卓越的态度,培养学生发现问题、提出问题、从而解决问题的能力”为基本目标,以学生从学习中获得作品设计与制作方法的困惑为方向,以在提出问题和解决问题的全过程中学习到算法与程序设计为学习方法的课程。经过反复研究,我们认为研究性学习可以应用于程序设计教学中。实施研究性学习的关键是要确定一个目标,要鼓励学生主动地发现问题,并且通过探究或实践活动去试图解决问题。在课题研究的过程中采用分组交流讨论、查阅资料、协作探究、归纳总结等方式,一步步引领学生深刻掌握算法与程序设计的精髓。
一、通过研究性学习,重构算法知识体系,要求真 研究性学习是学生在老师的指导下,结合真实生活,选定主题,然后搜集相关材料,对材料进行归纳、加工处理、分析、总结,得到相应结论的学习活动。在《算法与程序设计》教学中,根据教学内容,经过反复研究,确定了研究主题《搜索算法的应用研究》和《动态规划算法的解题应用研究》,并根据学生的自愿报名成立了两个研究小组。然后各小组根据自己研究的算法,重新整理相应的知识,对知识进行认知、归纳、总结。如《搜索算法的应用研究》小组,对搜索算法从以下几方面进行整理:
1、搜索算法的算法思想、分类;
2、深度优先搜索的算法思想与算法结构;
3、广度优先搜索的算法思想与算法结构;
4、深度优先搜索的优先策略;
5、广度优先搜索的优化策略;
6、深度优先搜索与广度优先搜索的异同。学生通过对搜索算法知识进行整理、分类、小结,加深了对搜索算法的理性理解与感性认知。
二、通过研究性学习,同学之间取长补短,要求全
每个学生都有所长,也有所短,研究性学习一个重要的特点就是:分工合作,共同讨论,共同提高,使参与的学生全面发展。我们的“搜索算法的应用研究”小组共有五个成员,根椐学生的特点、特长,对他们进行分工,每位学生研究上述其中一个问题,然后整个小组一起讨论,每位学生介绍自己的研究情况、研究成果,然后其他同学进行补充,发表自己的见解,这样每个同学都使自己的研究内容得到补充,同时也学习到了其他同学研究方面的知识,可以取长补短,共同提高,得到全面发展。
三、通过研究性学习,总结算法的应用规律,要求变
研究性学习的目的,是要求学生搜集与主题有关的资料,归纳整理相关资料,根据相关材料和知识,对主题进行研究,提出自己的观点或结论。我们在程序设计教学中进行算法专题研究也是这样,除要求学生归纳、整理专题算法知识外,还要总结出算法的应用规律、应用算法解题的步骤和算法的框架,能根据实际情况,随机应变。如在“动态规划的应用研究”中,学生总结出:动规划是解符合“无后效性原则”的最优问题的一种算法思想;用动态规划解题的一般步骤是:(1)判断题目是否为求最优问题,是否符合“无后效性原则”;(2)确定如果划分阶段;(3)确定每个阶段有几种状态;(4)找出状态转移方程和边界条件;(5)用算法语言实现算法过程。又如在“搜索算法的应用研究”中,研究小组的同学总结出:(1)广度优先搜索算法通常应用于解最少步数问题,而深度优先搜索算法则通常用来解所有路径问题;(2)深度优先搜索和广度优先搜索都是搜索算法,前者时间复杂度较大,而后者则占用的内存较大;(3)深度优先搜索在实现时用递归或用堆栈来实现,而广度优先搜索是用队列来实现,实现两种算法所用的数据结构不同;(4)深度优先搜索和广度优先搜索都是搜索算法,但两者的算法结构有较大的不同。学生通过自己对算法应用规律的总结,对算法的应用得到升华,进一步提高算法的应用能力和程序设计能力。
四、通过研究性学习,提高分析、归纳和综合能力,要求新
对算法的专题研究,不仅要对算法理论进行总结,算法应用的研究也是很重要的一方面,通过算法的解题应用,既提高了学生分析问题的能力,也加深了学生对算法的理解,提高了学生的算法应用能力,进而得到对学生创新能力的培养。另外,我们在算法研究过程中,要求学生透切理解算法内容,用算法语言准确描述算法,通过这种途径,进一步加深学生对算法的理解,同时也提高了学生的算法表达能力和归纳、总结的能力。
通过对算法进行专题研究,可以进一步加深学生对算法知识的理解,也可以提高学生的算法应用能力和程序设计能力。实践告诉我们:在整个研究过程中要注意以下几个问题:
1、课题不宜太大。研究课题的确定是研究性学习实施过程中重要的一环,课题选择恰当与否,直接关系到整个课题研究的成败。在程序设计教学中进行研究性学习活动,选题要遵循下面的原则:(1)课题的范围不宜太大;(2)有一定的应用价值;(3)结合学生的实际。一个好的开始是成功的一半,在研究性学习活动中也是如此。
2、要理论研究与算法应用相结合。对算法的专题研究,算法应用是重点。在算法知识归纳总结的基础上,重点应研究算法应用的一般规律、算法结构、应用算法解题的一般步骤等。不应该只是对算法理论的空洞论述,否则效果不好、意义也不大。
3、充分发挥教师的引导作用、学生的主体作用。在算法研究活动中,应充分发挥教师的引导和指导作用,既不能放任自由,也不能包办代替,要充分发挥学生的主体作用。当学生遇到问题和困难时,老师应当引导和启发学生,让学生去探索和研究,而不是直接告诉学生答案,老师始终是学生的引导者,学生是真正的参与者,使学生通过算法研究,加深对算法的理解,提高算法应用能力和程序设计能力。
职业学校的学生,不仅应具有独立接受知识的能力,更应具有独立探索知识的能力,由“研究性学习”补充原有的“接受式学习”,使学习方式更趋完善,只有当这两种学习方式结合起来,优势互补,才能使基础教育适应时代对人才培养的要求。