“数据结构”综合性课程设计教学探索与实践..doc

“数据结构”综合性课程设计教学探索与实践..doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“数据结构”综合性课程设计教学探索与实践.

“数据结构”综合性课程设计教学探索与实践 摘要:本文针对“数据结构”课程的传统教学方法存在的问题,就综合性课程设计的内容选择、实施方法与激励手段等方面进行了一系列的改革探索。br  关键词br本文来自:计算机毕业网 :数据结构;课程设计;启发式教学br      br  1引言br  br  “数据结构”作为实践性很强的计算机专业的基础课,教学中必然离不开实践。针对数据结构的课程设计实践不仅可以帮助学生巩固和加深对课程内容的理解,更重要的是可以进一步锻炼程序设计的技能,并初步感受软件开发的规范,更能全面培养学生综合运用知识的能力、文献检索与分析能力、工程化能力、进行研究性学习的能力、创新能力以及团队合作的能力等。本文是作者所在教学团队八年来的课程设计实践小结,介绍了在“数据结构”综合性课程设计的内容选择、实施方法与激励手段等方面进行的一系列改革探索。br  br  2传统教学方法存在的问题及解决思路br  br  数据结构的课程实践可分为一般性实验和综合性课程设计。在传统的课程教学中,往往采用一般性实验作为课程实践的主要内容,即布置针对本次课堂教学内容的小型练习题,让学生独立完成程序设计与实现。这样的实践主要存在两方面问题:br  第一,练习题所需要用到的知识点就是课堂教学刚讲授过的内容,学生只要直接拿来用就可以,不需要自己去考虑各种可能的解决方案并找到最合适的方法。这种实践是验证性的,比较简单直接,学生受到的锻炼相对较少。br  第二,学生独立完成小型程序,虽然可以在一定程度上锻炼编程能力,但这个锻炼的层次和涉及面都比较窄。现代软件开发的规模,使得团队合作在大多数情况下成为必须。而且部分数据结构只有在处理大规模输入的复杂问题时才能体现出优势,编写小型程序很难使学生真正认识到该数据结构存在的意义。br  针对上述问题,我们在设计较大规模的综合性课程设计时就必须注意两个方面:br  第一,课程设计题目覆盖的知识点应尽可能避免单一,要采用启发式的设计思路,引导学生围绕课程设计目标,通过查找与分析有关参考资料,进行探究式的学习,激发创造的意识和能力。所以,在题目设计和实施中,不应该只是“手把手”地教,要给学生留出发挥想象力和创造力的空间。br  第二,题目的规模应充分大,并且努力使学生对规范性的软件开发有初步体验,在一定程度上使得学生的工程化能力和团队合作能力得到锻炼。br  而上述两方面的考虑若要取得真正好的效果,还必须有一套行之有效的激励机制,既可以公平地判定每个学生作为个体的能力,又可以鼓励团队精神,同时还可以鼓励学生开拓创新思维,主动进行研究性学习。br  br  3课程设计的内容选择、实施方法与激励手段br  br  3.1内容选择br  综合性课程设计应强调知识的综合运用,锻炼学生对复杂问题进行分析与求解的能力,所以在选择内容时可以从以下三方面考虑:br  第一,题目应避免涉及单一知识点。例如“迷宫问题”,即输入一个迷宫的布局,要求找到一条走出迷宫的路径并用图形界面显示。学生可以选择用不同的数据结构表示迷宫以及移动方向,可以选择用深度优先或者宽度优先搜索的算法来得到路径,同时还锻炼了对图形界面的编程技巧的掌握。又例如“宇宙旅行”,即给定两星球间各个中转空间站的临时客流容量,求终点星球接待站的总客流容量。此题目的解法主要涉及网络流算法;在每一步修正流量时,可以选择剩余图中从起点到终点的最短路径,则又涉及到单源最短路径算法;最后为了提高查找空间站名称的效率,可以采用散列表进行名称映射。br  第二,为锻炼学生进行研究性学习的能力,可设计算法效率分析比较类型的题目。例如比较普通的二叉搜索树、平衡搜索树和伸展树的插入与删除操作效率,要求通过实验取得三者的实际运行时间,绘出三者复杂度函数的曲线,分析比较它们的效率并给出证明等等。br  第三,采用启发式教学思路,设计有多种解法的题目,可以给学生留出发挥想享力和创造力的空间,锻炼学生灵活运用知识分析问题和解决问题的能力。例如“熊猫烧香”,即以著名病毒“熊猫烧香”的传播规律为背景,要求计算整个网络被各种病毒变种感染的情况。题目可以简单地用广度优先搜索解决,但是效率比较低。巧妙一点的方法可以将求单源最短路径的Dijkstra算法略做修改,得到效率明显提高的解决方案。更快的算法则是利用并查集。教师可以通过设计不同层次的测试数据来区分不同效率的算法,鼓励学生自己去尝试各种方案,找出最有效的解决办法。br  在内容选择方面,我们还建议参考历届ACM国际大学生程序设计竞赛的题目,该竞赛特别强调考察参赛选手对各种算法的应用能力,题目的综合性较强,非常适合辅助学生学习体会数据结构的妙用。浙江大学建设有全球著名的程序设计竞赛练习网站(.

您可能关注的文档

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档