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

来源 :中国电力教育 | 被引量 : 0次 | 上传用户:tdsc110
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:探讨了学生在学习“数据结构”课程时所要注意的方法原则,提出坚定学生学习信心,要求学生采用主动式、团队协作方式等良好的学习方法,勤练多复习,重视实践环节,养成终生学习观念,最终能达到循序渐进、稳步提高、熟练掌握课程内容的目的。这对于“数据结构”课程的教学质量的提高可起到实质作用。
  关键词:数据结构;学习方法;主动学习
  作者简介:吴陈(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.
  (责任编辑:宋秀丽)
其他文献
摘要:围绕绍兴文理学院应用型人才的培养目标,对“数字电路”课程教学模式进行了改革探索,主要在课堂教学模式、课程内容及考核方式等方面进行了改革,有效激发了学生的学习积极性,培养了学生分析、解决问题的能力及知识应用的实践能力。  关键词:数字电路;电路仿真;考核方式  作者简介:施丽莲(1969-),女,浙江绍兴人,绍兴文理学院工学院,副教授。(浙江?绍兴?312000)  基金项目:本文系浙江省20
摘要:以Visual C++作为编程语言,结合Windows Media Player多媒体功能,在参考国内外大量资料的基础上,开发了多媒体流体力学辅助教学系统,涵盖了流体力学的主要内容。教学实践的应用表明,该系统可实现激发学生的求知欲、建立物理直觉、通过虚拟实验室和多种模拟器实现交互式学习等基本教学目标。在丰富流体力学教学内容的同时,提高了教学效率,优化了教学目的,达到了事半功倍的教学效果。  
摘要:分析传统数据库课程教学存在的问题,针对大连交通大学五年制双专业培养模式的特点,探讨了改进方法。将案例教学法引入数据库教学,将理论学习和实践教学有机结合起来,重新组织教学内容,采用多种形式的教学手段,充分调动学生学习的积极性,发挥学生学习的主动性,提高学生分析和解决实际问题的能力。  关键词:案例教学法;双专业;数据库  作者简介:牛一捷(1978-),女,回族,吉林长春人,大连交通大学软件学
摘要:“水利水电工程CAD”是高等学校针对水利水电工程专业开设的一门操作性很强的专业基础课。提出在本课程中运用任务驱动教学法,并详细阐述如何针对本课程的特点进行“任务设计”及“教师引导”,最后通过实例介绍任务驱动教学法在本课程中的具体实施过程。在“水利水电工程CAD”课程教学中运用任务驱动教学法,使得“教”与“学”有效结合,并在培养学生基本技能的同时也为后续专业课程的学习打下了良好的基础,取得了良
随着信息技术的迅速发展,对数据进行计算和分析的方法与技术愈加先进,数据越来越强的可视性、可操作性和可用性,能够细致、精准、全面和及时地反映个人的思维和行为等。与此同时,数据的采集与应用对促进教学方式的变革也产生了重要影响。通过数据的采集和分析,一方面有利于对教与学提供个性化和精准化的教学支持;另一方面可以针对学生学习过程中出现的问题,随时诊断反馈,为其提供个性化的辅导。  北京市朝阳区芳草地国际学
期刊
摘要:在充分考虑微电子学科的特点和人才培养目标的基础上,以提高专业素养为培养目标,以专业理论与技术为培养核心,把知识和技能培养作为重点,以微电子学专业“半导体器件物理”为例,从教材、师资到教学资源等方面提出了双语教学课程改革的构想与实践,其意义在于为微电子学专业人才培养开辟一条新的思路。  关键词:微电子;双语教学;人才培养;工科院校  作者简介:肖功利(1975-),男,湖南衡阳人,桂林电子科技
新一轮课程改革实施以来,尊重学生差异,促进学生在教师指导下主动地、富有个性地学习,使每个学生都能得到充分发展,这些要求和理念得到广泛认同。信息化的发展为推进学生的个性化学习提供了重要条件,北京中学数字化环境正在改造着学生的学习方式和学习环境,个性化学习正在展开。  学校的数字化建设以学习为中心,探寻从环境、资源到活动的数字化,在传统校园的基础上构建数字空间,提升师生的信息意识,突出网络化、智能化、
期刊
摘要:近年来我国测试行业发展很快,存在大量的就业需求。目前很多高校相关专业中已设立测试课程,但是以测试为方向培养专业人才的并不多。将探讨测试行业的各种能力要求,为了满足这些要求需要设立测试方向的系列课程,通过相关的多门测试课程逐步、全面地培养学生测试的相关理论和实践能力。  关键词:课程体系;测试;专业  作者简介:侯霞(1976-),女,天津人,北京信息科技大学计算机学院,副教授;刘建宾(196
随着信息化建设的飞速发展,高校各单位各部门的信息系统上线越来越多,越来越频繁,对基础设施资源的需求越来越多、要求越来越高.rnIaaS私有云数据中心已经广泛应用,高校建设I
期刊
经典可以说是我们知识体系的根基,是精神世界的家园。在现实生活中,很多人不读书,更不要说阅读经典。其中,教师不读书,在某种意义上是整个社会缺乏阅读的缩影。我们想让每一个孩子在经典中汲取人生的养分,那就意味着每一个教师都应该一直走在经典阅读的路上。“问渠那得清如许?为有源头活水来”,教师成长、发展、快乐的养分,均可以在经典中获得。  记得我第一次讲授《子路、曾晳、冉有、公西华侍坐》时,只是将文章进行详
期刊