数据结构课程教学方法探讨

2010-02-17 02:29吴海涛郝慧珍
中国现代教育装备 2010年13期
关键词:数据结构编程环节

吴海涛 郝慧珍

南京工程学院 江苏南京 211167

数据结构课程教学方法探讨

吴海涛 郝慧珍

南京工程学院 江苏南京 211167

在分析了数据结构课程教学中存在问题的基础上,将基于MFC的编程思想和方法运用到数据结构课程的教学中,此方法不但激发了学生的学习兴趣,强化了编程能力,而且还加深了学生对算法的理解程度,达到了课程教学的目的。

数据结构;教学方法;面向对象思想

数据结构课程一直是计算机及相关专业中的一门专业基础课程,以抽象难懂,理论性强,学习难度大而著称。但是,从笔者几年来讲授该课程的经验来看,学习不好该课程还有一个主要原因,那就是缺乏对实验环节的重视。数据结构的教学实验主要是利用C语言在Turbo C的开发环境中进行,这与当前流行的面向对象技术、组件技术等有较大的差距。所以,我们考虑采用主流的面向对象技术进行数据结构课程的教学,将基于MFC(Microsoft Foundation Classes)的编程思想和方法运用到该课程的教学中。实践证明,该方法教学效果良好。

一、数据结构课程的地位和作用

数据结构课程在整个专业教学体系中占有重要地位,是计算机科学的算法理论基础和软件设计基础,它含有问题求解的理论、抽象和设计的方法论,其课程内容体系结构分为概念表述、构建数据模型、设计算法3个层面,突出数据组织方法与实现技术构成,主要以抽象数据类型为中枢,展示了信息结构转换的3个重要阶段:数学模型→抽象数学模型→数据结构。该课程的学习对其他专业课程的学习具有承前启后的作用,它执行的好坏影响是非常重大的。

二、数据结构课程教学难点分析及对策

数据结构课程一直是教学的难点课程,执行难,学生理解难,老师讲授难。从笔者几年的教学情况来看,该课程在教学中主要存在几大难点问题,总结如下:

1.学生畏学心理,需简单入门

数据结构课程知识体系复杂,涉及的内容多,概念抽象,理论性强,这使得大部分学生在学习本课程时感觉到困难重重,对于一些复杂的算法设计题,更是无从下手,因此产生畏学心理,感觉学习中是难上加难。针对这一问题,需要教师在讲授的初始阶段,需简单入门,先让学生接受,然后再由浅入深的学习,克服畏学和厌学心理,为课程的后续进行打下一个良好的开端。

2.理论抽象难理解,需具体实例化

学生在利用高级语言实现数据结构的问题构建中,对于不够形象直观的数据结构抽象理论,理解非常困难,在诸如数值计算、结构计算及项目管理系统的编程中如何构建数据结构,并设计出相应的算法,同样也困扰着学习者。对于此问题,需要教师在讲解抽象难懂的算法的同时,借助于具体的实例进行讲解,由抽象到具体再到抽象的过程,此方法能起到事半功倍之效果。

3.实验环节薄弱,需强化此环节

在数据结构课程的学习中,复杂算法理解困难,一般学生在经过多次练习才能掌握一点儿基础知识,而在相隔不久的时间后,又基本忘记,学生普遍反应效果不好。产生此现象的原因主要是实验环节薄弱,只有经过上机练习的实践环节,才能掌握实质,才能对算法记忆深刻,所以记忆算法的主要办法是从实践中得到,而非简单记忆。

4.编程基础薄弱,需强化语言编程

我们实践的目的是运用简明的语言验证和体会数据结构理论方法。目的是算法,工具是语言,所以要想实现算法,必须过语言这一关,经过了语言的验证,才能加深对算法的理解,进一步求证算法的正确性。从以往的教学过程来看,学生普遍存在编程基础薄弱的现象,有思路而用程序去验证较难。所以我们应该以数据结构课程的学习为契机,仔细研读课本上的程序,在学习数据结构课程的同时,提高学生编写和运用程序的能力,进一步强化语言编程。

三、教改思路及实现过程

