APP下载

算法分析与设计课程中的“三化一体”教学方法

2016-11-10王丹付利华杜金莲

计算机教育 2016年7期
关键词:教学方法改革

王丹 付利华 杜金莲

摘要:具有抽象度高、理论与实际结合紧密特点的算法设计与分析课程是计算机类专业的重要课程之一,如何提升教学效果是教学组织的一个重大挑战。针对目前教学存在的问题,文章探讨如何进行教学内容和教学方法的改革,提出“三化一体”的教改思路,并围绕教学内容的设计、教学方法的改进、教学过程的组织等环节阐述具体的实施过程。

关键词:算法分析与设计;教学方法;改革

1.教学现状分析

经典算法的基本思想、分析设计方法和实现技术是算法分析与设计课程的重点讲授内容,要求学生能够进行时间和空间复杂性分析。这些经典算法包括:分治法、动态规划、贪心法、分支限界法、回溯法等。由于算法是问题的程序化解决方案,所以研究算法需要经过理解问题、确定问题的条件和应用范围、建立相应的数学模型、开发相应的求解算法、证明算法的正确性、分析算法的效率等步骤,最后采用合适的程序语言,编制相应的软件代码。这一系列复杂的过程以及算法本身具有的高度抽象等特点,为教学带来了一定的挑战。在教学过程中我们发现:师生课堂互动不足、学生的学习兴趣低、学生的主观能动性无法得到激发,导致多数学生对算法的精髓理解不到位,只能机械地记忆算法的步骤,不能灵活地解决碰到的问题。如何根据学生的知识基础,通过课内教学和课外学习的有机结合,激发学生积极思考、参与课堂讨论,达到学生有效理解、分析与设计相关算法并加以灵活应用的教学目标,是教师在教学过程中需要不断深思的问题。

2.“三化一体”的教学模式

2.1算法引入“例题化”

经典算法的基本概念、基本原理和基本方法及其实际应用是本门课程的教学重点,因此算法分析与设计的理论学习和解决实际问题是密切相关的。为了使抽象的算法变得具体化、形象化,便于学生体会和理解,并增强其学习兴趣,算法设计与分析课程的教学组织需要精选典型的教学实例。

教学内容“例题化”的指导思想就是将知识点融汇在具体的、贴近生活的例题中,通过具体实例让学生理解算法的基本思想、分析原理、基本概念、适用条件等,提高学生的学习兴趣及主观能动性,加强师生问的互动。在精选实例的过程中,尤其注重培养分析及解决问题的思想方法,按照“设计例题-提出问题-分析问题-开展算法设计-进行算法比较-得出结论”的讲授层次,形成各环节精密衔接的讲授主线。在启发学生提出问题的教学实例的设计上下功夫,就能引人人胜,激发学生思考,产生互动效果,然后在整个教学过程中层层展开、有序递进,通过比较、思考和消化,就能使学生较好地接受所学知识。

算法分析与设计课程涉及的_些经典案例的代码已经存在,但在教学的实际使用中并不一定能够原样照搬,这就要引导学生在积极思考之后,在应对实际的问题时,通过改进大体相似的算法进行更深入的学习,获得深层次的知识。因此,在讲授算法设计与分析的经典技术和案例的同时,进一步结合项目工程中的实例和当前算法研究中的最新进展来阐述该课程的理论和应用背景。例如,社交网络中的结构分析、生物信息学中的基因序列比对、智能交通中的目标识别与追踪等都是目前算法的热点研究课题。这些研究领域不仅要求编制高效的算法,还要关注相关问题的求解算法的有效性和高效性。因此,在进行算法设计与分析课程教学的同时,通过有选择地结合这些领域的研究热点,将该课程的教学内容置于具有时代背景的实际问题环境中,促进学生对所学知识的重要性和应用背景的认可,才能更好地激发其求知欲和探索欲。

2.2算法讲解“多样化”

如何在课堂上把抽象的算法讲解变成形象具体的实例分析,提高学生对算法的感性认识,使用多样化的教学方法必不可少。在课堂讲授中,要求教师多采用问题导人式、启发式、讨论式等教学方法,以问题讲解为核心、以算法思想与方法教学为重点、以解决应用问题为目标,不仅要注重算法思想的表述和算法的分析及实现,还要强调算法的比较,以促成学生掌握算法设计与分析的基本理论和方法,培养学生抽象思维、计算思维力、发散思维等方面的能力。

