巩 微
摘要:本文以《数据结构》课程为例,从课程设置和教学内容、教学手段和教学方法等方面,探讨了在新时期下计算机专业基础课教学发展的有关问题。分析了在教学过程中,如何注意培养学生的学习兴趣,注重理论联系实际,培养学生的创造性思维,以提高学生的自学能力和课堂教学效果。
关键字:数据结构 教学改革 教学方法
一、引言
计算机专业基础课是学好后续专业课的基础,我们要给予十分的重视,使学生真正具有扎实的理论基础。其中《数据结构》课程是计算机科学与技术专业本科学习中的一门专业基础课,也是一门重要的专业核心课程,同时该课程也是计算机类专业“考研”和全国计算机等级水平考试的必考科目,而且正逐渐发展成为众多理工科专业的热门选修课。学好《数据结构》课程,将为后续的计算机专业课程,如数据库系统、操作系统、编译原理等,打下良好的知识基础,而且还为软件开发和程序设计提供了必要的技能训练,在今后的计算机专业课程的学习中游刃有余。因此,提高《数据结构》等计算机专业课程的教学质量,有利于教学改革和教育创新,有利于创新人才的培养。笔者从事10余年《数据结构》等计算机专业课程的教学,在工作中积累了一定的教学经验,在此与同行们共勉。
二、关于课程教学改革的几点探讨
(一)加强对专业基础课的前续课程的教学质量的重视
随着计算机科学与技术的发展以及社会对高水平人才的需求,为了提高教学质量,我们应从总体上优化课程结构,拓宽专业基础,加强教学实践,注重综合素质的培养。
以数据结构课程为例,它作为一门重要的专业基础课,它的前续课程至少应掌握一门高级语言(如C语言、C++、Pascal、Java等)。目前大多数学校的数据结构课程多采用C语言描述,我们在教学过程中发现,随着招生规模的扩大和学生素质的降低,部分学生在刚步入大学校门时对于大学的学习方法还没有很好的理解和掌握,C语言的学习质量不高,这样导致在数据结构的学习中,学生对简单的编程还不能够理解和上机实现,对抽象的数据结构没有整体的认识,学生特别怕编程实现抽象的数据结构,以至于对后续课程的学习失去信心,造成这门课程的学习成了机械地背概念和套模式,更谈不上自主学习和创造性学习。
因此,为了尽量避免上述情况的发生,我们教师及有关学生管理工作人员在大学一年级就要对学生传授学习方法,注重基础课教学质量的提高。对于高级语言的教学,特别强调实践环节教学的重要性,例如在课程考核中适当加大上机考试所占的比例,以更好地加强学生的实践上机能力。
(二)增强学生对课程地位及学习目标的认识
数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程[1],教学目标是要求学生学会分析数据对象特征,掌握数据组织方法和计算机的表示方法,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及相应算法,初步掌握算法时间空间分析的技巧,培养良好的程序设计技能。数据结构的核心技术是分解与抽象,通过分解可以划分出数据的三个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。类似地,通过分解将处理要求划分成各种功能,再通过抽象舍弃实现细节,就得到运算的定义。上述两个方面的结合使我们将问题变换为数据结构。这是一个从具体(即具体问题)到抽象(即数据结构)的过程。然后,通过增加对实现细节的考虑进一步得到存储结构和实现运算,从而完成设计任务。这是一个从抽象(即数据结构)到具体(即具体实现)的过程。熟练地掌握这两个过程是数据结构课程在专业技能培养方面的基本目标。
上述内容需要在课程开始给同学们详细介绍,这样能使同学们在思想认识上更好地重视课程的学习,更好地理解计算机专业的课程体系结构。在实际教学中如果发现有的同学不能马上完全理解,我们将在后续的教学中继续给同学们讲解和灌输,使学生充分了解此课程在本专业以后学习和实际应用中的地位与作用。
(三)充分地合理使用多媒体教学方式
在传统的课堂教学中,一般采用的是“教师——黑板——学生”的教学模式,这对大多数教师和学生来说,“教”和“学”很难在课堂中得到良好的协调,课堂时间不够紧密,学生觉得枯燥、不生动,这样也就难以对教学内容进行及时而有效地消化,从而使教学效果受到影响。但是这种教学手段也有优势,大部分学生在把老师黑板的板书记到笔记本的过程,实际上又多了一遍记忆与理解,容易发现问题,提出问题。(www.daowen.com)
现在,我们大多是采用多媒体课件形式作辅助教学,多媒体教学法具有单位时间内的知识信息量大,内容丰富生动的特点。多媒体教学在教案设计、备课方法、上课方式等方面都有别于传统教学手段,最重要的是它带来了教学观念、教学思想和教学方法的变化。在数据结构的教学中,我们对抽象的数据结构辅之以形象的动画,不仅能提高学生的学习兴趣,也加深了学生对抽象概念的理解。多媒体教学在讲具体的算法实现方面显得特别优越,可以先给学生讲解算法,然后给出数据来执行算法,学生一边对照着语句一边执行观察数据的变化,或用动画演示执行过程。尤其对于递归算法,传统的黑板讲解递归算法很不方便,而且算法的执行过程不易理解。采用动画演示递归算法,生动、形象,学生很容易看出何时发生递归调用,何时返回到上一层调用处。但是,如果这种教学方法使用不当,教师在课堂上只是一页一页的翻教案,学生来不及理解和吸收,也会出现有些学生把注意力放在了动画效果等方面,看热闹,而不是看门道,本末倒置。
例如,对于公式的推导或定理的证明,必须采取电子教案和板书相结合的方式。以二叉树性质的证明为例,如果把证明过程只用幻灯片显示出来,这样推导的过程不清晰,证明的方法不易被学生掌握。因此我们可以采用以多媒体教学为主,传统教学为辅的多样化教学手段,扬长避短,尽可能地提高教学质量。
(四)精心设计教学内容,重视实践教学
为了有效地组织学生学习,教师尽可能讲解一些与实际应用联系比较紧密的实例,例如在数据结构的队列教学中,我们可以配以实例——舞伴问题,该问题具有典型的先进先出特性,可用队列作为算法的数据结构,再利用多媒体技术动态演示其复杂数据结构的变化,并补充学生比较感兴趣的知识,这样不但深入了教学内容,加强了学生的学习兴趣,同时还增强了课堂内容的紧密性。
上机实验对学生是一种全面综合训练,是与课堂听讲、课下复习和作业练习相辅相成的不可缺少的一个教学环节。我们可以将数据结构众多知识点归纳成若干个实验单元,每个单元都精心设计多个实验题目,内容的编排方面尽量选取经典实例,力求新颖,吸引学生的兴趣;对每个具体的实验题目要求学生给出完整的问题描述、数据描述、算法描述和程序源代码以及调试分析结果。通常,实验题中的问题比平时的习题复杂一些,也更接近于实际,可进一步培养学生的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和掌握教学内容的目的。
在教学工作中,尽量避免空讲理论,就具体问题的求解来讲可能会取得意想不到的结果。传统的程序设计对结果比较重视,过程往往被人忽略。其实,问题求解的过程才能如实地反映出一个人的思想方法,正确的思想方法恰恰是学好数据结构等课程的必要条件。
(五)积极探索研究性教学模式
我校要向研究性大学转变,除了研究生教育外,在本科生中探索研究性教学的规律显得更为重要,因为只有创新性的、有研究能力的本科生,才能成为一流的研究性人才(包括研究生),以提高我校的整体科研水平。
目前,大学教学大部分仍然采用的是“灌输式”的教学模式,即老师在上面讲,学生被动地听,师生之间缺少足够的互动。为提高学生的积极性,改变目前的“灌输式”教学模式,我们在数据结构教学中开始逐步探索“研究性教学”的规律,试图向“双向式、启发式、主动性、创新性”教学方法转变。比如,对于数据结构和算法采用“实例法”或“动画法”,即从一个具体例子引出相关的数据结构或算法问题,或通过一个动画过程先使学生对算法的基本原理有一个总的理解,再开始算法细节的描述。在描述算法时,我们又经常采用一种“自顶向下”的方法,先给出算法的总体步骤,然后逐步细分解析每个步骤。在课堂教学中,通过提出问题让学生思考,或者让学生上讲台来解决问题、编写程序,或者让学生展开讨论,或者留给学生课后的一些思考性的问题,或者将科研中的相关问题拿到教学过程中来说明数据结构原理是如何在实际科研中运用的,以提高学生的学习积极性。
对于一些刻苦钻研的学生,我们鼓励他们做一些力所能及的研究性小课题,比如有的同学将数据结构课程中的迷宫问题和八皇后问题编写成生动的动画程序,效果非常好;有的学生将数据结构的数组存储方式用到图形学的研究中等等。通过小课题问题的研究,提高了学生解决实际问题的能力,调动了学生学习和研究的积极性,培养了学生的科研素养,使理论和实践教学得到良好的结合。
三、结束语
数据结构等课程是计算机相关专业重要的理论基础,其他许多计算机科学领域都是建立在这个基础之上的。专业基础课的教学有着特定的教学规律和自身的特点,为了提高教学质量,需要不断地改革教学方法与手段,倡导因材施教,强调知识的总结、梳理、推演和挖掘,通过加快教案的不断更新,使学生掌握教材中未能及时反映的学科发展新动向,进一步拓宽视野。所以,除了传统的行之有效的教学方法之外,还应该采用一些有专业特色的教学方法。
计算机基础教育课程体系及教学内容根据计算机技术的发展和社会实际需要,正在不断地进行改革和调整,与时俱进。计算机基础教学改革是全球教育大改革的前提和基础,是信息社会发展的基本要求和必然结果。加强计算机基础教育是信息社会可持续发展的基本保证,也是面向21世纪人才培养的重要内容。
【注释】
[1]严蔚敏、吴伟民:《数据结构》(C语言版)[M].北京:清华大学出版,2004。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。