1、1“数据结构”课程教学改革与实践摘要:对“数据结构”课程教学进行了改革,在教学过程中除了正常的课堂教学内容外,还结合了理论和实验部分的内容,并对实验环节和考核方式等方面进行了改革和实践,提高了学生的分析和解决问题的能力、创造能力,教学效果良好。 关键词:数据结构;计算机教学;教学改革 作者简介:崔翔(1975-) ,男,河南开封人,河南大学计算机与信息工程学院,讲师。 (河南 开封 475000)李晓雯(1984-) ,女,河南周口人,郑州防空兵学院指挥控制系,助教。 (河南 郑州 450000) 中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)04-0060
2、-02 “数据结构”是一门计算机软件基础课程,主要讲授计算机软件中数据组织关系的原理、算法和实现。1,2该课程是计算机软件专业、自动化专业及相关信息类专业课程体系中一门重要的专业基础课。 “数据结构”一般以“计算机引论” 、 “离散数学” 、 “C 语言” 、 “Java 语言”等课程为先修课程,同时开设的课程有“数据库原理” 、 “计算机体系结构”等课程。该课程涉及程序设计语言、计算机软件理论和毕业设计诸多教学环节,主要目的是帮助学生建立计算机软件中数据的组织方法及其分析设计的基本技能,提升学生编程实践能力和综合解决问题的能力。1“数据结构”内容丰富,涉及多门交叉课程,为了在有限的教学时间内
3、2尽快引导学生入门,使其在理论与实践两方面的能力都得到提高,作者从“数据结构”课程的内容安排和教学方式等不同侧面进行了一定的探索和研究。 一、课程的教学内容改革 “数据结构”的主要内容包括数据结构组织的基本原理、算法和基于 C 语言的课程实验。1,2为了能在课程的讲述过程中重点突出,做到理论与实践相结合,在“数据结构”教学内容安排上进行了重新整合。1.教学主线的确定 在教学过程中确定了一条课程主线,该主线构建在计算机软件数据的基本组织结构线性结构、树形结构和图形结构以及联系这些数据结构的基本操作以及查找和排序算法之上,1如图 1 所示。 这条主线按照数据的组织结构展开,对总学时为 80 学时的
4、教学计划,可以安排 60 个学时的理论课时间,以及 20 个学时的实验课时间。通过主线,可以将“数据结构”教学理论部分和课程实验部分有机结合。根据制定的教学主线,教师也可以根据教学计划对课时多少进行相应调整,例如增加更多的课程实验部分的内容。 2.“数据结构”理论教学的内容安排 “数据结构”的理论教学部分包括数据组织结构的概念和基本算法。掌握数据结构的理论内容部分可以帮助学生理解课程本质。内容安排以数据不同组织结构为主线,算法上有重点地展开讲解,主要目的在于帮助学生掌握数据结构的实质原理,培养学生对软件中数据的组织和基本3操作的能力。 其内容安排如下:线性数据结构的基本概念和基本算法(包括数组
5、、队列、栈和链表的基本概念和基本算法) ;树形数据结构的基本概念和基本算法;图形数据结构的基本概念和基本算法;查找、排序的数据结构和算法。在数组概念的教学中,强调数组元素可以是基本数据类型或是构造类型,按数组元素的类型不同,强调数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别;在队列概念的教学中,强调其只允许在表的前端进行删除操作,而在表的后端进行插入操作的特点;在栈概念的教学中,讲解栈是只能在某一端插入和删除的特殊线性表;在链表概念的教学中,讲解其物理存储单元上非连续、非顺序而数据元素的逻辑顺序通过链表中的指针链接次序实现连续存储的特点;在树形数据结构概念的教学中,讲解其数据元素
6、一对多的存储特点;在图形数据结构概念的教学中,讲解其数据元素多对多的存储特点;在查找和排序概念的教学中,讲解不同的查找和排序算法(包括稳定算法和不稳定算法) ,分析其性能特点。 二、课程实验环节教学的改革 笔者在“数据结构”的教学中增强了实践环节的内容:在课程的教学时间安排中,实验课程的时间约占总教学时间的 25%,并且综合性实验的内容比例占 70%左右,实验内容的安排覆盖理论课部分的讲授内容。“数据结构”实验课程在安排上围绕前述的课程主线展开,将理论教学部分和实验教学部分有机结合,其目的要求如表 1 所示。通过课程实验教学环节的改革,学生学会如何分析数据的特性、给出数据结构的描述、4写出相应
7、的算法,培养和训练学生编写复杂程序的能力。 三、课程考核方式的教学改革 考试形式可采用闭卷考试成绩、平时成绩与课程实验成绩相结合的方式。评分标准:数据结构总成绩=平时成绩+实验成绩+期末闭卷考试成绩。 1.平时成绩 平时成绩占总成绩的 10%,采用百分制共 10 分,评分标准采用以下方式:每缺勤一次扣 3 分,满三次扣 10 分,满四次取消考试资格。 2.实验成绩 实验成绩占总成绩的 20%,采用百分制共 20 分,评分标准采用以下方式:在数据结构实验教学中共有 8 次实验,内容涵盖线性表、栈和队列、树、图、查找和排序,根据学生撰写的实验报告和程序代码实现情况,对每个学生完成的每个题目评出百分
8、制成绩,然后求出 8 次的平均成绩,再乘以 20%即为实验成绩。每次实验结束后,学生均应上交实验报告,源程序要加注释。如果题目规定了测试数据,则实验报告结果要包含这些测试数据和运行输出,当然还可以含有其他测试数据和运行输出(有时需要多组数据) 。 3.期末闭卷考试 期末闭卷考试成绩占总成绩的 70%。期末闭卷考试考核学生对本课程的综合理解情况,采用选择、填空、综合等多种题型,内容涵盖算法时间复杂性分析、空间复杂性分析、线性表、栈和队列、串、数组和广义表、树、图、查找和排序等内容,以树和图为重点,采用百分制,试卷5成绩乘以 70%即为期末闭卷考试成绩。 四、教学方式改革 由于“数据结构”不仅涉及
9、理论方面的知识,还涉及编程实验的教学部分,如何在教学过程中对学生的自主学习潜力进行激发是一个值得探讨的问题。为了能够激发学生的主观能动性,需要在教学过程中实施以教师为指导的、以学生为中心的教学方式:3,4 1.帮助学生建立起学习动机,激发学生的学习兴趣 通过课堂理论教学的学习,学生已基本掌握了“数据结构”的理论知识。为使“数据结构”课程理论讲解部分更加生动和易于理解,在教学过程中,可以使用多媒体讲解的手段。另外,实验课的内容可以按照由容易到复杂的顺序进行安排,使得学生在成功完成简单作业后再有兴趣完成复杂作业,锻炼学生分析和解决问题的能力。 2.在教学过程中布置适当的实验作业以帮助学生思考,加强
10、其认识 例如在实验“图及其应用”中,布置实现最短路径的算法,学生会发现,此类问题在实际软件应用中也有很强的实用价值。这样,可以使学生对数据结构算法应用范围的认识进一步加强。 3.增强教学过程的开放性 例如,在课程教学过程中,学生可以随时提问和展开讨论;在一些算法的讲解过程中,可以安排学生参与讲解。同时,学生可以对不同的算法设计进行评价,增加课堂教学的趣味性,提高学生的参与意识。 五、教学效果 1.课堂和实验课教学效果 通过教学实践的改革,在课堂教学过程中,学生积极思考和回答问6题,学习兴趣得到了进一步提高,并且能够主动查阅参考书目,提出想法和问题。在实验课上,大部分学生能够独立完成实验内容,有
11、些善于钻研的学生的实验更为深入,提出了算法或程序改进的思路。 2.实验报告反馈的教学效果 从学生提交的实验报告中可以看出,学生主观能动性得到了充分的提高,完成过程较好。学生在编写程序完成实验的过程中,不仅巩固了课堂和教材上的教学内容,还自发引入一些创造性的设计和实现,使得教学效果更加明显。 总而言之,学生在“数据结构”课程的学习过程中,发挥了学习的主观能动性,提高了对问题的分析能力和解决能力。 参考文献: 1汪沁,奚李峰,等.数据结构M.北京:清华大学出版社,2009. 2严蔚敏,吴伟民.数据结构M.北京:清华大学出版社,2004. 3吴疆,陈瑛,等.现代教育技术教程M.北京:人民邮电出版社,2005. 4何克抗.建构主义的教学模式、教学方法与教学设计J.北京师范大学学报(社会科学版) ,1997,15(5):74-81. (责任编辑:宋秀丽)
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。