实验教学深化理教学的数据结构教学新模式

点赞:12055 浏览:47854 近期更新时间:2024-03-27 作者:网友分享原创网站原创

摘 要 :分析数据结构课程教学中存在的问题及其原因,提出一种以实验教学深化理论教学的新的教学模式,阐述这种教学模式的内涵、特点和实施过程,介绍模式的应用效果.

关 键 词 :实验教学;教学改革;教学模式;数据结构

0、引言

编程能力是软件工程专业中最重要的专业技能,也是评价学生专业素养和专业水平的首要指标.这种能力的培养必须通过对程序设计语言、数据结构和算法分析与设计等课程的学习,与课程对应的课内实验练习以及针对具体工程问题的实训几个环节,按层次递进式地进行.在这种能力培养过程中,数据结构课程教学、实验和实训处于核心地位,通过培养学生设计良好风格的算法,提高解决具体问题的能力,为计算机应用软件的研制打下坚实的理论和实践基础.通过对“数据结构”教学中存在问题及产生原因的分析,笔者提出了以“实验教学”深化“理论教学”的新的数据结构教学模式,强化数据结构基本知识和基本技能的培养,以期实现软件工程专业规范中提出的“加强学生实践和动手能力的培养”这一目标㈣.

实验教学深化理教学的数据结构教学新模式参考属性评定
有关论文范文主题研究: 关于数据结构的论文范文文献 大学生适用: 学校学生论文、专科论文
相关参考文献下载数量: 75 写作解决问题: 写作资料
毕业论文开题报告: 论文模板、论文设计 职称论文适用: 技师论文、初级职称
所属大学生专业类别: 写作资料 论文题目推荐度: 优质选题

1.数据结构教学中存在的问题及原因分析

1.1 存在的问题

数据结构教学包括教和学两方面.从教的角度看,课程理论性强,讲起来枯燥,学起来困难,如算法实现受制于对程序设计语言的掌握,往往很难给出一个直观的结论.从学的角度看,该课程是专业基础课,是软件开发和设计的基础,也是考研的科目之一,学生从态度上十分重视.然而在学习过程中,由于课程与离散数学、程序设计语言的掌握程度密切相关,本身逻辑性强,学生往往一次没弄懂,接下来就比较惘然,课程结束了也不知道学了什么,更不会利用学过的知识去解决具体问题.

1.2 产生的原因

数据结构课程逻辑性强,但教师授课时不能将离散数学和程序设计语言课程中的内容以及数据结构课程本身的知识点联系起来,不能对共性问题进行提炼归纳,使知识点系统化.

逻辑性强的算法很抽象,即使采用类语言描述,算法执行的结果也不能直观地表示出来.教师在讲授高级语言时更强调掌握语言的基本知识,很少关注培养编制程序解决具体问题的能力.受课时的限制,教师无法在课堂上用高级语言实现所有算法的传授.有限的几次课内实验也往往由于学生编程能力的欠缺,不能顺利完成,使学生完全失去对课程的兴趣和学习的信心.

受到上机实验时间以及学生偏弱的编程能力的限制,上机实验就只能练习规模小、针对基本原理的小程序,当面对具体复杂的综合性问题时,学生不知道如何合理地运用所学的数据结构知识解决问题.

显然,课程的教学一方面要加强理论指导,进一步培养学生的逻辑和抽象思维能力;另一方面要加强实验操练,进一步训练学生使用程序设计语言的能力,通过课程中典型算法的实现,提高学生使用指针、复杂数据描述和处理问题的能力.实验教学既是对学生理论学习的检验,也是对学生综合能力的鉴定,因此,实验教学是深化理论教学的关键.

2.教学模式设计

理论教学让学生掌握数据结构课程的基本理论和基本原理,这是课程教学的最终目的,因此理论教学不能忽视.教师在精心讲解的同时,也要强化实验和实训,将基本理论中的知识点细化为实验内容,通过精心设计多层次的实验,巩固和强化理论知识的学习.加强实验环节的过程管理可以强化理论教学的效果.我们按照软件开发的工程化思想,综合应用基本知识,针对具体问题开发应用软件.教学模式的设计包含下面3个环节.

2.1 以教材章节中的一个或几个知识点设计基础实验内容

数据结构基础实验可以在线性表、堆栈、队列、二叉树、图、查找、排序等章节中分别进行设计.教师在设计时要明确每个实验强化的基本知识点,选择难度适中的典型算法进行训练,让实验内容涵盖课程的主要知识点.学生用规范的软件开发方法和程序设计语言实现算法,既加深了学生对算法的理解,又提高了他们的编程能力.

