好文档 - 专业文书写作范文服务资料分享网站

《算法与程序设计》选修模块教学实践与研究-精选文档

天下 分享 时间: 加入收藏 我要投稿 点赞

《算法与程序设计》选修模块教学实践与研究

《普通高中信息技术课程标准(实验)》指出,在中学开设《算法与程序设计》课程的主要目的是使学生能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法来解决问题。这对初学《算法与程序设计》的学生来说可不是容易的事。有的学生甚至觉得比学数学还难。那么,如何搞好《算法与程序设计》这门选修课的教学呢?下面谈谈我的做法。

明确学习用途,消除学生畏难情绪

学生通过学习必修课中的“用计算机程序解决问题”一课,初步了解编程解题的作用及其主要步骤。但有的学生可能会认为:要计算机解决问题都可以找到相应的软件,这些软件都是专业人员设计好的,对于普通的人不需要再学习编程解题。针对这个问题,我在第一节课就向学生介绍了我自己在工作中遇到的问题,即如何批量添加server-u用户的问题。

例1:每学年开学时,我都要在学校的服务器上为每个学生开设一个文件夹,并利用server-uFTP软件为每个学生设置对自己文件夹的使用权限。一个年级段600人,每人建一个文件夹、设置权限的工作少说要花1分钟,600个人要600分钟(10个小时),手工操作工作量大,而且容易出错。那么,如何解决这个问题呢?

引导学生进行认真分析后,就会发现,学生们的文件夹可以按班级分类存放,每个学生的文件夹名称也可以设置为g06??**这种形式(其中??表示班级,**表示座号)。server-u中的用户配置都保存在一个文本文件中,并且用户与权限都很有规律。因此,我们可以编写一个程序,一个班一个班地、每个班一个学生一个学生地进行开辟空间和server-u的用户添加权限设置。最后,我演示了一下我的程序,并简要地解析了一下程序。通过以上的例子,我是想让学生们知道,尽管现在已经有各种各样的软件可以帮助我们,但仍然会遇到一些现有软件无法做到的事情,需要我们在原来软件的基础上进行二次开发。因此,学习编程解题是很有必要的。

我还通过实例简要介绍程序设计语言的发展,让学生了解了几种常见的程序设计语言(机器语言、汇编语言和高级语言),同时,让学生感受到高级语言比起低级语言是更容易学习的,从而消除了学生对学习这门课的畏难情绪。

这节课不仅让学生学习了编程解题的过程,同时,更重要的是向学生传递了“编程有用、编程不难”这样的信

息,进而增强了学生学习本门课程的兴趣与信心,为本门课的教学打下了一个良好的基础。 理解算法设计,引导学生自主学习

众所周知,算法设计是程序设计的核心。对于任何一个问题,我们要想通过编程解决它,首先要将自己想要如何解决这个问题

的方法用一定方式描述出来(这就是算法设计),然后再根据算法编写出程序。多年的程序设计教学的经验告诉我们,学生学习这门课的一个很突出的困难就是如何学会和掌握算法设计。因此,在这门课的第2、3节课中,着重通过一些简单的例子来让学生懂得如何进行三种结构的简单问题的算法设计。 第一,实例入手,引导学生总结出自己的算法

例2(时间转换):输入一个以秒为单位的时间t,将其转换成x小时y分钟z秒形式。用自然语言描述算法。 这是一个小学数学问题。首先,让学生看清题目,抽象出“已知什么?求什么”这样的模型,即已知t秒,求x小时、y分钟、z秒,使得t秒=x小时y分钟z秒。接着,让学生思考如何解决这个问题。经过初步分析,学生们仍觉得无从下手。于是,我们将问题改为“3800秒是几小时几分几秒”,发现学生很快算出答案“1小时3分20秒”。究其原因,我觉得学生可能习惯于解决一个具体的数学问题,而不习惯于解决一个带变量的问题。这恰恰是数学解题与编程解题的一个区别。接下来,我就让学生说出他们是如何得出以上答案的,并引导学生进行归纳,将3800这个数换成t,再让他们尝试说出求法,经过几次修改,最后得到算法。

