“螺旋式”教学法在五年制大专程序设计课程中的探索与实践
2014-03-26阎江平
阎江平
[摘要]程序设计类课程在职业学校计算机类专业教学中一直是一个难点,针对学生对程序“听得懂、编不出”的现象,分析其成因,从教学的目标定位,教学方法改革出发进行探索,提出 “螺旋式”教学法。“螺旋式”教学法的设计原理是:既有重复的可训练的任务,又可以改变条件或结果,成为新的难度递增的任务,其特点是:知识的学习和能力的提高是螺旋式上升的。
[关键词]程序设计 教学方法 “螺旋式”教学法
一、研究背景
程序设计是“从问题到程序”的思维和实现过程,既要求掌握严格的科学方法,又要求谨慎灵活的呈现能力。若要很好地完成程序设计任务,编程者不但需要充分发挥聪明才智,还要有细致认真、一丝不苟的工作态度。这些特性要求学习者必须具备较高的智商和情商。而如今的职业学校学生,因为不会学而学不好,因为学不好而不想学,。而传统的教学模式,最终会导致学生对课程产生厌倦,这种情绪不利于学生学习兴趣的培养以及学生思维能力、创新能力、独立分析问题和解决问题能力的提高。
如何让职业学校计算机专业的学生走出程序设计课程的困境,我们设计了一种新的教学方法:“螺旋式”教学法。
二、研究价值
目前对五年制大专生的教学方法讨论很多,且大多为基于项目式教学法,案例教学法等,并且相关教材与资料却没有跟上,尤其对应五年制大专生的程序设计语言课程方面的教法改革更是基本空白。程序设计语言又是计算机行业深化应用的根本,目前针对本科院校学生的教学模式、教学方法的研究很多,但大多不适合职校生,故急需相对职校生程序设计类课程学习的教学方法研究、改革。本是在项目式教学的基础上进一步深化,针对职校生的学习特点及程序设计语言课程特点,通过“螺”式教学帮助学生掌握知识,通过“旋”式教学巩固知识的理解并能自主应用,从而达到学生对程序设计语言能学以致用的境界。
中国(尤其是无锡)目前的软件外包产业的发展方兴未艾,对软件人才的需求缺口相当大,其中有高级的软件规划、软件设计的人才,更有很大一部分人才需求是代码的实现人员,而这一层次正是五年制大专生所能适应的层次,但目前五年制大专生的水平较难达到社会的实际要求。社会有人才需求的缺口,学生有就业的困难,如何解决这个矛盾,势必需要提高学生的软件代码编写能力,而提高学生这一能力的最有效的途径则是学生对软件课程的学习过程。
三、程序设计课程教学现状分析
目前多数五年制大专学校在程序设计课程教学方法方面存在较多缺陷,究其原因:
1.虽然学校引入了项目教学,但项目更趋向于任务。
2.对学生学习后的知识巩固阶段重视不够,一般对前期教中复,识的扩展;
3.传统教学方法不能够完全激发学生的兴趣,没有激发学生学习的自主性。
为此,为五年制大专学校学生寻求一个好的软件课程的学习方法,势必会对五年制大专生就业与社会对软件人才的需求这一矛盾提供一个很好的解决方法。
四、“螺旋式”教学法的主要思想
“螺旋式”教学法将要学习的知识点设计成为一个特殊的微型项目,这个微型项目包含若干个可以用相同方案解决但又不同的问题,老师示范第一个问题的解决方案,并在解决过程中分析解决问题需要些什么知识,传授要学习的知识点,编程解决问题。程序设计类课程的特点决定了在学习过程中模仿的重要性,学生在了解并观察了老师的解决方案后,模仿老师的解决方案编程解决该项目中其他相似的问题。在模仿过程中,老师给予相应的指导,加强学生对知识点的理解和运用,同时充分调动学生的主观能动性,强调训练学生自己解决问题的能力,这个能力的转移过程称之为“螺”,即在重复解决相似性问题过程中锻练学生基本问题的解决能力,特别适合五年制大专学校学生综合素质较低的现状。
在“螺”的过程完成后,学生已基本掌握要学习的知识点。此时,老师对这个微型项目做出适当的改变,比如改变部分条件,或改变要实现的结果,在进行适当的提示之后,要求学生参考之前模仿完成的程序,根据条件的改变,编程解决这个问题。这个过程称之为“旋”,即在“螺”的基础之上,对同一问题做出适当改变,提高解决问题的难度,学生运用在“螺”的阶段学习的知识,解决已经发生变化的问题,实现能力的提升。
在这样一个个微型项目的实现过程中,学生的应用能力“螺旋式”式上升,最终能独立解决问题。
“螺旋式”教学法的一个关键问题是要根据教学内容,设计出适合的微型项目,在微型项目中体现出“螺旋式”教学法的理念:既有重复的可训练的任务,又可以改变条件或结果,成为新的难度递增的任务。
五、在程序设计课程类中的应用及特点
教学过程:“基本示范(螺)”-“相似性模仿(螺)”-“ 相似性模仿(螺)”-“差异性模仿(旋)”- “差异性的相似性模仿(螺)”……。
典型案例分析:
设计项目:用顺序比较法编写程序从键盘输入任意自然数如:7、36、5、3、89、21、76、……。使其按从小到大(或从大到小)的顺序排列。
任务目标:完成任意自然数的排序。
教学过程:
老师首先指导学生完成基本的比较大小的过程,教学重点在比较的两个数的交换过程,即if(a>b) {t=a;a=b;b=t;},接着进一步分析下一步与谁比较?曰:顺序比较,比较完成一趟即排好一个数。老师分析要解决的问题,总结出需要用到的两个主要知识点:1.两两比较后交换;2.一趟完成一个数的排序。
老师解决方案完成示范后,要求学生模仿老师的编程方法,完成任意三个数的排遣序。学生经过“一螺”、 “二螺”、后,应该对这两个知识点和此类问题的解决方法有了非常清楚的认识,且能充分发挥学生的主观能动性,
学生基本能力具备后,在老师指点下完成和老师演示问题类似但又有差异的任务。比如老师现在改变微型项目的要求:冒泡排序法。这个过程就是“旋”,是能力提升的锻炼过程。
通过实践可以看出教学特点表现在:
1.教学方法在宏观课程上采用微项目拓展,微观课堂上采用微项目递进,使学生的能力逐步提高。
2.淡化理论教学与实践教学的界限,以项目为主线,逐步提高学生自主式探究的学习能力,为今后分析问题、解决问题打下坚实基础。
六、结论
“螺旋式”教学法有效地将理论教学与实践教学有机地结合起来,使学生通过“螺旋式”的微项目编程,掌握了编程知识,培养了编程的实践能力及分析问题、解决问题的能力,充分发挥了学生的创造潜能,引领来越多的初学者走入程序设计的殿堂。
[参考文献]
[1]何林锦;翟云波;李彩亭;路培;项目式实验教学模式及其可行性评价方法[J],实验室研究与探索,2010年02期
[2]戈素贞;教学设计研究与教学方法探讨[J],绍兴文理学院学报,2007年03期
(作者单位:江苏省无锡立信中等专业学校)