高中信息技术课程序设计教学方法初探(论文)

2020-03-01 21:58:49 来源:范文大全收藏下载本文

高中信息技术课程序设计教学方法初探

陕汽二校 白万平

【摘 要】:本文针对目前中学阶段程序设计教学“难教”和“难学”的问题,分析了程序设计教学过程中存在的一些问题,并结合教学实践,遵循教学的基本规律和基本原则,提出了相应的改进方法,并在实践中进行了尝试。 【关键词】:程序设计 教学 实践 能力

从今年起,本市大多数中学都将《算法和程序设计》作为高中信息技术选修课。但是程序设计教学一直存在“难教”和“难学”的问题,长期以来一直是高中信息技术课教学的重点和难点之一。因为程序设计本身抽象、枯燥,逻辑思维性强,如何找到一条比较实效的教学方式,使学生通过学习既掌握高级编程语言的知识、又能灵活运用高级语言进行程序设计,一直是广大信息技术教师颇感兴趣的课题。本文结合实例和具体的课堂教学就如何提高程序计课程的教学质量、增强教学效果、培养和提高学生分析问题、解决问题能力和创新能力等方面,谈谈在教学上的一些经验和体会。

一、我们要明确在程序设计教学过程中要遵循的基本规律和基本原则。

教学过程是教师根据教学的目的和任务以及学生身心发展的特点有计划地引导学生掌握知识、认识客观世界的过程,是通过知识的传授和掌握来促进学生身心全面发展的过程。而在教学过程中一定要按照教学规律,只有按照教学规律办事,才能提高教学质量,增强教学效果,并促进学生思维的拓展和能力的提高。教学原则是根据教学目的和教学过程的客观规律而制定的指导教学工作的基本要求和思想,是在总结教学实践经验基础上制定的、为教学工作所必须遵循的一般原理或准则。它既指导教师的教,也指导学生的学,应贯彻于教学过程的始终。遵循正确的教学原则可以帮助教师创造教学工作的有利条件,从而达到预定的教学目的并获得良好的教学效果。那么在实际的教学过程中我们应要遵循什么样的基本规律和基本原则呢?

1)、教师在程序设计教学中应把间接经验和直接经验结合起来。

有一句话说得好“思想才是最重要的”。我们有些些教师在教学过程中只注重对语句、语法的教学,并不注重算法教学,其实我们应该将两者有机结合起来(笔者觉得在教学过程中画流程图、用自然语言描述算法是很重要的)。但是对于一些成熟并深奥的算法我们只需要求学生会用即可,不必要求他们掌握里面的深奥技巧。反过来,对于一些并不是很难然而却需要学生细心体会和品味的概念和技能,教师最好不要进行深入细致的讲解,非要一步一步解释清楚不可,而是要让学生自己去揣摩,自己去领悟,哪怕多花点时间,哪怕走点弯路也未尝不可。这样才能使学生获得比较完全的知识和灵活运用知识的能力,并能提高学生的创新能力和分析能力。

2)、程序设计教学要注意发挥学生学习的主动性。

学生是学习和发展的主体,学生是课堂教学的主体,充分激发学生的主动意识和进取精神,有利于学生在感兴趣的自主活动中全面提高程序设计能力。课堂教学的效益不在于教师教了多少,而在于学生学到多少,而学生学到多少取决于学生参与课堂教学的热情和

1 主动性。只有学生积极主动参与学习,充分地思考,教师的努力才能取得效果。要想使学生积极,认真负责地投入学习,我认为首要的是要发挥学生的主动性。教师在教学过程中要善于启发和诱导学生独立思考、积极思维,充分调动学生学习的自觉性和积极性,使学生融会贯通地掌握所学知识,提高分析问题和解决问题的能力。教师要重视培养学生的探索心理,鼓励学生积极思考和质疑。在教学过程中教师要充分发扬教学民主,建立民主平等的师生关系,师生之间要做到充分的交流和沟通,生动活泼地开展教学活动。程序设计教学可讲的内容很多,但授课时和学生认知水平的限制,不可能也没有必要把所有的内容都讲到。多年的教学实践表明,将部分教学内容设计成专题留给学生进行有准备的课堂讲座或讨论以及将一些教学内容提炼成问题作为学生的课外思考题等方法往往更能调动学生学习的主动性,常常收到一些意想不到的教学效果。

3)、程序设计教学应注重理论联系实际。

教学应该在理论与实际的结合过程中传授和学习基本知识,从而引导学生运用所掌握的知识去分析问题和解决问题,在动手实践中达到培养学生手脑并用能力的目的。程序设计是一项实践性很强的工作,因此程序设计教学不能采取纯理论解析的教学方法。除了进行一些必要的概念讲解之外,教师主要应该让学生通过上机实践的办法来掌握所学内容。一方面,通过上机实践可以加深对课堂理论内容的理解和掌握;另一方面,通过上机实践可以提高学生上机调试程序的能力,提高学生的编程能力,提高学生分析问题和解决问题的能力。

二、现阶段程序设计教学中存在的普遍问题。

