SCI论文(www.lunwensci.com):
摘要:《算法分析与设计》课程是计算机专业中的核心课程,其旨在培养学生分析和解决问题的能力。然而该课程理解起来较为抽象、涉及知识范围较广、实践性较强,导致学生学习热情和投入程度不高,难以达到课程的教学目标。针对以上问题,本文针对该课程的特点,从教学中存在的问题、教学改进措施以及措施的实施效果进行了相关讨论。
关键词:算法分析与设计;分类教学;翻转课堂;实例教学
本文引用格式:袁李萌子,等.《算法分析与设计》课程教学初探[J].教育现代化,2019,6(70):83-84.
一引言
算法在计算机科学和计算机实践中,扮演着重要角色。尤其是在当今大数据、人工智能的时代,算法与绝大多数科学、商业和技术都密切相关。《算法分析与设计》课程是学生解决问题和程序设计的基础,该课程重点为学生讲授计算机领域中求解实际问题的算法设计技术,并培养学生分析算法时间和空间复杂度的能力。更重要地,该课程的学习也培养了学生自主抽象问题、解决问题的能力,是学生从事相关行业工作的知识储备中不可缺少的部分[1]。然而在该课程传统的教学过程中,仍然存在以下几个问题。
(一)课程缺乏一致性
传统的《算法分析与设计》课程大多采用围绕问题类型进行分类教学,通常分成不同模块分别对排序、查找、图等算法来组织教学。这种分类教学方式的优点在于,对于解决同一问题的不同算法,学生能够立即比较这些算法的效率;其缺点在于,过于强调问题的类型,无法对许多重要的算法有组织的进行分类教学,而是另外对特殊的问题类型进行讨论。传统围绕问题类型进行分类教学的方法,会导致课程缺乏一致性,而且很容易让学生感到迷惑。
(二)教学方法传统过时
随着现代教学技术的发展,教师的教育教学方法也在发生着模式的改变,从原来的上课板书讲授的教学手段,转变为幻灯片与板书相结合的教学手段,但并没有真正改变“老师讲、学生听”这一模式。《算法分析与设计》课程中,理论教学占较大比重,加上有些算法知识偏重数学,理解起来较为抽象难懂,学生常常在上课时将注意力转移到电子设备上。如何调动学生的学习热情和投入精力,是该课程需要解决的问题。
(三)实践教学较薄弱
传统的《算法分析与设计》课程过于偏重理论教学,实践教学环节较为薄弱。该课程的考核方式主要考查理论内容,忽略上机环节,导致学生学习完课程后,仅能够理解算法的思想,而无法运用算法设计技术编程解决实践中的问题。为了真正培养学生解决实际问题的能力,让学生面对问题时主动思考、勤于动手,是该课程需要达到的核心目标。
二《算法分析与设计》课程教学改进措施
《算法分析与设计》课程教学过程中存在的问题不容忽视,它已经成为制约该课程改进的主要问题。针对《算法分析与设计》教学中课程缺乏一致性、教学方法传统过时、实践教学较薄弱等问题,本文将提出以下几个改进措施。
(一)围绕算法设计技术的分类教学
较之传统围绕问题的方式来分类教学,强调算法设计技术来分类组织教学,能够让学生更容易理解算法的某些设计策略及其重要变种。在这种分类教学方式中,即使算法来自于不同的计算领域,如果它们采用了相同的设计技术,就会被编为一组进行模块式的教学。新的分类教学法包含了某些新的设计策略,例如蛮力法、减治法、变治法、时空权衡和迭代改进;并自然覆盖了许多传统方法无法分类的经典算法,如欧几里得算法、堆排序、查找树、散列法、拓扑排序、高斯消去法、霍纳法则等,从而使得教学过程中能够以一种连贯的、一致的方式对这些经典算法的标准内容进行讲授。通过强调算法设计技术来进行分类教学,能够促使学生按照算法的内在设计方法对已知的众多算法进行分类,能够帮助学生挖掘不同应用领域的算法间的共性,能够引导学生充分运用这些技术设计出新的算法从而解决新问题。
(二)运用翻转课堂的启发式教学
根据文献[2-6]所述,作为一种混合式教学模式,翻转课堂将传统教学模式中“教师在课堂先讲授知识,学生课后完成知识内化”的结构颠倒过来,因此也叫“颠倒课堂”。将翻转课程运用在《算法分析与设计》课程教学中,有利于激发并维持学生学习的兴趣,增强学习的主动性。在课前,学生依据教师提供的资料(如教学视频及课件)进行自学,有针对性地掌握某些算法的基本概念并进行编程实现。针对课前自学遇到的疑惑和难点,教师在课堂上针对这些问题与学生进行讨论、解答,提高了教学效率,增强了教学效果。课前,教师自行录制视频来讲解教学内容,并将这些学习资料传给学生,可以让学生在课前就对课程内容有基本掌握,同时灵活的教学方式及优质资源也便于拓展课堂教学内容。学生课前就可以开始学习新的内容,无形中增加了课堂教学时间。课堂上,教师可以就重难点及学生的疑惑有针对性地开展教学活动,引导学生对问题进行思考,加强师生之间的探讨交流,提高课堂时间的利用效率,在这一过程中,学生基本可以完成知识的内化。课后,学生仍然可以根据教师提供的资料进行复习。
(三)结合典型问题的实例教学
《算法分析与设计》课程的许多内容偏重于离散数学,涉及到最优化方法等理论只是,比如动态规划算法、贪婪技术、回溯法、分枝界限法等,学生大多感觉这部分内容抽象难懂。事实上,这些算法之间存在着相似性,只要选择合适的典型问题进行实例教学,则能够将算法简单化、具体化。例如,回溯法和分枝界限法都是以构造一棵状态空间树为基础,树的节点反映了对一个部分解所做的选择,但两种设计技术的区别在于,分枝界限法只能运用于最优问题,而回溯法大多处理的是非优化问题。基于这两种设计技术的特点,选取0/1背包问题作为典型实例教学,学生则能够快速掌握两种算法设计技术的基本原理和算法步骤。
三《算法分析与设计》课程改进措施的实施效果
本人就所提出的三种措施,提出了一套以“围绕算法设计技术的分类教学”为主导,以“结合典型问题的实例教学”为思考模式,以“运用翻转课堂的启发式教学”为课堂教学形式的教学方法,并在实践中进行验证,取得了较好的效果。具体实施效果表现在以下几个方面:
1.学生能够探究式地进行算法的学习。本人在备课过程中,提前对学生学习的先修课程进行调研,包括程序设计基础(C语言)、数据结构、离散数学等课程,落实了先修课程所学习的内容,总结出需要进一步探究的知识点,进一步改革教学方法。根据学生参加编程竞赛获奖的实际情况,适当增加一些挑战性的问题,激发学生的潜力,引导他们用编程实现对具体问题的求解。经过一系列的教学环节,学生基本能够掌握主要算法的设计精髓,对给定算法进行时间复杂度和空间复杂度分析。给定具体的实际问题,学生基本会运用以下解题步骤进行问题求解,包括:(1)给出“常规式”解决方法(通常是蛮力法);(2)分析此种方法的时间和空间复杂度;(3)重新思考问题本身,找到可以改进的方法;(4)优化算法,给出算法的解;(5)通过编程实现算法求解过程。
2.学生对课程的学习热情和投入程度大大增加。传统的教学方式,常常会使学生陷入“理解+记忆”的学习思维定式,加上课程本身的学习难度,很多学生会觉得课业负担较重,从而导致学习兴趣不高。本人在课程的教学过程中,凝练出典型问题的经典案例,重点将算法与问题之间的对应关系、不同算法设计技术的区别和联系贯穿于算法案例的讲解中,从而使得学生能够深刻了解到算法的内涵,有兴趣地学习各类算法。另外,本人充分运用翻转课堂的教学方式,课前将一部分课程的内容布置到学生的大作业中,并让学生在课堂上以汇报大作业的形式对某些算法进行讲解,从而增加了学生对课程的投入时间,激励学生以更加认真的态度对待课程的学习。
四 结语
本文针对《算法分析与设计》课程的教学特点,围绕该课程教学过程中存在的问题,提出了相关的改进措施,并将措施应用到了实际教学中。《算法分析与设计》是计算机学科的重要课程,也是一门比较难的课程。教师在教学过程中应当充分运用教学手段,以算法设计技术为核心组织教学,在教学实践中以学生为中心,采用典型实例教学方法,最终培养学生学习算法的兴趣,提高学生分析和解决实际问题的能力。
参考文献
[1]高尚.“算法设计与分析”课程改革初探[J].计算机教育,2008(14):37-38.
[2]祝智庭,管珏琪,邱慧娴.翻转课堂国内应用实践与反思[J].电化教育研究,2015(6):66-72.
[3]张金磊,王颖,张宝辉.翻转课堂教学模式研究[J].远程教育杂志,2012,30(4):46-51.
[4]钟晓流,宋述强,焦丽珍.信息化环境中基于翻转课堂理念的教学设计研究[J].开放教育研究,2013,19(1):58-64.
[5]何克抗.从“翻转课堂”的本质,看“翻转课堂”在我国的未来发展[J].电化教育研究,2014(7):5-16.
[6]朱宏洁,朱赟.翻转课堂及其有效实施策略刍议[J].电化教育研究,2013(8):79-83.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/28131.html