杜轻 韩雪 石丽婷
摘要:该文分析了算法设计与分析课程教学和学生学习时存在的问题,根据近几年积累的教学经验,提出了一些教学方法的建议,如互动式教学,板书和多媒体相结合,重视上机练习以及考核方式的改革。
关键词:计算机;算法设计与分析;教学方法
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)08-0102-02
21世纪以来,计算机的普及极大地改变了人们的生活。目前,各行业、各领域都广泛采用了计算机信息技术,并由此产生出设计并开发各种应用软件的需求。为了以最小的成本、最快的速度、最好的质量开发出应用软件,就必须掌握并能设计出高效的算法。算法分析与设计是一门理论性与实践性兼顾的课程,是计算机科学与技术专业的一门很重要的专业课,该课程在整个教学体系中占有非常重要的地位。通过对计算机算法系统的学习与研究,理解和掌握算法设计的主要方法,培养对算法的计算复杂性进行正确分析的能力,为独立地设计算法和对给定算法进行复杂性分析奠定坚实的理论基础[1]。
该课程不像其他记忆性的课程,它重在理解并能应用到实际中,是一门集应用性、实践性及创新性为一体的综合性课程。再加上这门课程相对枯燥、难度大,因此,对于很多教师来说,要想上好这门课程,成了一个很大的挑战。该课程要求教师要有扎实的数学和数据结构理论基础,还要有编程和科研经历,还要结合本课程的特点,采用适当的教学方法,才能使得学生把枯燥,难学的算法真正学会,并应用到以后的开发实践中。
本文根据笔者的教学经验,总结了一些教学方法,包括互动式教学,板书和多媒体相结合以及考核方式的改革等。
1 算法课程教学及学生学习存在的问题
现在,算法设计与分析课程在教学和学生学习方面都存在着问题,经过分析总结如下:
1)该课程难度较大:算法设计与分析课程中介绍的都是数学或计算机专业领域的经典算法,例如动态规划和分支限界法。单纯的算法思想比较抽象,课程本身难度较大,容易使学生对该门课程产生恐惧心理。
2)学生不感兴趣:现在大多数学生功利性比较强,学习一门课程时,希望它马上就能应用到实际中。比如学习了静态网页设计就可以做网站,学习了asp、jsp等动态网页设计就可以开发系统。学会了开发网站和系统,就可以找到工作。所以学生对这些课程很感兴趣。刚才提到的课程都是立竿见影,学完后都知道最终的目的,而算法设计与分析课程则不同。算法设计与分析课程属于高层次的课程,各种编程语言是它的先修课程。没有编程基础,没有开发经验,谈论算法就相当于纸上谈兵。因此,学生学习算法设计与分析课程时,他们感觉不能立即用上,甚至觉得与以后找工作没有太大关系。这种心理导致学生对该课程不感兴趣,紧紧抱着混学分的思想去学习,给教师授课带来了很大的困难。
3)考核方式不太合理:目前,在大多数高校中针对算法设计与分析课程采用的考核方式和其他课程一样,总成绩=试卷成绩*70%+平时成绩*30%。这里的平时成绩包括作业,考勤和课堂表现。这种考核方式只能反映出学生对理论知识的掌握程度,但无法考核出学生对知识的真正应用能力。采用这种传统的考核方式检验学生是否能把算法思想应用到编程中,无法学以致用。
2教学方法探讨
近年来,本人一直教授该门课程,现将自己教学过程中摸索的教学经验以及教学改革建议进行总结,希望能对广大教师有所帮助。
2.1互动式教学
讲授算法课程过程中,由于该门课程具有很强的逻辑性和抽象性,并且要求有较好的数学基础,很容易形成教师向学生的单向传输教学。这种情况下,课堂教学枯燥无味,学生没有兴趣去思考和回答教师的问题,以至于形成课堂气氛死气沉沉,教师自问自答的局面。
在讲课过程中,教师应时刻注意和学生的互动。互动式教学可以变传统教学中的单向传输式教学为双向互动式,这样可以提高学生学习该门课程的兴趣。兴趣是最好的老师,只有学生产生了兴趣,才能更好的掌握算法知识并应用到实际中。
教师实现互动式教学的方法有很多种,比如可以通过提问的方式。这就要求教师在备课时下功夫,而不是简单的备课本上的知识点,而是吃透每一个知识点,然后在相应的知识点上为学生设置相应的思考方向,提出问题,充分调动学生的积极性,让学生参与到课堂中来。同时,学生也会在枯燥的理论知识中寻找到乐趣。
2.2传统的板书教学和多媒体教学相结合,齐头并进
目前大多数高校计算机类的课程基本都使用多媒体进行教学。传统的黑板教学和多媒体教学各有利弊,我们应根据教学内容的需要,扬长避短,选择适当的教学手段,而不是因多媒体的方便性,将单纯的将黑板教学摒弃。在讲解算法课程过程中,更是需要两者的结合,才能收到良好的课堂教学效果。
采用多媒体教学的好处是可以加大课堂信息量,使得讲课更加形象生动。在讲解算法课程第2章中的插入排序,选择排序,归并排序时,就可以采用多媒体教学中视频教学。三种排序算法很抽象,单纯的靠讲述加上板书教学,学生很难掌握三种排序的算法思想,并且容易混淆。本人在讲解该部分内容时,从网上找到了真人以民族舞蹈形式来表现各种计算机排序算法的工作原理的视频。首先口头介绍某种排序的算法思想,然后在学生对此排序有初步了解的基础上,让其观看相应的视频,使得学生在轻松快乐的氛围中掌握了排序算法,收到了很好的教學效果。
有些情况下,掌握某些经典算法的核心思想需要教师采用传统的黑板教学,一步一步带着学生去推导,最终得到答案。如果此时采用ppt课件进行教学,就会加快讲课的进度,向下翻一页可能答案就会直接出来,没有给学生充分多的思考时间,没有在学生脑中留下深刻的印象。比如讲解棋盘覆盖问题时(如图1,图2),如果采用板书教学,一步一步去演示覆盖的过程,学生的思路经历了从有到无的过程,在循序渐进中掌握了知识。整个推导过程学生如同细细咀嚼了一个苹果,不仅尝到了味道,也吸收了营养。
2.3 重视上机练习
教室课堂上,教师向学生讲授的是算法的基本思想。算法仅仅靠掌握理论知识是不够的,必须把它应用到编程中,才能真正去领会算法的思想和灵魂。脱离计算机和编程去谈论算法就如同纸上谈兵,是不切实际的。
在教学过程中,教师至少应把1/3的课程分给上机实验课,只有给学生充足的上机时间,才可以将算法的思想应到实际中。当然,作为教师必须努力找一些难度合适的题目,让学生在实验课上完成,将教室课堂上学的理论知识有所应用。通过上机实际操练,促进学生真正掌握算法的精髓。
2.4考核方式改革
本文前面已经分析过现在算法课程大多数学校采用的是以纸质试卷为主的考核方式算作期末成绩,其实这种考核方式和课程的性质是互相矛盾的。算法课程是理论和实践都很重要的一门课程,传统的考核方式只能考查学生对理论知识的掌握程度。
本人对算法课程采用如下考核方式:
除常规期末试卷成绩外,实验成绩占的比例为40%,加大了实验成绩所占的比例。这样可以增强学生对实验上机课的重视程度,上机实验时,学生会比较认真,有助于他们能将算法的思想应用编程中,培养学生的动手和实践能力。
3总结
笔者结合近几年的课堂教学情况,分析了算法课程教学存在的问题,并针对这些问题提出了一些教学方法。当然这些方法还需要进一步的完善,进而使算法课程的教学质量能得到很大的提高。
参考文献:
[1] 李涵.“算法分析与设计”课程改革和实践[J].中国电力教育,2010(16):74-75.
[2] 王晓东.计算机算法设计与分析[M].北京:电子工业出版社,2008.
[3] 刘波.“算法设计与分析”教学探讨[J].高等理科教育,2007(4):78-80.
[4] 余祥宣,崔国华,邹海明.计算机算法基础[M].武汉:华中科技大学出版社,2006.
[5]马健.启发式教学法在课堂教学中的应用[J].中国电子教育,2008(3):68-71.