根据笔者以前的程序教学经验和通过与学生、同行之间的交流,得知部分学生反映上课时都能听懂讲解,可在涉及到具体的编程及上机操作时,往往会出现没有思路、无从下手、或错误百出,不会调试程序等各种情况,学生的编程往往只停留在依教师的例题“画瓢”的水平,一旦稍有改变,便出现举步维艰的困惑。究其原因,在教学方面可能存在以下2个问题:

1)教材过于注重对语句语法的深入剖析,缺乏以算法为核心的编程题教学内容。大多数程序设计教材中通常先给出一般的语法格式,然后逐步讲解语法要点,再给出例子。教师钟情于举一反三地对使用语句、语法的深入教学,而不是有机的结合算法思想进行教学。贴近生活并引起学生兴趣的编程题讲得很少。这往往导致学生上机时不知道写程序的步骤而无从下手。

2)学生厌倦传统的课堂编程教学,缺乏可以辅助学习的有效途径。学生对于先讲后编、先听后编这一传统的课堂教学方式有厌倦心理。同时由于高中信息技术课的课时少(据笔者了解一般学校都是两节课,而且这两节间隔又长),平时课后作业又很少,师生之间缺乏足够的交流和沟通,学生没有有效、实用的学习辅助途径,也间接影响着学生的学习兴趣和学习效果。

三、教学中的实践尝试。

那么如何就针对现阶段程序设计教学中存在的普遍问题并结合程序设计教学要遵循的基本规律和基本原则有效开展高中程序设计课呢?笔者在对本届高一年级同学组织有关程序设计方面的课堂教学时,做了以下几点尝试:

2 1)、打破课本原有的知识结构体系,在改变中感受新的知识。

程序设计教材较多地按照“先理论后实践,先语句再程序”的顺序编排的。如高中《算法与程序设计》课本中有关vb程序设计方面的教学内容,象大多数教授程序设计的课本一样,一开始介绍诸如算法、流程图的画法,然后介绍vb语言基础、分支结构、循环结构和数组。我认为实际教学应把把间接经验和直接经验结合起来,应从建立大量的感性经验入手,坚持从实践经验到一般原理的计算机学习原则。我们从程序设计学习一开始就应让学生接触功能简单结构清晰的程序,以建立对程序和语句的整体概念,体会各种语句的格式功能,了解语言的有关规定,理解计算机解决问题的一般过程。

如我在教第一课时《算法和算法的表示》,就例举了一个用VB语言解决数学问题的一个实例(例1),例1 求a和b的和sum ,先让学生写出用自然语言表示的算法,然后教师给出具体的相对应的VB编程(体会程序设计语言表示的算法叫做程序): Dim a, b As Integer a = InputBox(\"请输入第一个数:\") b = InputBox(\"请输入第二个数:\") sum = a + b MsgBox \"两数之和为:\" & sum 接着我让学生根据经验去理解这段程序,虽然学生最终形成的认识和得出的结论仍是模糊的,初浅的,但由于借助了具体的实例和真实的环境,学生很轻松地接受了语言的启蒙教育,也对程序设计开始萌生了一种亲切感。

2)、巧设情境,布置任务。

教师在教学过程中创设一个好的情境,使学生融入其中,有利于激发学生的学习主动性,加深对知识的理解和记忆。比如我们在学习RND这个随机函数时,可以这样布置任务:世界杯足球比赛前裁判都会通过抛硬币的方式来决定双方的场地和哪方先开球,今天我们也来利用随机函数来模拟抛硬币。例1:将硬币抛掷100次,统计正反出现的次数,请同学们思考如何编程实现?具体程序描述如下: FOR I=1 TO 100 X=RND() IF X>=0.5 THEN M=M+1 ELSE N=N+1 NEXT MsgBox \"正面=\" & \"M;\" & \"反面=\" & \"n\" END 最后教师总结:这个例题是直接应用了随机函数RND的作用是随机产生一个(0,1)之间的随机小数。比如我们在冒泡排序算法教学过程中,我们可以这样创建情境:教师给出几张大小不同的牌,然后教师用冒泡的思想找出其中最大的一张(教师本人不看牌,在用冒泡思路每次比较时,让学生说是哪张大即可)。这样的任务就布置得比较巧妙,更能贴近学生,从而激发学生学习兴趣。

3)、注重引导,提高学生的综合编程能力。

在教学过程中,注意通过在书本原有程序的基础上逐渐改变和增加条件的方法来提高

3 同学的综合编程能力。同样以RND函数为例(接上一例子),教师引导:如果我们随机产生10个、50个或者更多的随机数时,我们再用这种方法还行吗? 又怎么来解决?教师给出一个表达式: X=INT(RND()*M+N),其中M为产生随机数的个数,N为产生随机数的的起始值,如:产生[1,100]之间的数,其表达式为X=INT(RND()*100+1)。接着教师给出一个任务:我们要设计一个抽奖程序,在50个号中随机抽取五个数,应如何设计程序呢?同学们都会说这很简单啊,作一个5次循环,具体表示:for n=1 to 5; X=INT(RND()*50+1);next。那么我们再问,这样在这5个随机数中有没有可能相等呢?那么如何使产生的随机数各不同呢,请同学们再设计。这样教师就可以发挥例题的效益,多转换角度、多拓展题意,从拓中寻求变化,从变中寻找规律。

