当前位置:众信范文网 >专题范文 > 公文范文 > 计算机算法课程的任务驱动式教学探索与实践

计算机算法课程的任务驱动式教学探索与实践

时间:2022-10-21 11:05:23 来源:网友投稿

【摘 要】随着我校本科教学质量工程改革的开展,针对计算机算法课程存在的问题,本文提出了“任务驱动式”的教学改革,即在算法教学采用“提出任务→讨论→讲授→练习”模式。本文对该教学模式进行了详细的阐述。我校本年度的教学实践中该教学模式取得了较好的效果。

【关键词】计算机算法;任务驱动教学;教学改革

0 引言

计算机算法是高校计算机专业高年级学生与研究生的一门重要专业课程,同时也是一门与计算机有关的非计算机专业如管理信息、系统工程、应用数学的专业课[1]。课程的教学目的是学会应用算法解决计算机领域中常常遇到的实际问题,设计与分析各种算法的基本原理思想、方法与技术。通过本课程的学习能够使学生掌握各种算法的基本思想,培养对算法复杂性进行正确分析的能力,为独立地设计算法和对给定算法进行复杂性分析奠定坚实的知识基础,进而为其编写出高效程序、开发出优秀软件系统奠定基础。算法是程序的灵魂,它给出解决问题的一系列步骤,是程序设计的核心部分。讲授的具体内容包括算法的基础知识,包括抽象计算模型、算法基本概念、算法复杂性分析基础;算法设计的基本方法,包括递归与分治法、贪心法、动态规划方法、回溯法、分支限界法等。

在计算机算法的教学中,如何开展好课程的教学改革、提高教学方法是我们应该认真思考的问题。我校的提高本科教学课程质量工程项目中把计算机算法列入了教改项目。针对该课程难度大和学生学习兴趣差的特点,在教学中引入了任务驱动式教学模式。经过了一学期的教学实践,取得了较好的教学效果。

本文安排如下:第1节描述算法课程的现状和存在的问题;第2节介绍任务驱动式教学在算法课程如何实施;最后一节给出结论。

1 计算机算法教学中存在的问题

1)计算机算法课程具有知识点多,内容涉及面广并且学习难度大。该课程其前驱课程离散数学、程序设计、计算方法、数据结构等联系紧密[2]。另外需要有一定的数学基础,对学生的抽象思维和逻辑思维能力要求高,同时实践性强等特点,使得许多学生学习该课程感到相当困难。

2)在算法课以往的教学中,以传统的教师单一的讲授教学为主,讲解算法的基本思想和案例应用。加上该课程本身难,学生的学习动力不足,在课堂的参与性差。导致学生缺乏学习兴趣,教学效果不好。

3)计算机算法除了具有较强的理论性,同时也是一门实践性强的课程[3]。通常的算法教学对实践这部分是通过上机来实现。而上机实验通常为验证型实验,即把课上讲过的算法案例的伪代码编程序实现。对学生的算法设计能力没有本质上的提高。

2 任务驱动式教学方案探索

2.1 任务驱动式教学

任务驱动教学法是一种建立在建构主义学习理论基础上的教学法,它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维互动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态,在这个过程中,学生会不断地获得成就感,可以更大地激发他们的求知欲望,逐步形成一个感知心智活动的良性循环,从而培养出独立探索、勇于开拓进取的自学能力。任务驱动是一种有效的学习方法。对学生而言,学生的积极性得到充分的发挥,学生的素质也得到相应的提高。从教师的角度说,任务驱动教学可以使课堂教学过程充满了民主,课堂氛围真正活跃起来,增强师生互动。

在任务驱动教学的具体实施中,算法要解决的实际问题就是教学中的"任务"。要将具体的算法思维融入到"任务"中,以任务为主导,引导学生用算法设计策略自行探究解决方案。让学生感觉到一种有自身参与的动态的学习过程,充满了兴奋和乐趣。改革课堂问答方式,在单向的老师向学生提问的方式基础上增加学生向老师提问和学生间互相讨论的方式。自主地找到解决问题的方法后再由教师讲授和点拨要点。

2.2 教学内容改革方案