基于上述教学难点分析,我们知道,学生畏学是因为怕学不好,而学不好的原因在于理论抽象,而想把难理解的抽象问题化解的主要方法是借助于实验环节,加深理解,所以归根到底,出现问题的根源在于实践环节。忽略了该环节,就相当于忽略了激发学生学习兴趣的机会,忽略了学生的学习兴趣,就难以掌握学生学习主动性,所以要想学好该门课程,实践环节是至关重要的。下面就这一环节而展开一种新的教改思路,从而进一步学好和教好该门课程。

1.改革语言工具

众所周知,微软的操作系统由DOS升级到图形化的Windows后,人们在体会其方便性能的同时,还有一种全新的感受,那就是赏心悦目,对于美的、方便的事物人们一般不会拒绝,所以从改革实践环节来说,选择一种可视化的方便的编程工具是实现教改的第一步。Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。

2.引入基于MFC的编程思想

MFC,微软基础类,是由微软提供的用于在C++环境下编写应用程序的一个框架和引擎,MFC对WindowsAPI进行了封装,大大简化了编程者的工作。

在数据结构课堂和实验教学中,我们大量采用了基于MFC的编程思想,编写了基于MFC的程序框架,用MFC强大的用户界面功能,来直观表现程序结果。这一方法,能极大激发学生的学习热情。试想,如果描述一个简单的树型结构,在Turbo C中我们需要连续输入一串原始数据作为输入项,处理后结果以黑屏显示输出,而在VC++中可以通过控件编程,以树型控件来表达,直观而方便。

3.重视实践,深化理论学习

实践出真知,数据结构课程重在理论,可是理论必须经过实验的验证而获得。如果可视化的编程学习很容易激发学生的学习热情,容易产生成就感,那么学生会变被动接受为主动学习,由厌学怕学到爱学主动学,这一转变在课程讲授中是引发质变的主推动力。所以重视实验环节,激发学习兴趣,在实验的过程中,深化理论学习,达到了教学的最终目的和目标。

4.执行效果与评价

学习方法很重要,只要方法得当,难的东西也就变的容易了,复杂的东西也变得简单了。所以,从根本上讲,良好的教学方法是解决数据结构教学难点问题的关键所在。

此种教改方法运用到具体的教学和实验中后,执行效果很明显。对于学生,从一开始的语言改变的适应,到中期的可视化控件带来的方便,到后期对编程产生浓厚的兴趣,变被动学习为自主学习的过程来看,此教学改革方式是可行的,不但激发了学生的编程热情,提高了编程能力,而且在强化语言学习的过程中,深入地领会了算法的内涵,使抽象的理论算法变得越来越简单、容易,深化了理论的学习。

四、结束语

总之,通过对数据结构课程教学难点分析,给出了一些行之有效的对策,在此基础上,分析了出现问题的根源在于,实践环节重视不够。通过改革以往的语言工具,寻求一种新的基于MFC的编程思想,用良好直观的表现方式来验证实验结果。实践证明,该方法激发了学习的学习热情,锻炼了编程能力,同时也加深了对理论问题的理解,教学效果良好。

[1]肖四友.面向对象程序设计实现数据结构的创新教学[J].电脑知识与技术,2005,35:223~225

[2]刘文强,顾泽元.在数据结构课程教学中的若干问题及其对策分析[J].中国现代教育装备,2009,3:89~91

[3]冯玉平.加强教学反思,增强教学效果[J].四川教育学院学报,2005,4:71~73

[4]Scott G. Paris,培养反思力[M].北京:中国轻工业出版社,2001

[5]夏英.数据结构课程教学改革探析[J].重庆邮电大学学报,2007,19:171~172

Abstract: Based on the analysis of the occurred questions in data structure curriculum instruction, applies the MFC programming idea and method to the teaching in data structure instruction, not only arises it the student’s interest and strengthens their programming ability but also it deepens their apprehend about the algorithm, the result proves that it arrived at the teaching goal.

Key words: data structure; teaching method; object-oriented idea

A probe into the teaching methods of data structure

Wu Haitao, Hao Huizhen
Nanjing institute of technology, Nanjing, 211167, China

2010-03-10

吴海涛,硕士,讲师。郝慧珍,硕士,讲师。

猜你喜欢
数据结构编程环节
数据结构线上线下混合教学模式探讨
必要的环节要写清
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
为什么会有“数据结构”?
在农民需求迫切的环节上『深耕』
高职高专数据结构教学改革探讨
CDIO模式在民办院校数据结构课程实践教学中的应用