民办独立高校课程群建设中的数据结构课程教学改革的探索
2016-12-19周晓宁胡嬿
周晓宁+胡嬿
摘要:“数据结构”是计算机科学与技术专业的核心课程,本文从民办独立高校课程群建设的角度出发,提出了“数据结构”课程教学改革的思路;探讨了在课程群中“数据结构”与其他课程之间的关系,提出了该课程在理论教学环节和实践教学环节的改革方案。
关键词:课程教学改革;课程群;民办独立高校;数据结构
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)46-0073-02
高等教育是培养高级专门人才的主要社会活动[1]。随着社会的不断发展,承担高等教育工作的公办高校已不能满足日益增长的就学需求;作为补充,民办独立高校为社会提供了高质量本科层次的大众化高等教育服务[2]。民办独立高校办学灵活,直面社会和职场,以培养高素质应用型人才为目标,因此其教育模式与传统公办研究型高校有所不同;这一差异也直接体现在其教学活动中。
课程是教学活动的组织方式,是实现教学目标的基本途径,因此课程建设直接关系到人才培养的质量,是高等教育改革的核心[3]。本世纪90年代以来,作为高等教育改革的热点问题之一,高校课程建设中的重要一环,课程群建设逐渐引起人们的重视。
课程群(以下简称课群)是某一学科内的诸多课程的集合,是“从属于某个学科,相互间性质相关或相近,如相承、渗透、互补等课程的集合体”[4]。显然,课程是课群的要素;课程教学改革则是从微观角度,以某一课程为对象,以提高教学效果为目标,对课程的实施手段和教学方法进行改进。
本文以南京航空航天大学金城学院(以下简称南航金城学院)信息工程系“数据结构”课程教学改革为例,探讨在“数据结构和算法”课群建设中“数据结构”课程教学改革方案的实施。在不改动课程原有学时的前提下,通过调整该门课程的具体教学内容和方法、考核方案,达到优化课程知识体系,提高教学质量的目的;同时满足民办独立高校因材施教、分层次、多渠道的人才培养模式的要求。
一、数据结构和算法课群的建立
“数据结构和算法”课群是以南航金城学院信息工程系计算机科学与技术专业的人才培养计划为指导,包含“离散数学”、“数据结构”、“数据结构课程设计”以及“算法设计与分析”四门课程;具体课群体系结构如图1所示。
其中“数据结构”是计算机科学与技术专业的专业基础课程;是“算法设计与分析”的重要先修课程。其教学目标是通过分析数据的结构特性,为具体应用(例如,建立用户广告服务系统)涉及的数据选择适当的逻辑结构、存储结构及其相应的解题算法;同时涉及算法的时间、空间效率分析技术。整个课程同时也是一个复杂程序设计的训练过程;要求学生编写的程序结构清楚,正确易读,符合软件工程的规范。而这一要求也直接体现在“数据结构课程设计”的实践教学过程中。“算法设计与分析”是计算机科学与软件工程中的核心研究领域之一。许多实际问题的求解都依赖于有效算法的设计与实现:如用户广告服务系统等一旦深入下去就能够被描述成一组以网络流为模型的问题[5]。“离散数学”是研究离散量的结构及其相互关系的数学类课程。“离散数学”在计算机科学与技术领域有着广泛的应用,同时也是“数据结构”和“算法设计与分析”的重要先修课程。
在课群建设中,首先处理数据结构和算法之间的关系,离散数学与数据结构、算法之间的关系;其次以数据结构为主线,结合算法设计技术对如何选择数据结构的教学内容进行分析,灵活处理离散数学中的基础知识,突出算法设计的中心思想,强化实践教学环节。整个课群建设遵循:“单门课程建设→课群建设”模式;以单门课程教学改革为点,课群建设为线,专业建设为面。“点、线、面”逐步推进,从而达到优化课程知识体系,提高教学质量,满足民办独立高校高素质应用型人才培养的目标。
二、数据结构课程改革方案
1.理论教学改革。“数据结构”课程的理论教学内容主要包括:线性结构、非线性结构、查找和排序三大部分。其中前两部涉及线性表、栈和队列、字符串、数组和广义表、树和二叉树、图等多种基本数据结构。在实际教学中,任课教师多遵循“逻辑结构→存储结构→相关操作”的主线,对所涉及的知识点进行逐个讲解。查找和排序部分,则罗列出多种不同的解决计算机查找和排列数据的算法,讲解时需要比较不同算法在时间和空间上的性能差异。针对“数据结构和算法”课群建设的要求,“数据结构”课程的理论教学内容和教学方式做了如下调整:
(1)以实际案例为主线,将各个知识点串联起来。比如,在讲授图的应用时,最短路径算法是重点也是难点;不仅因为知识点本身在原理的理解上较为困难,同时学生也不太能够接触到该算法的实际应用。因此在实际教学过程中,以“游戏地图的查找”为例说明该算法,并强调图的结构特性(逻辑结构、存储结构以及涉及的基本操作);这实际上是一种案例分析方法。
(2)强调课程间的知识点的衔接。例如,讲解最短路径算法时,将案例(交通咨询系统)的实现,放置在“数据结构课程设计”的实践环节中;该算法的正确性证明则在“算法设计与分析”课程中给予解释。又如,讲解快速排序和简单交换排序时,重点让学生能够区分不同算法的执行步骤;着重强调程序本身的特性,操作对象的特性等涉及数据结构的知识点。而算法时间性能的比较则放在“算法设计与分析”课程中来解决。此外,“离散数学”中图论部分的知识点教学也需要和“数据结构”中图部分的知识点教学内容相衔接。
(3)在课程考核上增加平时成绩,提高理论知识点的实际掌握程度的考核比重;避免一次考试成绩定成败。将最终的考核总评成绩分为三部分:平时成绩(课后练习成绩、课堂回答问题成绩、出勤率等综合考评成绩)占总成绩的20%;上机实验环节评分(线性结构、非线性结构、查找和排序)占30%;结课考试(笔试)占50%。总体评分标准中,理论知识点的实际掌握程度通过实践环节来进行考核;对不同学生进行差异化教学(能力强、对知识点理解深入的学生可以选择难度较大的案例来实现)。事实证明,在2015年秋季的实际教学活动中,取得了较好的教学效果,很多同学的学习积极性被调动起来了;课堂回答问题的热情较高,同时课后提问的次数也明显增多。
2.实践教学改革。与“数据结构”课程密切相关的实践教学环节主要分两部分:一是理论课程中的实验上机环节;二是“数据结构课程设计”环节。将“数据结构”理论教学内容所涉及的应用案例分别安排在两个实践教学环节中,要求学生编程实现。同时,另外再增设多个较为复杂的典型案例实现。
在实践教学内容设置上,不但系统地阐述了“数据结构”的基本原理,同时也给出了一些的典型案例。每个案例的叙述完全按照解决实际问题的思路进行,这对学生如何面对实际工程项目问题有着很好的启迪作用。
三、结论
“数据结构”这门课程的开设如何满足民办独立高校的人才培养目标,如何满足课群建设的实际要求,是一个值得不断探索的课题。本文从南航金城学院信息工程系计算机科学与技术专业核心课程“数据结构”的课程教学改革出发,从课程的理论教学和实践教学两方面进行探讨,提出了相应的改革思路。在2015年秋季的实际教学过程中,取得了较为明显的效果。显然,学生不但获得了扎实的理论基础,同时也掌握了一定的专业技能:以数据结构知识为基础,分析案例、解决实际问题的能力。
参考文献:
[1]杨树勋.现代高等教育学[M].北京:化学工业出版社,1999:97-98.
[2]齐凤和.民办独立学院的四大困惑及解决途径[J].现代教育科学:高教研究,2005,(6):53-56.
[3]黄伟娣.课程与课程建设[J].杭州师范学院学报,1994,(5):116-120.
[4]李慧仙.高校课程群的建设及评审体系[J].理工高教研究,2006,25(5):124-126.
[5][美]克林伯格.算法设计[M].北京:清华大学出版社,2007:123-124.