在我们质量工程教学改革中,进行了针对算法课程任务驱动式教学模式探索,总结为“提出任务→讨论→讲授→练习”。这种模式归结为以下几点:任务驱动、问题引导、讲授与讨论结合。具体地,以算法课程的两个动态规划算法和贪心算法为例,给出相应的教学方案为:

动态规划算法来源于优化问题,需要设计问题的数学递推表达式。普遍认为动态规划算法是一种较难的方法。针对这一特点,我们也提出问题,设置任务为在两个矩阵相乘的算法基础上,如何解决需要最少数乘次数的多个矩阵连乘问题。讨论并引导学生通过将原问题拆分子问题的方法通过动态规划方法分步骤求解。通过该任务的解决讲述动态规划算法的基本思想和步骤。之后通过其他几个问题,包括0-1背包等典型案例掌握动态规划方法。

相比于其他算法,贪心算法是解决优化问题的一种简单方法,来源于一种直接朴素的思想-贪心选择。为了让学生快速掌握贪心算法的思想,首先选择日常生活中找零钱问题,如何找零钱速度最快?这一问题和学生生活紧密相关,学生很感兴趣,课堂积极参与,快速给出解决方法。老师再由该任务的解决引出贪心算法思想,学生能很快理解并对其他案例加以应用。

在每一章节的提出任务,讨论讲解后,为了让学生巩固所学的知识,我们也设计了课堂练习的环节。针对一些典型案例的具体应用,让学生利用所学的方法设计并给出结果。

另一方面,增加课程设计环节,这一部分课下完成。由教师结合课堂讲授内容布置任务,让学生根据任务描述,自主探索问题解决方案,上机实践并提交程序代码。通过课堂教学和课程设计两个环节的任务驱动,让学生自主探索地掌握算法分析方法和常见的算法设计策略,并应用到实际问题中,训练学生实践能力,以达到教学目标。

2.3 教学评价的多元化

以往的课程考核方式采取的是平时成绩与期末考试成绩按一定权重求和的评价方式,在考试内容上重视概念和案例的计算,无法反映学生综合知识的学习情况,忽视学生应用知识分析、解决问题的能力的考核。

我们的新建立考核方式为:平时成绩(10%)+考试成绩(70%)+课程设计(20%)。平时成绩包括考勤和课堂练习;考试沿用传统的笔试试卷的方式,重在基本知识的考核。课程设计则是应用所学的算法知识解决几个实际问题,包括问题分析,算法设计,复杂度分析和程序实现。这种设计式的考核可以考察学生的综合应用能力。

2.4 实践效果初步评估

计算机算法的任务驱动教学方法在我校今年的算法课程授课中进行了初步实践。在课堂教学中由于在讲授中设置了任务,学生的学习兴趣明显提高,在课堂讨论中积极思考,互相交流,对于较难的知识点能够较过去能够更轻松的理解。在期末考核的成绩统计中,优良分数段的人数有所上升,不及格率有所下降。结果显示采用该教学模式教学效果得到初步肯定。

3 结束语

《计算机算法》是计算机专业的核心课程,具有较强的理论性和实践。针对当前教学中存在的一些问题,我们在教学改革中提出了任务驱动教学方法教学模式,根据不同的讲授内容设置不同的任务。此方法在教学实践中取得了较好的初步的教学效果。在今后的算法教学中,我们会探索、总结和完善教学方法,增强学生的学习能动性,提高算法的分析和设计能力,为以后进一步学习和发展打下坚实的基础。

【参考文献】

[1]孙红丽,叶斌.浅谈算法设计与分析课程的教学改革[J].太原教育学院学报,2005,23(04):54-56.

[2]王素立,白首华.算法分析与设计教学方法[J].湘潭师范学院学报,2005,27,(03):124-127.

[3]陈明.计算机算法基础课程教学改革的研究与实践[J].福建电脑,2011(01):23-25.

[责任编辑:陈双芹]

作者简介:李蓉(1973—),女,山东人,博士,北京物资学院,副教授,研究方向为人工智能方法及应用。

推荐访问: 算法 探索 实践 驱动 式教学