加强实验过程的管理.实验前,要求学生理解实验涉及的基本知识点,编写好程序.进入实验室后,学生要集中精力进行程序的调试和修改,提高语言的使用能力.实验结束后,学生要写出实验报告,重点写出调试过程,成功和失败的经历,写好实验总结,提高软件文档的写作能力.

2.2 以教材中相关的某几个知识点设计综合性实验内容

设计需要用几个知识点解决的、有一定具体含义和应用背景的综合性题目,要求学生以小组为单位合作完成.这些综合性题目设计的基本要求是运用书本中学到的几种算法解决一个实际问题,要求学生分析问题、组织数据、提出解决方案.

在实验过程中,首先,按照软件工程化的思路进行问题规划、任务分工、团队协作,具体实验步骤包括:问题分析、任务分解、数据类型描述、系统概要设计、详细设计、编码、调试和实习报告编写.其次,题目的设计采用招标的形式,可以让学生自己设计题目,征集解决方案;也可以从多种解决方案中选择优秀的方案进行实施.第三,指导教师要充分参与到学生的实验过程中,通过论坛等形式收集学生的反馈信息,及时了解学生对知识的掌握情况、题目的完成情况以及学生的意见.

2.3 增加激励措施,改革成绩评价机制

加大实验课程成绩在总成绩中的比例,给予实验课程优秀的学生参加竞赛和参与教师科研的优先权,激发学生学习的主动性和创造性.

3.教学模式实施

我们设计了一组课内实验和训练的题目,涵盖了数据结构课程的主要知识点.在实施这种教学模式的过程中,我们采用了严格的实验过程管理,经过两年的实践,教学效果良好.学生不仅掌握了数据结构的基本知识和程序设计的基本技能,而且锻炼了解决问题的能力和团队合作精神,在机器人竞赛和软件外包怎么写作编程大赛中取得很好的成绩.具体实施过程包括下面的几个环节.

1)强化理论教学.

笔者结合教学体会,编制了数据结构补充讲义,内容包括c语言的高级技巧(指针的使用和函数的设计)、数据结构中典型算法和算法设计方法(分治法、递归、优化算法、线性规划等)几个方面;给出了典型的练习题目和详细的答案;另外,对考研大纲进行了解析,提出了复习的方法和措施.这些内容的梳理让同学对整个课程的基本知识点有了更清晰的了解.


2)重视基础实验.

根据数据结构中的知识点设计对应的基础实验,采用基础实验与课堂教学同步进行的方式,要求学生在学习该知识点后,在实验课中完成对应的实验内容,通过这样的训练,强化对基本知识点的掌握.基础能力实验及知识点对照见表1.

3)设计综合性实训.

首先通过对大型程序的分析,学生了解和掌握基于软件工程的大型程序开发的模型和方法,了解团队合作的意义和步骤,了解软件文档写作的基本步骤和规范.我们从多个征集的实训题目中挑选了有代表性的训练题目,见表2.

根据是否给出详细的设计和解决方案,将这些题目分为不同等级,便于学生的合作和成绩的评定.

(1)等级1提供详细的系统分析过程和算法流程,提供程序设计的框架,训练学生综合应用基本知识的能力.学生1人一组,独立完成,分数从60分起评.

(2)等级2提供初步的系统分析过程和算法的基本过程描述,要求学生自己设计算法,训练学生项目开发的能力.学生1~2人一组,合作完成,分数从75分起评.

(3)等级3要求学生自己查阅相关资料,写出详细的系统分析、设计算法,2~3人一组,训练学生利用软件工程的思路,独立设计开发应用软件的能力.分数从85分起评.

4)改革成绩评定办法.

期末考试成绩中理论成绩占总成绩的30%,课内实验占30%、综合实训占40%.学生以团队形式,独立提出问题,经过合作完成任务的给予加分.选拔成绩优秀的学生参加各类程序设计竞赛,吸收在课题研究中表现突出的学生到学院各类横向或纵向课题的研究梯队中,开展初步的科学研究.

4.结语

数据结构课程是培养学生程序设计能力的基础学科,理论性和实践性都很强.课程的学习需要理论教学的结果来指导实验教学的过程,更需要实验教学的过程来强化理论教学的效果.这种以实验教学深化理论教学的教学新模式,将理论教学中的知识点分解到相应的实验实训环节中,通过系统、科学地安排实验教学,巩固和强化了学生对理论问题的理解和掌握;利用实验过程和实验结果的直观性,激发学生学习的兴趣,培养了学生动手解决实际问题的能力,实现了“加强学生实践和动手能力的培养”的软件工程专业人才培养目标.