数据结构课程教学改革研究
2010-08-15黄治国
张 飞,黄治国,汪 洋
(黄淮学院 计算机科学系,河南 驻马店 463000)
数据结构课程教学改革研究
张 飞,黄治国,汪 洋
(黄淮学院 计算机科学系,河南 驻马店 463000)
文章对数据结构课程教学的改革进行了探讨,提出了其课程体系结构的构建方案,给出了一套应用型本科数据结构课程教学模式.
数据结构;课程体系;教学方法;改革
教师是教学活动的直接组织者和实施者,在教学中发挥着极其重要的作用.课程教学改革的关键是教师教育观念的转变.实践证明,教学内容的选择,教学方法的采用都会直接影响教学效果和教学目标的实现,影响着人才培养质量.数据结构课程是计算机学科的核心课程,是计算机理论与技术的重要基石,是计算机科学与技术人才素质培养框架中的中坚课程,对学生软件开发能力的培养至关重要,可为学生今后的专业生涯打下牢固基础.数据结构课程在大学二年级第一学期开设,具有承上启下的作用,既对学生学过的软件技术课程进行总结提高,又为后续专业课程提供基础.本文就课程教学内容体系、能力培养、教学方法、教学资源建设等进行探讨,找出适合应用型本科的课程教学模式.
1 构建先进科学的课程体系结构
数据结构作为计算机学科的专业基础课,应与本学科的问题求解理论和设计方法论相适应,准确把握课程体系的本质.
1.1 制订实施符合新技术要求的教学大纲
课程体系结构包含概念表述、构建数据模型、设计算法三个层面,突出数据组织方法与算法设计技术,将整个知识体系划分为核心知识集合模块与不同的扩展知识模块,以适应不同层次的教学需求.
(1)突出贯穿程序设计与软件工程的新技术.要引入抽象数据类型的概念来介绍数据结构新技术,集中体现分解、抽象和信息隐蔽的基本原则,展示由数学模型经抽象数据类型到数据结构的信息结构转换三个重要阶段,抓住抽象数据类型的中枢位置.
(2)制订符合新技术发展要求的课程大纲.要以训练构造性思维为重点,以强化程序抽象能力和培养数据抽象能力为指导,把握课程体系结构的本质.要适时修订教学大纲与实验大纲,以满足学科发展对课程教学的要求.
1.2 教学内容增进实用性
(1)选用有特色的数据结构新教材.教材建设是提高教学质量的基本建设之一.教材是大纲精神的具体实施,是知识点的载体.教材的科学性、先进性和实用性,为知识的传授和能力的培养奠定了良好的基础.根据课程技术性的特点,将教学内容分为三层次:第一个层次是基本概念部分;第二个层次是基本结构部分,包括线性结构(线性表、栈和队列、串、数组与广义表)与非线性结构(树、图);第三个层次是基本技术部分,包括查找与排序方法.按照三层次法组织的教材内容,包含许多精彩的经典算法,可为学习者继续拓展提供思路.
(2)补充与新技术接轨的实用性技术.由于计算机技术发展迅速,而教材内容与新技术接轨慢,这就要求教师要及时补充教材外的实用性新技术,引入面向对象的新观点,补充技术发展新内容,使教学内容与新技术接轨,增强实用性.
2 教学方法改革
根据数据结构课程的特点,教师在教学中应重点讲述基本概念、基本逻辑结构、基本的存储结构及经典算法,并注重其拓展应用.
(1)理论课教学.数据结构课程内容较抽象,在理论课的讲授中应注重提高学生主动学习的积极性.同时,利用多媒体辅助教学手段,把数据结构中抽象的算法执行过程动态模拟演示出来或供学生课后观察体会.这在一定程度上可化抽象为直观,使学生能更好地理解算法的思考过程.
(2)实验课教学.第一次上机实验应把本课程的编程框架用统一模板规划出来,引导学生学会编程,然后让他们上机调试,在这个基础上再不断增加功能,提出新的要求,激发学生的兴趣,对做得好的同学给予好评,并进一步提出更高的综合性要求.后续章节的内容可以参照这一模式实施,学到新的数据结构时,只要把相应的编码修改即可.同时根据不同基础、不同层次的学生提出上机实验不同的要求.
(3)习题课教学.教师要设计组织好习题课,根据不同基础、不同层次的学生提出不同的要求.这就要求教师要认真地了解学生,更深层次地研究学生的学习情况.
3 强化素质能力培养
数据结构课程的核心内容就是通过学习结构技术的过程,按照建构主义的学习理论,以学生为学习主体,在其与客观环境(指所学内容)的交互过程中构建学生的知识结构.教师应引导学生在解题编程的实践中探索规律性的认知,将感性认识升华到理性高度,从而培养学生算法设计能力以及创造性思维,培养举一反三、触类旁通的学习能力,以达到提高学生应用知识解决复杂问题的素质目标.
3.1 作业练习
书面作业是上机实习的基础.作业练习的目的是通过精心设计典型习题,启发学生自主完成习题、改造习题,使得学生在有限的时间内,掌握尽可能多的知识.教师要做到作业全收全改、收发及时,要明确指出作业中的错误点,并对具有技术难点的习题进行启发式讲解.
3.2 实习指导
课程实习着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养学生的动手能力.通过课程实习要使学生将书本知识学“活”,达到深化理解和灵活掌握教学内容的目的.
3.3 课程设计
课程设计重在培养学生软件设计的综合能力.数据结构课程的课程设计是进行软件综合训练的第一门课,它要求选用实用性的综合题目,采用学生个人进行和小组合作的方式,通过问题分析、总体结构设计、用户界面设计、程序设计实现与测试的一系列过程,培养学生动手实践、协作开发大型软件项目的能力,为后续专业技能的训练提供基础.通过课程设计的训练,突出构造性思维训练的特征,可提高学生的组织数据编写大型程序的能力,使学生能更好地掌握算法设计所需的技术.
3.4 考核方式
考核过程可采用全程化(平时考核、期中考试、期末考试)、立体化(课堂听讲、作业、自学、实习)、标准化(参照水平考试、等级考试等国家统一考试的命题要求)的新型考核体系.以此真实地反映学生掌握知识、技能的情况,充分发挥考核体系对学生学习的督促作用和引导作用.平时考核主要通过课堂提问、课堂抽查、小测验、作业情况、上机表现等环节进行;期中考试和期末考试采用标准化形式,增加水平考试要求的题型,把握课程内容的深度,加大算法理解与分析、算法设计、构造分析类、能力型题目的比例.
4 加强教学资源建设
为了丰富教学资源,应进行数据结构课程网站建设.在网站上,教师要提供电子教材、多媒体课件、网上考试与练习系统、试题库等相关资源.与教材配套的多媒体教学课件中具有复杂抽象算法的动态演示过程,通过实例化、可视化方式把抽象的概念形象化,突出了典型算法的本质.多媒体课件提供的选件控制方式可为教师教学的个性化发挥提供基础保证.
4.1 开发与教材配套、适合网上教学的多媒体课件
数据结构课程的难点在于对抽象算法本质的理解,制作的多媒体课件不能是教案的简单幻灯片.应利用Flash开发课件,以动画的形式来展现算法,并结合实例演示来加强学生对算法的理解.课件制作融入先进的教学理念,渗透模块化、数据抽象和信息隐蔽等新观点、新技术,用精练的文字、准确的图示描述基本概念,用直观的动画解释抽象的算法过程,既可以丰富学生获取信息的种类、方式,又有助于教师形象生动、深入浅出地讲解,便于学生从直观的感性认识过渡到理性的深入理解.
4.2 建设课程网上教学网站
在建成的数据结构课程辅导网站上,可提供教学大纲、电子教案、电子教材、课堂视频、多媒体课件、参考文献、联系教师、相关题库等丰富的教学资源,以增加学生学习课程的手段,拓宽学生的视野,为课内与课外学习相结合提供支撑,实现面授辅导与网上辅导相结合.通过论坛、E-mail等方式,实现师生、生生之间超越时间、空间限制的自由讨论,可大大提高辅导的效果和效率.
4.3 加强程序设计类训练平台建设
应深入开展程序设计类的课程建设,提供相关的加强程序设计的训练,并建设相关教学资源.建设数据结构精品课程网站,可提供师生交流与沟通的渠道,为数据结构学习提供有力的基础与支持.
[1] 吴文虎.计算机程序设计基础课程改革[J].中国大学教学,2004(2):13―14.
[2] 吴平,黄燕,黄岚,等.本科计算机专业课程体系改革初探[J].中国大学教学,2004(6):49―50.
[3] 侯晓霞,王玲,宋斌,等.构建合理的计算机知识结构——新世纪高校计算机基础教育改革的探讨[J].中国大学教学,2004(6):53―54.
[4] 徐德民.面向 21世纪高等工科教育教学改革的理论与实践[M].西安:西北工业大学出版社,1997:38.
[5] 孙泽文.行业、企业参与和高职院校人才培养[J].职业技术教育,2004(6):25.
〔责任编辑 牛建兵〕
G642.0
A
1006-5261(2010)05-0087-02
2009-12-29
河南省高等教育教学改革研究项目(187)
张飞(1974―),男,河南遂平人,讲师,硕士.