当前位置:蚂蚁文档网 > 述职报告 > 提高“数据结构”课程教学质量的方法探讨

提高“数据结构”课程教学质量的方法探讨

时间:2022-03-20 10:23:14 浏览次数:

摘要:探讨了学生在学习“数据结构”课程时所要注意的方法原则,提出坚定学生学习信心,要求学生采用主动式、团队协作方式等良好的学习方法,勤练多复习,重视实践环节,养成终生学习观念,最终能达到循序渐进、稳步提高、熟练掌握课程内容的目的。这对于“数据结构”课程的教学质量的提高可起到实质作用。

关键词:数据结构;学习方法;主动学习

作者简介:吴陈(1962-),男,湖北天门人,江苏科技大学计算机学院,教授。(江苏 镇江 212003)

基金项目:本文系江苏省成人高等教育精品课程2010年度课题资助项目(项目编号:313830001)的研究成果。

中图分类号:G642.0     文献标识码:A     文章编号:1007-0079(2012)22-0071-02

“数据结构”是计算机科学与技术等相关专业的一门专业基础课,具有承上启下的作用,所以,掌握好数据结构的基本理论、基本方法和基本技能,学会运用数据结构知识去分析问题和解决问题,为后续课程如操作系统、数据库系统、编译方法、计算机网络打好扎实基础,对计算机专业学生能力的架构培养具有十分重要的地位。然而,由于“数据结构”课程内容本身具有一定的难度,既具有如抽象数据类型描述等抽象性,又具有算法设计的思想性,还具有算法到源程序代码编制转换的灵活性和具体调试运行的工程应用性和严密性,因而学习内容较为丰富,知识量较大,掌握和运用的技巧性要求也较高,加上课程内容涉及前导课程如程序设计语言、数学等方面知识,因此,学生感到解答问题上仍存在不少困难。如何学习好“数据结构”这门课程,特别是在对数据结构中相应算法较好理解的基础上,较为快捷而且正确地做好作业,理解实验任务,加以代码实现,并能调试运行,得到正确结果,是这门课程在学习时学生所最为关心问题。

本文通过从“学”的方面阐述数据结构学习的一些方法,以企达到让学生真正愿意学习、希望好好学习、按时又好又快地完成学习任务,实现能力培养养成和提高,促进“数据结构”教改,提高“数据结构”课程的教学效果和质量。[1]

一、建立信心,坚持就是胜利

端正学习态度,树立必胜信念,是学生学好数据结构所必备的素质。数据结构在较大程度上是建立在计算机程序设计语言基础之上的,学习数据结构必然要接触到计算机程序设计语言,要把自己求解问题的算法用程序设计语言描述出来,交给计算机去执行,从而得到正确的解答结果。这一过程有时显得任务十分艰巨,因为在过程中的每一步都需要自己付出很大的努力才能完成。虽然学生在最初接触数据结构时,可能会感觉有点难,学习这门课程非常吃力,但是,只要保持一个良好的心态,树立“我能行”、“坚持就是胜利”的自信心,不断努力,肯定能学好这门课程。反复培养他们“我能行”的自信心是至关重要。只有坚定了自信心,就会静下心来认真学习数据结构。通过学生自己反反复复摸索,逐步掌握每一个问题的求解,既要有克服困难的勇气和毅力,也要会不断改进学习方法,把握学习规律,灵活运用所学知识,最终必能透彻地学好“数据结构”这门课程。

二、温故而知新

“数据结构”的学习涉及前导课程有程序设计语言、高等数学、离散数学、概率论等。在学习该课程的过程中,要经常用到相关的前导知识,所以,要时常对前课程加以复习,尤其是程序设计语言。“数据结构”这门课与程序设计语言如C++关系紧密,要求学生经常把相关的程序设计语言的书翻拿出来研习,多复习在程序设计语言中编写程序时所使用的语法规则、方法甚至编程技巧。由于C++既保留了面向过程的编程成分,又引入了面向对象的方法,在“数据结构”这门课程中,在数据组织方面,很自然地实现了抽象数据类型的思想,并使用模板机制实现了代码的复用。学生以前在学习该语言时主要侧重各种语法现象,但仍有很多有待深入学习和应用的内容并没有涉入,而现在数据结构中大多用C++语言中的类、对象、方法的概念来描写算法,甚至用到模板结构(体)、模板类、模板函数以及异常处理机制等,所以,一定要经常复习C++程序设计语言,在原有基础上自学新的内容,深化C++的使用技能,争取使数据结构和程序设计语言,如C++的知识达到两相渐长。

另外,虽然过去在一些课程如离散数学中学过一些理论知识,但并不涉及用程序设计语言来具体实现,而在“数据结构”中却要实现从理论到算法,再到代码的转换,这实质上有转换技巧和难度存在的。特别是从算法到代码的转换,并不是一蹴而就。如在合并两个递增有序表为一个递增有序表的线性表顺序对象实现时,算法上可同时从头开始分别扫描这两个递增有序表对象的元素,比较当前两个元素的大小,把小的添加到结果表中,最后,结果顺序表对象中的长度置为这两个递增有序表的长度之和。这看似很合理的算法思想,[2,3]但是,在实际的实现中,如果结果顺序表对象在创建时可能初始长度置为零,合并过程中,要加入的元素可能根据对象的操作要求根本就加不进去,程序始终出错,同时也找不到出错的语法错误,显然,存在的是逻辑错误。若将结果表对象初始时将其内部的长度数据成分直接置为两个递增有序表的长度之和,那么就解决了该逻辑错误。所以,算法实现也要结合语言的特点以及设计的对象方法的接口加以应变性修改,才能最终完成正确的代码转化工作,实现原定任务的求解。而这种应变能力只有通过大量练习才有可能养成。

