对《算法与程序设计》模块教学的几点建议论文_罗勇

摘要:本文从教学方法方面谈了笔者在《算法与程序设计》教学中的一些经验体会;从提高学生编程能力和算法应用能力出发,介绍了《算法与程序设计》课程的多种教学方法在教学中的应用,并对《算法与程序设计》课堂教学的组织与设计、教学方案设计等方面作了讨论。

关键词:程序设计;教学模式;方法;学科整合

在选修模块教学中,选择《算法与程序设计》模块教学的学校比较少,原因是算法的学习比较抽象、枯燥,很难调动学生的学习兴趣。但是程序设计又是计算机的基础,只有程序设计掌握好了,才能更好地开发多媒体。如何上好这门课,我们进行了一些有益的探索。

一、活动是为了激趣

算法的入门学习尤为重要,要在开始的课上“紧紧抓住学生”。笔者在VB教学中,首先考虑了学生爱玩的天性,通过输入用户名及密码来登录QQ,从而学习在VB中如何制作此界面。学生有了兴趣,学习就会变得轻松有趣了。这时,笔者再引入VB可视化编程软件,开始讲解VB的窗体、控件、编写程序等基础知识。在讲解中引入了编写代码的基本要点即对象和事件的选择。在激发了学生的浓厚兴趣后,再引入课题,让学生带着兴趣上课,可以达到事半功倍的效果。但是要保持住原有的兴趣同样也是比较困难的。所以,笔者将一些数学题引入到课堂上,让学生分组讨论、设计算法、编写程序,然后将不同的算法作比较,测试其可行性,如果有错误,可以共同分析错误并修改,如果分组讨论的结果都可行,可以比较不同算法的复杂性,让学生之间多交流,从而可以相互取长补短、扩展学生的思维。例如,求解100以内所有能被3整除的数的和,设计算法编写程序。这个问题学生设计了两种算法,编写程序如下:

算法1设计得简单,抓住了被3整除数的特征,只用到了循环语句,直接将K(循环变量)的初值设置为3,下一个K=K+3,这样保证了每一个i都是能够被3整除的;而算法2相对设计的比较复杂,判断了100以内的每一个数是不是能够被3整除,如果能则S=S+K,否则判断下一个数。通过分析这两个不同的算法,可以看出,算法1不需要判断,并且只循环了33次;而算法2循环和判断语句都执行了近100次。这样,学生在自己设计程序时就可以尽量展开思路,并且在设计算法上更加严谨,相互讨论自己的算法,可以取长补短、共同进步。

二、活动是为了求真

在教学过程中配合适当的练习,让学生自己动手做。同样地给学生一些简单的有趣的问题,例如“韩信点兵”,共同讨论分析问题、设计算法、编写程序、上机调试等。学生刚开始接触VB程序的时候,学生对于VB程序设计思路模糊,不够清晰,出现的问题相对也较多。这个阶段教师要适当运用简单的示例,例如求解半径为r的圆的面积等问题,可以提示学生设计算法或给部分程序让学生补充完整,并且学生可以扩展求解圆锥体体积、表面积等一些复杂的运算,但都是运用顺序结构解决的问题。

在掌握牢靠的基础上再上升一个台阶。先给出比较简单的问题,让学生自己设计算法和编写程序。例如,输入三条边长,判断能否构成一个三角形等,有一个判断语句或一个循环语句就可以解决的问题。在以后的教学中难度逐步加大,适当地加入简单的嵌套结构,让学生能够运用计算机解决相对复杂的问题,例如求解一元二次方程ax2+bx+c=0的根,要先判断a≠0,且b2-4ac≥0,如果两个条件都满足则判断b2-4ac=0,如果是则有两相等的实数根,否则是不相等的两个实根;这道题就用到了双层嵌套判断语句,难点在于第二层判断语句是在第一个条件满足的情况下才判断的,不满足就直接得出无实根。在双层嵌套语句使用熟练的基础上,再加大力度,学习使用多层嵌套以及判断和循环的嵌套等。每一次难度加大都要建立在学生对前面知识掌握牢固的基础上,即给学生提出问题,学生能较快的设计算法并编写出程序,在这个程度上再提高。学生掌握了基础算法设计和编写程序的基本要点后,可以灵活地设计一些问题,让学生多练习、多讨论,从而使学生真正掌握算法设计的精髓。

三、活动是为了求合