通过以上例子,我让学生明白了什么是算法设计,同时,也让他们知道,要设计出算法,通常可从实例入手,逐步地把设想的解法用尽量精确的方法描述出来,就能设计出算法。

第二,从学生熟悉的问题出发,进行算法设计训练 在讲解选择结构问题的算法设计时,我从学生初中阶段就知道的“求一元二次方程实根”的问题出发,进行算法设计的训练。

先让学生自己描述一下“求实根”问题的算法。由于学生对问题比较熟悉,又有例2中的顺序结构算法设计的基础和教师点拨,学生很快得出了如下的算法描述:①输入a,b,c;②求DLT=b2-4ac;③如果DLT<0,则输出“无实根”,转⑤;④否则,求两实根x1,x2,输出x1,x2;⑤结束。接着,我引导学生分析了自然语言描述法的不足,引出了流程图描述法,并用流程图把以上算法描述了出来。学生就很容易理解了。从学生熟悉的问题入手,进行算法设计的训练,会收到较好的效果。 掌握编程步骤,灵活进行教材处理

由于这门课是要用VB程序设计语言编程来解决一些简单问题,因此,必须让学生对VB可视化编程的一般过程有所了解。按照教材的安排,可视化编程是在第三章,而第二章中有“程序的顺序结构”、“程序的选择结构”与“程序的循环结构”等教学内容,为了教学上方便,并结合自己教学《VB程序设计基础》的经验,我将第三章的内容进行了简化与提前处理。 ①为了理解好“对象”、“属性”、“事件”、“事件过程”、“事件驱动”等概念,又不能使学生们觉得太抽象,我安排了两节课时间。通过“登录小程序”的制作演示与实践,让学

生感受VB可视化编程的一般步骤,理解了“对象”、“属性”、“事件”、“事件过程”、“事件驱动”等概念。

②在对可视化编程的教学中,我采用了分段法。第一阶段演示了可视化编程的第一个步骤“对象的添加”,并结合讲解“对象”的概念;第二阶段演示了属性设置,讲解了“属性”的概念;第三阶段演示并讲解了“事件”与“事件过程”、“事件驱动”等概念,演示了事件代码的编写与程序的运行。每个阶段演示后,都让学生自己动手操作。

分散学习难点,采取用到再学策略

在教材中,第二章第1节的主要内容是VB程序的结构与数据类型、变量、常量、运算符、表达式、函数等概念,如果专门花一节课给学生讲解,不仅枯燥而且抽象。对于本部分,我采取了分散难点、用到再学的策略,先跳过这节课,当学到下一节“程序的顺序结构”时,通过“求圆的面积”程序这个学生最容易理解的问题,再来讲解程序的结构、变量、常量、赋值语句、输入函数和输出方法等。

另外,在讲解变量等概念时,要联系实际,运用类比等手段进行讲解。例如,对于变量的概念,告诉学生:“人在计算时要用到草稿纸记录数据,同样,程序也需要临时存放输入数据或中间运算结果时,它就通过变量来实现临时存储。”于是,引出了变量及其说明、赋值语句等内容。

由于教材上有“求圆的面积”程序,所以,学生只要理解程

《算法与程序设计》选修模块教学实践与研究-精选文档

《算法与程序设计》选修模块教学实践与研究《普通高中信息技术课程标准(实验)》指出,在中学开设《算法与程序设计》课程的主要目的是使学生能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法来解决问题。这对初学《算法与程序设计》的学生来说可不是容易的事。有的学生甚至觉得比学数学还难。那么,如何搞好《算法与程序设计》这门选修课的教学
推荐度:
点击下载文档文档为doc格式
2g4wo9bpr06cyp27lz4y3h0qq02udc01but
领取福利

微信扫码领取福利

微信扫码分享