- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
依据认知规律的数据结构实践教学方法探索.doc
依据认知规律的数据结构实践教学方法探索
摘要:针对学生们在数据结构课程教学中实践能力不强的问题,分析数据结构实践教学的特点,依据学生的认知规律,提出“实践到理论”“分层实践教学”及灵活运用多种考核方式的教学策略。
关键词:认知规律;数据结构;实践教学;考核方式
数据结构是计算机专业最核心的专业基础课之一,主要描述的是典型数学模型及其操作在计算机中的表示和实现,实践性和理论都很强。数据结构的实践能力对于学生升学、就业均有重大的影响。数据结构的教学目标包含2方面的内容:理论上使学生能对给定的实际问题,建立准确的问题模型,选择合理的数据结构及其运算集,并设计有效的求解算法;实践上使学生能够运用所熟悉的编程语言,对设计好的解决问题的算法进行高效编程,并熟悉软件设计的基本流程。
根据学生们的反映,理论教学基本上可以比较好地掌握,但一旦进行编程实践,还广泛地存在如下的问题:①有茫然不知所措的感觉,不知如何编写程序,很难将书本理论转化为可以运行的程序;②实验题目没有与实际问题相结合,致使学生对实验缺乏兴趣;③题目缺乏层次,对所有学生实行“一刀切”;④实验题目老套,缺少变化;⑤实验报告不规范,缺少对科技论文写作的必要训练。
这些问题的存在,主要是在以往数据结构教学实践过程中,对学生的认知规律没有很深刻的认识,教学过程、教学内容不太符合学生的认知规律。为了解决这个问题,我们针对数据结构教学实践过程进行了分析,并按照学生认知规律,进行改革和探索,取得了比较好的教学效果。
1、在理论教学中把“理论到实践”改为“实践到理论”
在我们选用的严蔚敏老师所编写数据结构教材中,比较注重理论的抽象性、通用性,很少具有完整的、具体的、能够在计算机上运行的程序。学生刚刚学习了C语言、Java语言,很难理解为何需要“抽象数据类型”,为何用“伪代码”,而不用某种具体语言;也很难理解为什么在定义“抽象数据类型的基本操作”时,不写具体的实现代码。
为了符合学生的认知规律,在理论教学中,我们采用“从程序实例到理论”的教学方法;先给同学分析功能完全一样,分别用C语言、Java语言编写的2个程序实例;然后,再分析其共同特点,把“相同功能的函数”抽象为“抽象数据类型中的基本操作”。再比如,讲解为何数据类型用“ElemType类型”而不用int、float、double类型时,先举出功能完全一样,仅仅变量数据类型不一样的3个程序实例;然后,再分析其共同特点,就很容易让学生们理解为何要把“int、float、double”替换为“ElemType”了。
在第一次理论教学过程中,采用了“理论到实践”的教学方法,我们发现教学效果不够理想;为了取得更好的教学效果,我们分析了学生的认知规律,在后来的理论教学过程中,采用了更加符合学生认知规律的“实践到理论”的教学方法后,发现学生的动手能力、“把伪代码转化为真实程序”的能力得到了很大的提升。
2、分层实践教学
为了让实验教学方法更加符合学生的认知特点,满足不同层次学生对实验题目难度、新颖性、解决实际问题的不同要求,提升学生对实践教学的兴趣;我们针对不同学生的特点,制定了“分层实践教学”的方法。将实践内容分为4个层次,如图1所示。
2.1 基础性实验
基础性实验是围绕数据结构基础知识内容的实验项目。目的是让学生掌握基本数据结构的特点和基本概念,同时掌握基本算法及应用。
基础性实验的题目一般难度很低,基本上属于课本上所讲算法的实现,几乎与课堂教学完全一致,并且给学生分别提供用Java、c语言所写的2个参考示例程序,让学生在其基础上进行适当的修改。这样,当面对“从抽象理论到具体程序”时,就可以解决学生完全不知如何下手的问题。
基础性实验要求所有学生必须独立完成。
2.2 设计性实验
设计性实验是延伸基础实验内容、增加不同难度,形成难度分级的实验项目。学生自行设计数据结构和算法,增强学生对数据结构和算法的理解,提高其解决问题的能力和良好的程序设计能力。
设计性实验的题目由老师提供解决问题的基本步骤和思路,不提供参考代码,让学生自己独立完成所有代码的编写;并且提供多个难度不同的题目,让学生们根据兴趣自由选择其中的一个,这样就大大调动了学生的学习积极性。
设计性实验要求每个学生都应选择一个难度适合自己的题目莱独立完成,现实中,可能会有极少数的学生(5%~10%)难以完成该级别的实验。
2.3 综合性实验
综合性实验是针对数据结构中涉及的多个重点、难点内容设置难度分级的实验项目。主要训练学生综合运用知识的能力、协作能力和创新能力。
综合性实验的题目一般是使用数据结构的知识,解决一个难度较大的现实问题;该问题应能够充分吸引学生或者与
原创力文档


文档评论(0)