因此,准确定位自己目前的知识结构和储备状况,做好正确的心理准备,经常复习,稳步前进,这都是十分重要的。[4]

三、主动学习,多看算法

学生在遇到作业、实验上的问题时,在立足于独立完成的思想下,可通过多种渠道如图书馆或网上查找资料、多阅读算来解决,这样既可看到与自己原有设计的算法思想基本相同的求解算法,也可了解到对同一问题用多种不同的算法或程序来加以求解的多种不同方法。算法阅读多了,眼界也就开阔了。通过熟悉多种算法,了解多种算法思路,自己也会在潜隐默化中借用他人的方法和技巧,用于设计和编写自己的算法或程序之中,从而使自己的算法设计和编程应用能力得到大幅度的提高。所以,遇到任何算法设计要求或新实验任务,都不能因为难而不主动学习,更不能轻言放弃。

为什么熟练的编程者看一个算法一下子就看懂了,而初学者要看很久才能看懂,而且即使弄懂了,过一阵子又忘记了或再看又不明白了?其实这是因为熟练者以前阅读理解并掌握了大量的算法或程序,写了很多算法或程序,所以有了那种“上了轨道”的感觉。因而,要学好数据结构,就要多阅读理解并掌握算法或程序,多写算法或程序,开阔视野,培养自己的那种“上了轨道”的感觉,使自己分析和解决实际问题的能力得到切实的提高。

四、认真多做实验

注重应用,认真地多做实验,也是学好这门课的一个重要方法。实验内容都与课程相关联,并且大都能与应用相结合。认真调试程序,使自己更深入地理解算法的实质,从实验中可学到不少实际知识。

编程实验做得越多,对算法的掌握就越熟练,当然编程的能力也就越强,水平也就越高,而且无形中也能养成对程序或算法的关键点的敏感意识。

书写代码不能急于求成,写完以后要仔细检查,多调试多运行。程序中的语法错误往往可借助于编译程序检查出来,但程序的逻辑错误却不能检查出来。因此,在编译通过后,即使程序能运行了,也要通过多组数据加以测试。好的程序应该是:正确的数据得到正确的结果,错误的数据得不到正确的结果,通过测试可以发现程序中是否存在逻辑错误。若有逻辑错误,则需要花大力气才能加以改正,因为逻辑错误的改正要比语法错误的改正更困难,而且,系统并不会报出出错的位置等信息,需要自己去找原因。只有通过反复测试,才可以使程序达到不断改进,不断完善,最终令人满意。

“数据结构”这门课程虽然有多次上机实验,但也要珍惜每一次上机的机会,因为老师就在身边。小问题自己解决,大的或自己不熟悉的问题,还是要请教老师。老师对于学生当面提出的问题,一般会给出正确的解决方法,甚至会连带地讲出不少道理,面对面向老师请教、与老师交流的机会千万不能轻易放过。因此,在学生做上机实验之前,最好将源代码输入完成,在实验室主要是进行调试和测试工作。这样能够尽早发现问题,修正可能出现的错误,保证能运行得到正确的结果。千万不能把有限的在实验室时间花在基本代码的输入上,否则,等实验时间都要过完了,源代码尚未准备好,学习的机会就大大减少。

通过实验环节,增强学生设计算法解决问题的能力,锻炼其实际动手的能力,同时,加深了他们对课程的理解,这不仅为本课程后续内容的学习,也为后续其他课程的学习奠定了扎实的基础。

在大的实验项目中,也可体会到团队协作的魅力。自己首先要完成在协作情况下自己所需要完成的任务,同时要保持与他人的同步,还要考虑到与他人的数据或代码的接口,因此交流就显得格外重要了。除自己完成基本的任务外,也要挤出尽可能多的时间尝试将他人所要做的工作或功能模块了解透彻,最好也能实现一遍,使自己对整个项目都具有总揽直至独立承担和完成的实力。

五、结语

本文从学的角度探讨了学生在学习“数据结构”这门计算机专业学科基础课时学生所要注意和采用的一些学习方法,对于类似的其他课程的学习,这些方法也是通用的。通过采用这些学习方法,学生学好这门课程就会有较大的把握。当然,每个人的情况可能都有一定的差异,具体发挥决定于个体。学生学习效果的好坏是对教学的最直接的检验。只有学生学得好,掌握牢,会应用,教学的目的才是真正达到。

参考文献:

[1]陈雪刚.数据结构课程教学改革与实践[J].计算机教育,2011,(4):

34-37.

[2]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,

1997.

[3]王红梅.数据结构(C++版)[M].北京:清华大学出版社,2011.

[4]孙波,刘丹.“数据结构”多媒体教学改革研究[J].科技信息,2011,

(2):264,266.

(责任编辑:宋秀丽)

推荐访问:数据结构 教学质量 探讨 提高 课程

猜你喜欢