“VB程序设计”的目的绝不仅仅是学会编程,更重要的是通过“VB程序设计”的学习,培养起高中生必备的信息技术素养。学生对于信息技术这门课不会花费大量的时间,他们的学习重点还是高考科目,但是信息技术学科与其他各学科都有联系,将其他学科的问题运用“VB程序设计”解决,例如数学中的数列计算第n项、前n项求和、复杂代数式的计算等问题,都可以设计算法,运用VB设计相应的程序,解决学习中的实际问题,这样学生可以将自己在数学课或物理课中的问题带到信息技术课上自己设计程序,真正地体验计算机解决问题的特点和优点,达到它为我用的目的。例如,数列1,1,2,3,5,8,13,……,通项是an=an-1+an-2,即第n项始终等于前两项的和,这样的问题手动计算相对比较麻烦,而用计算机解决,只要设计好合理的算法就可以解决问题,这个程序设计的关键点是循环语句中循环体的设计,其中an=a1+a2,并及时将a2的值赋给a1,an的值赋给a2,在计算下一个an时保证a1和a2始终是它的前两项。在解这道数学题的基础上,学生可以推广应用到其它数列的计算,修改程序中的一些关键语句就可以达到目的。使学生真正进入到编程的乐趣中。

在信息技术课程中,要从信息技术课程自身建设的目的出发,围绕信息技术课程知识体系展开,使用学生所熟悉的其他学科的应用实例来说明。相当于数学课中的应用题,可以是生活的,也可以是物理或者化学的。就是说要它为我用,不能因其他学科的内容而冲淡了自己课程的主题。这样做,不仅我们学科的教学目的没有得到很好的实现,其他学科的教师也是不欢迎的。

四、活动是为了求法

“VB程序设计”与以往的“Windows基础知识”的教学有所不同,其涉及的问题难度跨度大、综合性越来越强,对学生如何应用计算机解决问题的能力的要求在不断提高。笔者研究教材后把VB的教学过程分为四个阶段:初步认识VB巩固基础阶段、完成较简单任务详细学习阶段、综合利用制作作品阶段、总结提高阶段。下面逐个说明:

第一阶段:初步认识VB巩固基础阶段。这一阶段最重要的是演示一些生动的范例和往届学生用VB制作的优秀作品。旨在让学生对VB编程要完成的任务有一个初步的印象,对知识结构有个概括性的把握,对学习方法也有一个总体的认识。

第二阶段:完成较简单任务详细学习阶段。教学内容任务化,是VB教学的主体部分。以收集信息、分析信息、处理信息、运用信息的能力培养为主。每一个任务涉及几个知识点,通过解决几个问题完成任务。教师指导学生自主学习,以任务教学为主,教师引导学生完成一个个任务,逐步培养起学生的自主学习能力、协作学习能力。评价任务完成情况,评价学习过程,分析各小组完成任务的特点及区别,最终达到小组评价,即各组之间评价讨论。学生详细学习解析法、穷举法、查找排序法、递归法等算法的要点、特点等,能运用这些基本算法解决问题。

第三阶段:综合利用制作作品阶段。教学内容综合性强,包括新旧知识的综合应用,一位同学要完成往往会有困难,重在培养全面的信息素养,包括具体问题、分析问题、设计算法、编写程序、调试程序、得到答案的综合能力的培养。教学内容比较灵活,但对电子作品的基本功能应有个标准。以小组协作学习,师生共同研究性学习为主。教师必须准备好较为理想的学习环境支持。小组内部的电子作品由学生自己评价,教师主要评价小组的电子作品。鼓励学生的创造性活动。优秀的作品向全班同学展示,并进行相应的评比活动,让学生自己进行评价,并举办相应竞赛。

第四阶段:总结提高阶段。可以设计一些综合性的问题,分小组探讨设计算法,并总结几种较为常见的算法如:解析法、穷举法、查找排序法、递归法等,总结什么样的问题适用哪类算法,让学生能融会贯通新旧知识,真正掌握算法的要领,能独立思考,运用VB开发制作软件,让学生能有良好的信息技术素养。

总之,我们教师要深挖教材,要更好地利用教材,引导启发学生的学习兴趣,感悟算法设计的奇妙,激励学生奋发向上,在求索和创新上大放异彩。希望在我们教师和学生的共同努力下,能够把这门学科学得更好!

(作者单位:湖北省公安县南闸中学 434305)

论文作者:罗勇

论文发表刊物:《中学课程辅导●教学研究》2016年9月上

论文发表时间:2016/12/12

标签:;  ;  ;  ;  ;  ;  ;  ;  

对《算法与程序设计》模块教学的几点建议论文_罗勇
下载Doc文档

猜你喜欢