在实施多样化算法讲解时,第一个重要环节就是如何设计一系列具有启发性的提问,并围绕教学重点和难点,前后呼应形成闭合回路。其中的问题应蕴含:算法的起源是怎样的、可解决的问题是哪些;算法的基本思想、组成要素的理解;算法的应用场景;与其他算法的区别;时间和空间复杂度的要求等。通过这些环节的学习使学生达到举一反三、触类旁通、掌握算法所体现的思想的教学目标。尤其是引入生活中具体实例,可提升学生面对具体问题时应用所学知识给出切实可行的解决方案的应用能力。

同时,在每一堂课中留出专门的时间开展课堂讨论,鼓励学生就教师或同学提出的问题进行讨论,然后互相补充或质疑。教师则通过仔细分析学生发言,从学生模糊的表达中提取出实质性的观点,指正其存在的问题,并对其中合理的部分给予充分的肯定。每次授课留出适量的时间进行课堂讨论,调动学生的学习兴趣,推动学生由被动学习变成主动学习,使教与学有效呼应。

“多样化”的教学方法相结合,在教学观念上强调了两个转变:一是从以“教”为中心转到以“学”为中心;另一个是从知识传授到能力培养,促成了从灌输知识为主到提高能力为主的教学目标的达成,提升了课堂教学效果,将课堂变成了师生共同活动的场所。

2.3算法分析“差异化”

算法性能分析是衡量算法优劣的重要过程,通过算法分析可以进一步帮助学生理解影响算法性能的常见因素,有助于其在下一次算法设计过程中形成更优秀的算法。因此,在教学过程中,在讲授新的算法时,教师除了注意讲解算法本身,还要强调多种算法的分析与对比的有机结合,培养学生的发散思维能力。例如,在算法讲解的例题选择方面,设计具有多种求解方案的例题,要求学生使用不同种类的算法进行描述。通过比较学习,加深学生对不同算法的理解,更好地消化理解不同算法的设计思想的实现细节,体会不同算法的差异。例如,教师会分别用贪心算法、回溯法、分支限界法来分析解决最短路径问题,使学生更深入、直接地理解算法的作用,做到举一反三、增强体会,激发学生的探索欲望,也使学生理解到算法设计与分析理论授课时重点强调时空效率的原因,并在这方面养成自觉的学习习惯。

另外,还要启发学生如何在实际的问题中选择和运用多种算法。例如,有些问题可以使用贪心算法解决,也可以使用动态规划算法解决。那么在实际的解决问题中,到底使用哪个呢?那就必须根据实际问题及其要求进行选择。

在教学过程的设计方面,也充分考虑到学生知识基础的差异性,遵循循序渐进的策略,按照基础性、综合性两个层次进行分层次教学,让学生在难度循序渐进的过程中完成分析和设计任务,期望随着课程的深入进行,培养学生的兴趣。

3.结语

算法分析与设计能力的养成对计算机类人才的培养具有很强的支撑作用,如何在教学中注重总结规律,使学生举一反三、有效应用是教学获得成功的关键。在算法分析与设计教学中对“三化一体”的教改思路进行了探索,提出了“围绕问题的讲解,将算法思想、算法表述、算法实现、算法比较有机结合”的课程建设思路,研究了“三化一体”的教学模式,重点围绕着算法引入“例题化”、讲解“多样化”、算法分析“差异化”,并融“教、学、用”为一体的教学活动进行研讨。实践证明,基于“三化一体”的“教、学、用”措施互为补充,提升了课程的教学质量。

猜你喜欢

教学方法改革
基于gitee的皮肤科教学方法研究
高职院校音乐选修课信息化教学方法与实践探索
THE XIAOGANG EXPERIMENT
《计算方法》关于插值法的教学方法研讨
《计算方法》关于插值法的教学方法研讨
小学语文字理教学方法探析
一图读懂供给侧改革
改革创新
改革创新(二)
“改革”就是涨价吗?