地球信息科学与技术专业《数据结构》课程教学初探
2011-10-09刘玉芳宋金星
刘玉芳,宋金星
1. 河南理工大学资源与环境学院,454003;2. 河南理工大学能源科学与工程学院,454003
地球信息科学与技术专业《数据结构》课程教学初探
刘玉芳1,宋金星2
1. 河南理工大学资源与环境学院,454003;2. 河南理工大学能源科学与工程学院,454003
本文顺应信息社会对复合型人才需求不断增长的趋势,结合河南理工大学、中南大学等八所院校地球信息科学与技术专业数据结构课程的教学现状和困境,对地球信息科学与技术专业数据结构课程教学进行了探讨,提出了自己在数据结构课程教学改革中的一些看法。
数据结构是地球信息科学与技术专业(以下简称:地科专业)一门重要的专业必修课程,在教学过程中起着承上启下的作用,探讨地科专业数据结构课程教学内容与方法很有必要[1]。笔者结合近两年给地科专业授课的经验和体会,从教学实践出发,提出了一些数据结构课程教学中常见的问题,并针对这些问题提出了相应的改革措施。
1 地球科学信息与技术专业中数据结构的教学现状与困境
笔者对中国海洋大学、同济大学、中山大学、浙江大学、中国地质大学(武汉)、中南大学、河南理工大学、石家庄经济学院8所院校的地科专业数据结构课程教学现状进行了调查和分析,认为该专业数据结构课程教学存在着一些亟待解决的问题。这些问题主要表现在以下两个方面:
1.1 教学内容与专业应用脱节
笔者对上述8所学校的地科专业的基础信息进行了汇总和分析(见表1),发现8所学校的地科专业成立时间比较晚,集中在2002年至2006年,而且依托学科多为地质学、勘察技术、地球物理学、测绘学,科研实力雄厚、教学经验丰富,但缺乏计算机学科方面有经验的教师。目前大部分从事数据结构教学的教师来自于计算机学科,这些教师具有丰富的计算机学科的专业知识,但缺乏的是如何把数据结构同其本专业进行有机地融合,使学生误认为学习数据结构仅仅是为了掌握相关的计算机技术,而与本专业的知识结构没有直接联系。
1.2 学生的计算机语言基础较为薄弱
数据结构就教科书的内容而言,主要介绍一些算法,理论性强,大部分算法只给出主体的部分,通常采用伪代码、C语言或者类C语言描述,如果没有很好的计算机语言基础,学生就不能很好地在上机实践中编写完整程序去检验算法[2]。目前,地科专业学生不重视高级语言程序设计课程的学习,导致其计算机语言基础较为薄弱,影响其对数据结构课程内容的理解和实践。
2 数据结构课程改革的总体思路
2.1 依据专业特色调整教学内容和教学重点
由表1可知,8所学校地科专业的专业特色各不相同。依据专业特色调整数据结构课程的教学内容和教学重点,把地球信息科学专业知识与数据结构理论进行有机地融合,使学生明白数据结构课程在本专业知识体系中的位置。
2.2 注意前导课程的复习
针对学生计算机语言基础较为薄弱这种情况,在数据结构正式开始学习之前需要复习一下高级程序设计语言的相关知识,如数组、指针、函数(特别是指针做函数参数)、结构体等[3]。然后,对刚进入本课程学习的前几个算法给出完整的程序并加以详细讲解,使学生理解算法和源程序之间的关系。
2.3 协调高级语言程序设计与数据结构关系
为避免高级语言程序设计与数据结构课程使用的计算机编程语言不一致而导致数据结构课程教学效果差的情况发生,需要保持高级语言程序设计与数据结构编程语言一致、编译平台一致。在数据结构教学过程中应重视学生实践能力的培养,培养学生在编译平台环境中使用高级语言编写完整程序去检验算法的能力。
3 数据结构课程改革的具体实施
3.1 加强学生计算机编程能力的培养力度
首先需要加强地科专业学生计算机编程能力的培养力度。学生应该明确自己学习高级语言程序设计的目的,不是把它作为纯理论的课程来学习,而是作为应用技术来掌握,为数据结构课程的顺利学习提供扎实的应用基础。根据这种情况,在这一模块的改革过程中需要对高级语言程序设计和数据结构课程教学的内容进行微调,在高级语言程序设计课程原有内容的基础上添加几章“数据结构”的基础内容,在数据结构课程正式开始学习之前需要复习一下高级语言程序设计的相关知识,使两门课程内容顺利过渡和衔接。这样既提高了学生的编程能力,也使两门课程融会贯通。
3.2 培养学生算法验证能力
在第一模块的基础之上,学生还必须理解数据结构基础理论,具有算法验证的能力。简单地说,数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。对于学习数据结构的学生,不能靠死记硬背,必须理解数据结构中的各类定义,抓住研究数据结构的规律,这一规律就是,在研究一种数据结构时,要掌握它的逻辑和物理关系,逻辑关系在其定义中阐述,物理关系在它的存储结构中说明。另外,数据结构学习一定要要求学生自己独立完成代码实现,虽然有时候学生理解算法内容了,但是实现上面还是会遇到很多困难的,解决这些困难会帮助学生提高算法验证和程序设计的能力。
3.3 培养学生专业应用能力
在前两个模块的基础之上,学生还必须具备专业应用能力,将数据结构理论灵活的应用于本专业领域。对于地科专业的学生来说,在后续课程和以后的工作中有许多地方需要数据结构理论,如:在数据结构课程中学习的排序问题的算法,以及基本的树、图等数据结构,是计算机科学的基本功,无论是在数据库还是网络中,都将作为基本知识来运用;同时,通过B+树、Hash等高级数据结构的学习,也对学生今后数据库的学习影响颇深。根据这种情况,在这一模块的改革过程中首先需要依据专业特色调整数据结构课程的教学内容和教学重点,把地球信息科学专业知识与数据结构理论进行有机地融合,使学生明白数据结构课程在本专业知识体系中的位置。在数据结构课程教学中加入位图、遥感图像、DXF文件、MIF文件、SRF文件等常见图像或图形文件结构和四叉树、八叉树等二维和三维图形数据文件存储结构,使学生能够理解数据结构的真正内涵并能活学活用,为后续专业课程的学习和专业知识的理解奠定良好的基础。其次,鼓励学生参与数据结构与专业相结合方面的课题研究,如“基于VTK技术的三维地层可视化研究”项目需要将专业知识、数据结构理论、数据库理论、高级语言程序设计交叉融合,学生参与此项目既可以加深对数据结构理论的理解,又提高了专业综合应用能力。此外,在课程设计和毕业设计时布置相应的课题,在教师的指导下让学生自己动手去完成这些课题,以求进一步提高学生应用数据结构解决专业问题的综合能力。
表1 8所院校地球信息科学与技术专业基础信息
4 结语
本文对地科专业数据结构课程教学进行了探讨,给出了课程改革的总体思路和具体实施方案,希望通过本文所述课程改革方案能够尽量培养和提高地科专业学生的计算机编程能力、数据结构算法验证能力,数据结构理论的专业应用能力。
[1]陈国能.培养地质学IT人才 加速地球科学信息化——关于设置地球信息科学与技术类专业的建议[J]. 中国地质教育.2003,(1),15-16
[2]谢莉莉,李勤,傅春,张荣新.“C语言与数据结构”课程的教学改革实践[J].计算机教育.2009,(7),23-26
[3]董振华,于景茹.浅谈《数据结构》课程教学改革[J].科技信息.2009,(18),187-187
Teaching Reform of Data Structure Course for Geo-information Science and Technology Profession
LIU Yu-fang SONG Jin-xing
(1. Institute of Resource and Environment, Henan Polytechnic University,Jiaozuo 454003,China;2. School of Energy Science and Engineering, Henan Polytechnic University,Jiaozuo 454003,China)
This paper complies with the increasing requirement of compound talents in information society, discussed the teaching reform of data structure course for geo-information science profession based on the actual teaching situation and difficulties of eight universities geo-information profession, such as Henan Polytechnic University, Central South University etc. and puts forward some suggestions on the teaching reform of data structure courses.
G642
A
10.3969/j.issn.1001-8972.2011.02.075
刘玉芳(1979-10),女,讲师、硕士,
研究方向为地球探测与信息技术;
宋金星(1980-9),男,讲师、硕士,研究方向为地球探测与信息技术、煤层气
工程。
地球信息科学与技术;数据结构;教学研究;教学改革
Geo-information science and technology profession;Data structure; Teaching research; Teaching reform