数据结构实验报告范例优推4篇
【路引】由阿拉题库网美丽的网友为您整理分享的“数据结构实验报告范例优推4篇”文档资料,以供您学习参考之用,希望这篇范文对您有所帮助,喜欢就复制下载支持吧!
数据结构实验报告【第一篇】
关键词:高职;数据结构;实验教学
中图分类号:G424 文献标识码:A 文章编号:1006-4117(2012)01-0275-01
数据结构课程是计算机专业的重要基础课,主要介绍和研究数据在计算机中的存储和处理方法[1],其实验课程通过上机实践,利用C/C++等高级程序设计语言对理论知识进行验证,达到理解和巩固理论知识的目的,是整个课程学习中的一个重要环节。
一、高职数据结构实验课程存在的问题
在传统的数据结构实验中,有指定的实验课教材,记录了理论课中所有算法的实现程序,由教师向学生详细讲解算法的理解、实现过程和运行结果,学生只要按照教材上机编辑并调试通过,验证一下结果就可以了。这样的教学模式使学生毫无学习兴趣,也不用动脑思考,并且由于高职学生大多学习基础较差,对于程序设计语言中的数组、结构体和指针等知识掌握不够,根本不能理解大量的复杂算法,只是机械的录入,使上机调试变得十分困难,这就失去了开设该课程的意义。为了能够更好的发挥实验课程的作用,使学生提高程序设计能力,理解数据结构研究数据处理方法的意义并掌握基本的算法设计,我针对高职学生特点,在实验课程的教学内容、教学方法及考核方式进行了初步探索。
二、实验教学改革的具体措施
为了能够更好的发挥实验课程的作用,使学生提高程序设计能力,理解数据结构研究数据处理方法的意义并掌握基本的算法设计,我针对高职学生特点,在实验课程的教学内容、教学方法及考核方式进行了初步探索。
(一)夯实基础,弥补先行课知识的不足
由于程序设计语言课程课时少、内容多,学生接受能力差等原因,导致其教学内容往往停留在初级阶段,关于数组、指针、循环、结构体等内容,学生没有成分的时间去理解和吸收,但这些内容是数据结构实验课必不可少的基础内容,所以,在课程的初期,教师要带领学生弥补先行课知识掌握的不足,深入解析指针和循环的有关内容,设计一些简单的应用数组及结构体编程的任务,让学生上机独立完成。这样不仅可以夯实学习数据结构实验课程的基础,达到良好的知识迁移效果,而且可以使学生在完成任务的同时,体会成功,建立学习的兴趣和信心。
(二)逐步添加,合理安排教学内容
在数据结构这门课程中,根据数据的不同逻辑结构,又结合数据的存储结构,总结出数据处理的许多具体算法,在实验教学中逐一实现所有算法是不必要的也是不实际的。所以教师必须对该课程的知识点进行梳理和规划,合理安排教学内容,使实验中的知识点随着教学进度逐渐增加。
考虑到高职学生的接受能力,实验的内容不宜选择较复杂的实验项目,只要能够使学生通过典型算法的实现,循序渐进地理解算法的实现方法及后续改进策略,掌握数据结构的本质,提高程序设计能力就可以了。
如C++程序设计语言中的数组与数据结构中顺序存储的线性表是不同的,但学生在学习之初并不能透彻理解二者的差异。教师可以先设置一个对10个整数进行升序排序的算法,学生只要在main()函数中定义int a[11]及循环变量 int i,j,应用循环嵌套就可以实现了,然后教师再增加任务,要求在数组中连续插入若干不同数据,使数组仍然保持升序,并输出每次数据插入前后数组的状态。如果学生仍然应用数组,在原程序基础上修改就会十分繁琐,并且输入输出语句和插入程序代码不断重复出现。这时教师再引导学生通过三方面修改程序,首先应用线性表的顺序存储,将数据定义修改为
const int m=50; //设不超过50个数据
struct L{
int list[m];
int n; //n为线性表当前长度
};
其次,针对输入输出及插入代码的不断重复出现,定义插入、输入和输出算法,并添加函数声明。最后完成主函数的设计。
通过这样逐渐添加任务要求,可以从完成任务的过程中体会到学习数据结构的意义,掌握算法的具体实现方法,在知识的逐渐积累和更新中,增强学习信心,提高编程能力和理论应用于实践的能力。
1、组建学习小组,促进学习互助与提高。考虑到高职学生学习水平的差异性及数据结构实验课程的难度,教师无法在课堂上对程序的编辑、调试及改进做逐一的指导,这样将造成一部分学生跟不上教学进度,当无法完成任务时就以抄写实验报告等方式蒙骗过关,久而久之丧失了学习的兴趣和信心。对此可以在教学中组建5人左右的学习小组,将程序设计水平较好的学生与学习困难的学生组织到一起,共同完成各项学习任务,促进学习互助和自主探究,达到实践水平的共同提高。
2、改变考核方式,保证学习效果。合理的考核方式是数据结构实验课程取得良好效果的保证,为了切实达到促进学习的目的,要彻底改变过去单纯依赖实验报告定成绩的现象,针对课前准备、上机实践和实验效果三个方面制定考核标准。要求学生在上机实验前做好相关知识的预习,完成算法的初步设计,拟定实验数据,在上机实践过程中要求学生边实践边记录所遇到的问题及解决方法,记录算法的实现和运行结果,实现算法的改进并记录未解决的问题形成新的记录报告;对实验过程及结果及时作出总结,如怎样设置输入输出能改进程序的可读性,采用哪种存储结果使算法更加简单灵活,怎样定义算法更利于修改等等。总之,教师要针对实验的各个环节提出具体要求和考核标准,定性定量地从各个方面评定实验成绩,调动学生的积极性和自主性,保证实验教学的学习效果。
作者单位:营口职业技术学院计算机系
作者简介:郭洪荣(1974―),女,汉族,辽宁营口人,营口职业技术学院计算机系,讲师,计算机专业学士学位,教育学原理硕士学位。
参考文献:
[1]徐卓群。数据结构[M].北京:中央广播电视大学出版社,2001.
[2]尹孟嘉。基于增量型的数据结构实验教学改革[J].计算机教育,2010,11.
数据结构实验报告【第二篇】
关键词:信息管理与信息系统专业;数据结构;实验教学
中图分类号:G642
文献标识码:B
1引言
信息管理与信息系统专业是信息科学与管理科学相融合而形成的新兴专业,其教学内容、课程教学方法和人才培养等方面有待进一步探索和完善。从该专业培养目标和课程实践教学目的考虑,“数据结构”实验教学具有重要的意义。本文作者在多年的“数据结构”课程教学工作中发现实验教学环节存在诸多问题,因此积极探索,得到了一些启发并运用于实际教学,希望这些经验对同行有所帮助。
2存在的问题
“数据结构”具有逻辑性强、抽象等特点,因而对于信息管理与信息系统专业的学生具有一定的难度,特别体现在课程实验教学方面。
现行的“数据结构”课程多数采用某种高级语言来描述和实现算法,我院的C语言课程是全院平台课,因此“数据结构”采用了C语言描述。由于总课时较少等原因,学生的C语言基础比较薄弱,特别是对指针、结构体等C语言核心内容的掌握与运用更差,但这些内容恰恰是“数据结构”课程中经常用到的知识点。
同一班级的学生对于“数据结构”实验技能的掌握与学习呈现出两极分化的现象,大约25%的同学表现较为优秀,而60%以上的同学表现较差。通过观察和了解,程序设计基础较好或学习兴趣较浓的同学,通过努力能够完成实验项目,写出合格的实验报告;而基础较差的同学,在学习中容易产生畏难和茫然的情绪,实验时缺乏信心,无从下手,随着课程学习的深入,此种情形会形成恶性循环,导致了该部分同学实验技能无法提高的局面,从而影响了班级课程实验教学的顺利开展。
3改革措施
循序渐进,团队协作
在每一次“数据结构”课程教学初期,授课教师通过了解和课程知识测试,对班级学生的程序设计基础和能力等情况进行了解,据此在全班集中讲授以C语言指针为主要内容的专题知识,并重点讲解函数参数与指针的灵活运用。这样学生在学习线性链表这种基本而重要的存储结构时,就有了相关知识点间的衔接,降低了学习的难度。另外,每次实验项目或任务应该提前一周告诉学生,让他们逐步收集资料、分析问题,为实验课教学做适当准备,以免出现学生在实验教学中不知所措或无所事事的现象。
在实验教学中,特别是实验教学的初期,我们发现学生对程序调试过程中出现的各种问题都要请教老师,然而由于计划学时较少,仅依赖老师个人难以及时为学生圆满解决各种问题。这种情况还是程序设计和调试方面的基础薄弱所导致的,所以我们以此为契机,采取了以下措施。
首先,我们将整个班级分成若干由5~6人的学习小组,每一小组中至少有一名成绩较好的学生。业余时间同学在编写算法、程序设计和调试方面有问题时,可以向该同学咨询,小组也可以集体讨论,这样通过问题的最终解决来加强学生的课程学习能力,逐渐消除这些同学因为基础较差或问题的累积而产生的各种消极情绪和负面影响,及早调动他们的学习积极性,同时也培养了学生的团队合作意识。
其次,在实验教学中,有的同学基础很好,提前完成了实验教学项目,那么这部分同学可以在实验中辅助教师,在有限的时间内为更多的同学及时解决程序调试问题。对于这些从事辅助教学的学生,我们可以从课程教学的角度给出较高的平时成绩以示鼓励,也可以从学校的素质教育考核角度进行适当鼓励,让他们有更多获得各种奖励的机会,调动他们从事这种教学活动的积极性。
精心设计实验项目
目前多数高校都在设法提高实验教学质量,特别强调实验项目的层次化和实验内容的多样化。按照课程内容,信息系统与信息管理专业的“数据结构”课程实验项目一般分别涉及线性表(顺序表、链表)、栈和队列、二叉树、图或网结构和查找等内容。我院信息管理与信息系统专业的学生一般要完成至少6个实验项目。其中实验项目类型可以为基础类型(或验证型)、设计类型和综合类型,实验项目的不同类型使之呈现出层次化特点。比如实验内容均涉及线性表,对于线性表的一般操作(如单链表构建及其插入与删除算法的实现),是一个基础或验证性的实验;对于利用线性表作为数据结构,设计一个学生成绩管理微型系统,则是一个设计型实验项目;而涉及多种数据结构或多项应用的实验项目,则是一个综合实验。所以在课程实验教学大纲中,我们设计了多层次的实验教学项目,通过对相应项目的说明,明确要求哪些项目是必修的,哪些是选修的。这样学生在选择实验项目时,会根据自己的基础和偏好灵活选择。
由于“数据结构”实验所涉及的内容往往具有单调性,学生觉得实验内容与专业实际应用联系不大,容易产生厌倦的学习态度,所以我们在设计实验项目时,结合专业特点,编制了与专业有关的一些实验项目。如利用线性表设计一个简单的学生成绩管理系统程序,利用栈结构实现一个物流装箱问题,根据图结构的最小生成树概念设计一个具有最小耗费的通信网络,或者邮递员的最优投递网络等。结合专业应用实践设计的实验项目会激发学生的学习兴趣。
合理的监督和奖惩机制
在实验教学实践中,我们发现没有合适的监督机制和奖惩办法,学生的实验项目难以顺利完成,从而会影响班级实验教学质量的提高和顺利实施。由于程序设计基础较差或其他原因,许多学生无法完成任务时会抄袭应付,尤其现在动动鼠标就可完成“复制”。因此,我们在校园网内部开发了一个简单的课程实验教学交流信息系统,用来实验项目预告、学生提交完成的实验项目,以及师生交流。学生完成的实验项目应该包括项目的实验报告及其源程序。我们根据实验报告了解某学生实验项目的信息、解决问题的方法和实验项目的完成情况,根据源程序验证结果的正确性。根据评判结果等级(分为A、B、C、D),结果等级为D的实验项目需要立即返回给学生进行修改。根据最终修改结果,若某学生拒不修改或最终有三次以上成绩为D,那么考试资格将被取消;若发现实验报告雷同或有抄袭嫌疑,我们会给出警告信息,并根据情况采取相应惩罚措施。然而检查和监督每一个同学的实验项目需要大量的人力和时间,所以在院系教学单位的支持下,作为研究生教学实践活动的参与形式之一,我们让在读研究生来辅助完成此项监督任务。通过上述机制,实验教学的最后环节得以较为顺利地实施,从而从整体上改善了课程实验教学的质量。
参考文献
[1] 谢阳群等。 信息管理与信息系统专业教育的改革与实践―以安徽大学管理学院为例[J]. 情报杂志,2006,(3):132-135.
数据结构实验报告【第三篇】
关键词:数据结构;实验;编程;教学
中图分类号:TP3-4 文献标识码:A文章编号:1007-9599 (2011) 06-0000-01
Teaching Research on Data Structure Experiment
Zhang Xiujian
(Guangzhou University Sontan Collehe,Guangzhou 511370,China)
Abstract:Data structure is a course that emphasizes that exercise of logical thinking and programming this paper,we argue that the appropriate experimental program and integration of software engineering can improve student’s innovative ability.
Keyword:Data Structure;Experiment;Programming;Teaching
《数据结构》,是一门重要的理论学科。通过调研看出,该科目在各个院校的实验教学情况存在较大差异。学生学习理解过程缓慢,教师教学也不能得心应手,尤其是实验课,由于部分学生对编程语言掌握不熟练,实验内容抽象,而有较大畏难情绪,甚至不参加实验课。虽然曾经有些教师参考了任务驱动、实例教学等方法,但过于强调某种教法,也会影响教学效果。所以,该课程宜结合课程特点设计教学,切实通过贴近于实际的方法传道授业,结合实验落实教学效果是非常重要的。
一、数据结构课程实验教学中问题所在
(一)实验课时欠缺。有的学校压缩实验时间,让位于理论教学,这对学习效果的落实来说是本末倒置。没有足够的实验课时,学生就无法把理论知识加以系统地整理,进而在实验中消化吸收。
(二)综合性、创新性实验科目欠缺,系统性不强。开设的数据结构的实验课程中,虽然安排了相关知识点的实例,但是对设计的创新性和综合性上有待提高,要加强知识点的综合运作。
(三)没有很好地结合课堂教学和实验教学。作为一门比较抽象的理论教学课,尤其要重视课堂和实验教学相结合。实验中要突出该课程的实践性,教学中要注重理论和实践的结合。现在,不少教师只重视知识的灌输,在实验中任务不明确,要求不明晰,让学生在实验中迷失了对理论的进一步实践的方向。
二、实验教学的改革探索
(一)教学模式的改变。基于数据结构课程理论难于理解的特点,要突出实验课的效果,要注重“课堂。一章的基础性实验。综合实验”相结合的框架。注意从逻辑机构到存储结构,再到实现基本算法,继而具体应用的方法,一以贯之地落实到数据结构教学中去。算法的讲授要先分析算法,再运用编程语言演练算法,最后进一步分析算法。如能采用多媒体演示算法的步骤,会使学生更加清晰地理解。课堂教学始终要把应用的要求作为做种目标,辅以实验训练,加强学生动手编程和自我创新的能力。
(二)基础实验环节要重视。实验环节要让学生进一步理解数据结构的特点,明确相关概念,熟练各种基本算法的实现。枯燥的理论讲述的再多,也不如配合实验让学生一练,所以教学要重视基础实验环节。要想获得扎实的教学效果,教师要提供实验编程语言,Turbo C、Visual C++、Delphi等都可以。根据教材确定实验方案,明确实验目的、内容、要点和必备注意事项,最后安排几个演练题目,比如矩阵的遍历、数据的折半查找等。实验课程要贴近学生的编程水平,不可偏离太过。实验中,学生有章可循,对要点有较强的针对性,实验效率就会大大提高,使学生真正能举一反三。
(三)课程实验要理论应用相结合。实验要注意结合原理和应用,让学生在解决实际问题时学会调用学过的知识点,养成动手练习语言编程的习惯,所以,这个层面的综合实验要求要高于普通的课下练习和基础实验,更贴近于应用。平时虽然侧重练习简单的算法程序,但综合实验课是软件设计的高级训练阶段,融合了问题的分析,系统结构设计、操作界面设计、编程技能技巧,是软件设计的系统工程。教师分阶段拟定数据机构在实践中的各种应用,比如:汉诺塔问题、约涩夫环问题、Huffman Coding方式、班级信息管理系统等,把任务分配给学生,让学生组织课题公关。课题的结题要提供课题表述、基本要求、实验数据、实现结果和关键实现步骤等内容,这能协助学生破题解题,以免形成错误的认识,同时也讲解了程序设计的基本路线,确保实验目标的实现。最后每个课题组都集中展示实验过程接结果。试试证明,这样的实验环节,综合了数据结构知识、编程语言技能和软件工程思想,让学生系统地理解各门课程的联系,融合相关专业课的精髓,锻炼了学生的团队合作互助精神,提高了组织能力和管理水平
三、重点组织好教学实验的各个环节
(一)实验题目的设计。鉴于实验环节教学时间的限制,学生的编程基础和技能较为薄弱,所以,设计和拟定合适的实验题目尤为重要。实践题目应该由易到难循序渐进:
1.常用算法练习。主要讲解各章节知识点,深入贯彻算法理论的理解;2.基础性应用练习。主要让学生针对单一的数据结构解决应用难题,其难度中等;3.综合应用题目练习。要涵盖多个章节的内容,系统性强,难度较高,可以组织学生成立课题组,在课外实验环节共同研讨解决,再集中展示。课题的设计要注意:(1)常用算法的练习要有一定代表性,重点练习各个章节的知识点,难度较小,目的在于理论知识的掌握。课堂教学要和实验环节对应,学生在试验中重点演练课上讲授的内容。(2)基础性应用练习难度要适中,既要带动基础薄弱的学生,又要注意发挥基础好的学生的能动性,可以加以延伸,或是鼓励提供多种解决方法,进行不同思路的性能的比较,让各个层面的学生都能参与实验。(3)综合应用练习题不宜太难,但要引起学生的兴趣,宜于结合实际中的事物或应用系统,让学生宜于接受和理解,这样才能促进学生的积极性。
(二)实验环境的搭建。现在很多学校选取谭浩强教授出版的《数据结构(c语言版)》作为教材,应用C语言进行数据结构的设计语言,用TC搭建实验环境。而在实际教学中,应用C语言讲解数据结构常常对算法设计和实现上较为突出,对数据结构的系统性容易忽视。如果用C++进行数据结构的实验练习,可以注重其整体性和系统性,先定义数据结构的类,再分析其逻辑特性,然后把存储结构延伸到算法的实现中去,能帮助学生构建数据机构的概念。
(三)实验过程的组织与实施。实验中可以采取学生分组、一人负责的机制进行实验。提倡互动探讨和交流,既能让学生接触更多的实验题目,也能提高学生的团队合作精神。
(四)实验结果的检验和考核。对实验结果,教师要辅以必备的检查来进行督导。对于实验报告的书面汇报,要设计题目、要求、步骤、结构、程序代码和改进方法,以及最后的体会等。教师通过实验报告书可以详细了解学生的实验情况,进而发现共性的问题集中解决。
(五)实验问题的总结与弥补。通过实验,教师对于学生学习中存在的问题要进行系统总结和分析加以更正,有些不良的编程习惯,教师要着重强调。
四、结束语
《数据结构》的实验课注重学生动手能力的培养,强调创新思维的养成,通过实验,结合应用案例,能够进一步提高该课程的教学质量,加深学生对知识点的理解,具有积极的现实意义。
参考文献:
[1]程满玲。数据结构课程教学模式改革的探索与研究[J].武汉商业服务学院学报,2007,3
数据结构实验报告【第四篇】
关键词:数据结构;计算机教学;教学改革
作者简介:崔翔(1975-),男,河南开封人,河南大学计算机与信息工程学院,讲师。(河南 开封 475000)李晓雯(1984-),女,河南周口人,郑州防空兵学院指挥控制系,助教。(河南 郑州 450000)
中图分类号: 文献标识码:A 文章编号:1007-0079(2013)04-0060-02
“数据结构”是一门计算机软件基础课程,主要讲授计算机软件中数据组织关系的原理、算法和实现。[1,2]该课程是计算机软件专业、自动化专业及相关信息类专业课程体系中一门重要的专业基础课。“数据结构”一般以“计算机引论”、“离散数学”、“C语言”、“Java语言”等课程为先修课程,同时开设的课程有“数据库原理”、“计算机体系结构”等课程。该课程涉及程序设计语言、计算机软件理论和毕业设计诸多教学环节,主要目的是帮助学生建立计算机软件中数据的组织方法及其分析设计的基本技能,提升学生编程实践能力和综合解决问题的能力。[1]“数据结构”内容丰富,涉及多门交叉课程,为了在有限的教学时间内尽快引导学生入门,使其在理论与实践两方面的能力都得到提高,作者从“数据结构”课程的内容安排和教学方式等不同侧面进行了一定的探索和研究。
一、课程的教学内容改革
“数据结构”的主要内容包括数据结构组织的基本原理、算法和基于C语言的课程实验。[1,2]为了能在课程的讲述过程中重点突出,做到理论与实践相结合,在“数据结构”教学内容安排上进行了重新整合。
1.教学主线的确定
在教学过程中确定了一条课程主线,该主线构建在计算机软件数据的基本组织结构――线性结构、树形结构和图形结构以及联系这些数据结构的基本操作以及查找和排序算法之上,[1]如图1所示。
这条主线按照数据的组织结构展开,对总学时为80学时的教学计划,可以安排60个学时的理论课时间,以及20个学时的实验课时间。通过主线,可以将“数据结构”教学理论部分和课程实验部分有机结合。根据制定的教学主线,教师也可以根据教学计划对课时多少进行相应调整,例如增加更多的课程实验部分的内容。
2.“数据结构”理论教学的内容安排
“数据结构”的理论教学部分包括数据组织结构的概念和基本算法。掌握数据结构的理论内容部分可以帮助学生理解课程本质。内容安排以数据不同组织结构为主线,算法上有重点地展开讲解,主要目的在于帮助学生掌握数据结构的实质原理,培养学生对软件中数据的组织和基本操作的能力。
其内容安排如下:线性数据结构的基本概念和基本算法(包括数组、队列、栈和链表的基本概念和基本算法);树形数据结构的基本概念和基本算法;图形数据结构的基本概念和基本算法;查找、排序的数据结构和算法。在数组概念的教学中,强调数组元素可以是基本数据类型或是构造类型,按数组元素的类型不同,强调数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别;在队列概念的教学中,强调其只允许在表的前端进行删除操作,而在表的后端进行插入操作的特点;在栈概念的教学中,讲解栈是只能在某一端插入和删除的特殊线性表;在链表概念的教学中,讲解其物理存储单元上非连续、非顺序而数据元素的逻辑顺序通过链表中的指针链接次序实现连续存储的特点;在树形数据结构概念的教学中,讲解其数据元素一对多的存储特点;在图形数据结构概念的教学中,讲解其数据元素多对多的存储特点;在查找和排序概念的教学中,讲解不同的查找和排序算法(包括稳定算法和不稳定算法),分析其性能特点。
二、课程实验环节教学的改革
笔者在“数据结构”的教学中增强了实践环节的内容:在课程的教学时间安排中,实验课程的时间约占总教学时间的25%,并且综合性实验的内容比例占70%左右,实验内容的安排覆盖理论课部分的讲授内容。“数据结构”实验课程在安排上围绕前述的课程主线展开,将理论教学部分和实验教学部分有机结合,其目的要求如表1所示。通过课程实验教学环节的改革,学生学会如何分析数据的特性、给出数据结构的描述、写出相应的算法,培养和训练学生编写复杂程序的能力。
三、课程考核方式的教学改革
考试形式可采用闭卷考试成绩、平时成绩与课程实验成绩相结合的方式。评分标准:数据结构总成绩=平时成绩+实验成绩+期末闭卷考试成绩。
1.平时成绩
平时成绩占总成绩的10%,采用百分制共10分,评分标准采用以下方式:每缺勤一次扣3分,满三次扣10分,满四次取消考试资格。
2.实验成绩
实验成绩占总成绩的20%,采用百分制共20分,评分标准采用以下方式:在数据结构实验教学中共有8次实验,内容涵盖线性表、栈和队列、树、图、查找和排序,根据学生撰写的实验报告和程序代码实现情况,对每个学生完成的每个题目评出百分制成绩,然后求出8次的平均成绩,再乘以20%即为实验成绩。每次实验结束后,学生均应上交实验报告,源程序要加注释。如果题目规定了测试数据,则实验报告结果要包含这些测试数据和运行输出,当然还可以含有其他测试数据和运行输出(有时需要多组数据)。
3.期末闭卷考试
期末闭卷考试成绩占总成绩的70%。期末闭卷考试考核学生对本课程的综合理解情况,采用选择、填空、综合等多种题型,内容涵盖算法时间复杂性分析、空间复杂性分析、线性表、栈和队列、串、数组和广义表、树、图、查找和排序等内容,以树和图为重点,采用百分制,试卷成绩乘以70%即为期末闭卷考试成绩。
四、教学方式改革
由于“数据结构”不仅涉及理论方面的知识,还涉及编程实验的教学部分,如何在教学过程中对学生的自主学习潜力进行激发是一个值得探讨的问题。为了能够激发学生的主观能动性,需要在教学过程中实施以教师为指导的、以学生为中心的教学方式:[3,4]
1.帮助学生建立起学习动机,激发学生的学习兴趣
通过课堂理论教学的学习,学生已基本掌握了“数据结构”的理论知识。为使“数据结构”课程理论讲解部分更加生动和易于理解,在教学过程中,可以使用多媒体讲解的手段。另外,实验课的内容可以按照由容易到复杂的顺序进行安排,使得学生在成功完成简单作业后再有兴趣完成复杂作业,锻炼学生分析和解决问题的能力。
2.在教学过程中布置适当的实验作业以帮助学生思考,加强其认识
例如在实验“图及其应用”中,布置实现最短路径的算法,学生会发现,此类问题在实际软件应用中也有很强的实用价值。这样,可以使学生对数据结构算法应用范围的认识进一步加强。
3.增强教学过程的开放性
例如,在课程教学过程中,学生可以随时提问和展开讨论;在一些算法的讲解过程中,可以安排学生参与讲解。同时,学生可以对不同的算法设计进行评价,增加课堂教学的趣味性,提高学生的参与意识。
五、教学效果
1.课堂和实验课教学效果
通过教学实践的改革,在课堂教学过程中,学生积极思考和回答问题,学习兴趣得到了进一步提高,并且能够主动查阅参考书目,提出想法和问题。在实验课上,大部分学生能够独立完成实验内容,有些善于钻研的学生的实验更为深入,提出了算法或程序改进的思路。
2.实验报告反馈的教学效果
从学生提交的实验报告中可以看出,学生主观能动性得到了充分的提高,完成过程较好。学生在编写程序完成实验的过程中,不仅巩固了课堂和教材上的教学内容,还自发引入一些创造性的设计和实现,使得教学效果更加明显。
总而言之,学生在“数据结构”课程的学习过程中,发挥了学习的主观能动性,提高了对问题的分析能力和解决能力。
参考文献:
[1]汪沁,奚李峰,等。数据结构[M].北京:清华大学出版社,2009.
[2]严蔚敏,吴伟民。数据结构[M].北京:清华大学出版社,2004.
[3]吴疆,陈瑛,等。现代教育技术教程[M].北京:人民邮电出版社,
2005.