- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
论“数据结构”课程教学破与立
论“数据结构”课程教学破与立
摘要:分析了计算机学科的核心课程“数据结构”在教学中存在的一些问题,并且探讨了解决方法。根据该门课程的特性,提出破除不合适的惯有教学思维和模式,建立实用的创新教学理念和方法。为了帮助学生更好地掌握该门课程,提出了网状体系、程序教学以及改进的问题教学模式等先进思想及方法,并且结合课程的教学内容进行了阐述和分析。
关键词:数据结构;网状体系;线性思维;程序教学
作者简介:乐千桤(1976-),女,四川南充人,成都理工大学管理科学学院,讲师;范安东(1970-),男,四川西充人,成都理工大学管理科学学院,教授。(四川 成都 610059)
基金项目:本文系成都理工大学中青年教学骨干培养基金(项目编号:JXGG201305)、四川省质量工程项目“数学应用与计算机仿真”省级实验教学示范中心项目(项目编号:13z002-24)的研究成果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)17-0067-02
“数据结构”是计算机学科的核心课程之一,美国的克努特教授在其1968年所著的《计算机程序设计技巧》中第一次系统地阐述了数据结构的逻辑结构、存储结构及相关操作,由此数据结构开始作为一门独立的课程而开设。[1]“数据结构”是高级语言程序设计的后继课程,也是操作系统、编译原理等课程的前驱课程。数据结构贯穿整个程序设计过程,如果缺少数据结构和算法的专业知识和技能培训,很难设计出高水平的应用程序。
“数据结构”课程旨在培养学生掌握程序设计中的数据组织和存储方式以及相关的算法。训练学生分析计算机所处理的数据的特性,合理地组织数据,设计正确有效的算法,编写符合软件工程规范的复杂程序等能力,这些是计算机相关专业学生必须掌握的技能。
一、存在的问题
“数据结构”课程内容丰富,概念多,算法多,模型多,知识点相对分散。学生普遍反映内容多而杂,相似相近的概念不易区分,概念抽象难懂,[2]学了后面,忘了前面。因此帮助学生建立清晰的知识结构脉络是学好这门课程的前提。
该课程是建立在程序设计基础上的,学生编程基础不???,导致不能很好地理解算法,更难用程序实现算法。当前主流的“数据结构”教材偏重于理论教学,所描述的算法与程序实现有一定的距离,学生普遍反映难以实现算法到程序的转换,这也是学习中亟待解决的问题。该课程包含大量的理论知识和原理讲解,内容抽象,理论性强,[3]如果不能很好地组织教学,容易使学生的学习过程枯燥,难以激发学生的学习兴趣,从而影响教学效果。
因此我们在遵循“数据结构”课程教学规律、学习认知规律的基础上,提出破除教学过程中的不合适的模式和方法,建立创新的有效的教学思维和方法。
二、教学理念和方法的改进
1.破“线性思维”,立“网状体系”
“数据结构”课程的主要内容包括三大基本结构:线性结构、树形结构和图形结构,基本结构中又包括具体的结构形态,如:堆栈、队列、二叉树、有向图、无向图、完全图等,概念多,分类也复杂。在当前的教学中通常是沿着三大基本结构这条主线,依次讲述每种具体结构的定义、实现与应用。这种线性的教学方式,容易造成学生孤立地学习各种结构,思维停留在分散的点上,不能融会贯通。
因此,提倡在教学过程中破除“线性思维”,应当分析各种结构的关系脉络,建立各种结构的“网状关系”。例如以线性结构为出发点,通过对基本线性结构的限制引出堆栈和队列,从线性结构的不同扩展方式引出多维数组、广义表以及树形结构和图形结构,再根据各种结构的约束条件,引出有向图、完全图等具体的结构形态,如图1所示。这样有助于学生把各种结构衔接起来,帮助学生把握整个课程的内容体系,跳出零乱分散的知识点,站在把握全局的高度来看待和组织知识点,如此才会有“会当凌绝顶,一览众山小”的感觉。打破线性的学习思维,建立网状的知识体系,在“数据结构”的学习中至关重要。
2.破“重算法略程序”,立“重程序验算法”
当前“数据结构”课程的教材一般呈现的是独立的算法模块,与能解决实际问题的程序代码有一定的差距,通常教师在教学中重视的是算法的思想,认为学生只要理解了算法、掌握了算法过程就算完成了“数据结构”的教学任务,至于算法的编程是程序设计课程的任务,从而忽略了算法到程序的转换。殊不知“数据结构”课程旨在提高学生的编程能力,是程序设计课程的延伸。程序设计课程学习基本的语法,“数据结构”课程是指导学生如何运用基本语法编写能解决实际问题的程序,指导学生分析问题,设计“数据结构”和算法,最终以程序的方式来解决问题,通过程序的运行结果来验证算法。所以要打破重视算法、忽略程序的教学思维,强调编写程序来实现算法,验证算法。
鉴于有的学生编程基础不
文档评论(0)