4)、提倡思维方式、程序算法的多样化,促进学生个性发展。

思维方式、程序算法的多样化,是指尊重学生的独立思考,鼓励学生探索不同的方法,而不是让学生一定要去掌握多种操作方法。在学生进行程序设计时,学生中往往会出现多种形式不同的程序清单。有的可能是判断条件不同,有的是变量的初值不同,有的是在语句先后顺序的略有变化等。我们不能就用一句“这是错了”来忽略这些不同形式的程序清单,而是要让学生在独立思考的基础上,再让学生发表自己的见解、观点。教师鼓励学生用已有的经验大胆思维,鼓励学生动手上机操作,在上机过程中会有各种问题发生,然后我们来分析问题的产生原因,寻求解决问题的有效途径,营造宽松活跃的课堂气氛。算法的多样化使学生变得聪明自信,在主动探索与合作交流中得到收获,并促进学生的个性发展。

5)、创建开放式的网络教学模式。

因特网的高速发展和校园网的广泛普及为我们改革传统的教学模式提供了新的契机,我们可以以网络和现代教育技术为依托,多种教学媒体综合运用,创建一个开放式的网络教学模式。我们可以构建高质量、高容量的多媒体网络教学资源,培养学生在网络环境下进行高效率地互助的学习方式。比如我们可以设计一个《程序设计学习网站》,学生可以通过查找教师的电子教案,复习和巩固重、难点知识;学生可以通过习题库和自我测试题库,进行演练、考核,检验学习效果;学生可以通过答疑系统和网上BBS教学论坛,实现学生和老师、学生和学生之间的相互交流和帮助;学生可以通过学习成果展示平台,展示自己的学习成果。

6)、改革上机操作的实践环节,重视程序项目设计,培养应用能力

程序设计的教学中,上机实践的作用不是验证,而是设计。而在我们平时的上机实践中,往往是照着书本的例子进行验证,学生会觉得很无聊。我们把上机内容分为两个部分:基本项目和提高项目。基本项目要求学生掌握高级语言程序设计的各项基本内容,我们可以精选一些有趣的习题:如“猴子分桃”、“鸡兔同笼”、“韩信点兵”等实例来组织基本语法、函数、基本语句的学习。提高项目可以通过模拟开发过程,仿照TT软件编写设计时钟;设计文本编辑器;设计CD播放器;设计一个选择题库等,在真实的编程情景中让学生做自已感兴趣的项目,真正做到学用结合。这些提高项目可以功能简单点也可以复杂点,可以单独完成也可以通过小组合作的形式完成。教师在上机实践的环节中只是起引 4 导、辅导的作用。通过改革了的上机实践可以巩固和提高前面的知识,不断地用所学的知识去逐步完善这些程序,并将编程的技能技巧渗透其中。

7)例题的引入一定要做到从简单到复杂,循序渐近

我们教材里的一些例题往往比较典型,但是却很复杂。比如说FOR —NEXT循环语句一节中,例题就是求一组数组的和,还有求一组数组的最大值。我觉得对于刚开始接触编程知识的学生来说是比较难以理解和接受的。我们可以先引入一个简单的,比如就是一次打印输出10个1,通过这个例子我们来分析FOR-NEXT语句功能、格式。然后我们可以变换一下STEP值,接下来再变一下,一次打印输出1到10的数字,接下来可以再变,一次打印输出10到1的数字。然后引入这样一个例题,求1到10数字的和,最后我们才引入求一组数组的和。这样一步一步下来,学生不但容易接受,也使学生更能灵活掌握FOR-NEXT语句,加深对它的理解。

程序设计课程在培养学生分析问题、解决问题的能力和培养学生创造性思维上起着非常重要的作用。程序设计是计算机这一现代工具为基础教育带来的一种培养逻辑思维能力的新方法和新手段。高中程序设计教学的主要目标是为了使同学们了解现代程序设计理论中的面向对象编程和结构化程序设计等基本思想,培养现代程序设计过程中所需要的一些基本能力。围绕着这个目标,遵循程序设计教学的基本规律和基本原则组织教学,一切可行的教学方法都可以在我们的教学过程中加以运用。 参考文献:

阳 《程序设计教学的指导思想》

张敏霞 《程序设计语言课程教学方法改革的探索与实践》

信息技术课论文

初中信息技术课教学方法分析

浅谈信息技术课的教学方法

谈中学信息技术课教学方法

浅谈初中信息技术课教学方法

信息技术课有效教学方法初探

高中信息技术课总结

高中信息技术课教案设计

高中信息技术课教案

信息技术课有效教学方法的思考

《高中信息技术课程序设计教学方法初探(论文).doc》
高中信息技术课程序设计教学方法初探(论文)
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文