数据结构教学论文

2024-10-17

数据结构教学论文(通用12篇)

数据结构教学论文 篇1

1. 引言

数据结构课程是计算机专业中的一门综合性的专业基础课, 是计算机专业课程体系中的核心课程, 它所讨论的知识内容和提倡的技术方法, 无论对进一步学习计算机相关领域的其它课程, 还是对从事大型信息工程的开发, 都有着枢纽的作用。其学习效果直接影响到学生的数据抽象能力和程序设计能力。但是, 由于该课程的内容具有高度抽象性和综合性, 并且实践性很强, 因此, 当学生在完成作业或解决具体的实际问题时, 往往出现理论与实践相脱节的现象。本文针对如何将数据结构课程中的抽象概念形象化, 从教学观念和教学方法上进行相应的改革, 建立理论与实践相结合的“教、学、做”一体化的教学模式。

2. 数据结构课程教学的改革与实践途径

2.1 教学指导思想的改革。

数据结构这门课程的改革, 首先应该从教学理念方面来进行改革, 要改革其教学指导思想。作为老师我们不仅要熟练掌握知识, 更要将书本知识浅显易懂地传授给学生, 这就要求教师不能只掌握书本知识, 还要做到把多门相关课程的知识融会贯通。时刻关注学科的前沿发展, 在课堂引入新思路、新观点。并根据课堂教学状况而进行随时的变化。

2.2 激发学生的学习兴趣。

学好一门课, 首先应该先培养学生的学习兴趣。由于数据结构课程的知识和理论比较抽象, 所以学生们接触起来可能会觉得有些难度, 但是兴趣是一个人最好的老师。在数据结构课程的教学过程中, 教师要有目的、有计划地进行教学案例的选择与设计, 要充分体现出理论知识的实际应用性, 增强学生对于数据结构这门课程的学习兴趣与学习热情。在进行每一章的教学时首先说的一句话:为什么要学?然后再通过问题驱动, 从常识性思考开始;最后在每一章的结尾会让学生解决一个有趣的问题。再讲解每一个重难点之前我会问学生一个3W问题, 也就是why—how—what。激发学生的兴趣, 引导学生一步步学会编程。

2.3 对学生进行教学内容的调整。

数据结构中的算法描述也是许多学生学好本门课程的障碍。数据结构课程通常选择C语言作为算法的描述性语言, 而且对C语言中的函数、指针和结构体部分要求较高, 而这些部分又是C程序设计教学中的难点。在平时的教学中发现有一部分学生对数据结构这门课程非常感兴趣, 对于某些算法思想反应很快, 但是让他们进行算法描述或者编写相应的程序代码, 就是抓耳挠腮, 真是难啊。这就出现了数据结构与先修课程C语言程序与设计衔接不好的问题, 从而导致学生学习数据结构的难度增加。因此, 在数据结构的教学过程中, 教师应根据程序设计的实际需要来对学生进行教学内容的调整, 并充分考虑到学生在学习数据结构这门课程之前的基础性课程学习情况, 比如说首先要打好数据结构学习的基础, 在讲授C语言时将那些会在数据结构课程中用到的重点知识反复强调, 比如数组, 指针, 结构体, 类型定typedef, 动态内存分配等等。让学生对这些知识重点掌握, 另外加大实验课的强度, 先将用到的C语言相关内容让学生结合课本重新温习, 期间对其进行课外指导, 实验课之前先让学生把算法的思想, 算法的步骤以及用到的一些关键性的代码先自己写一遍, 然后实验课中将自己的算法进行编程实现。这样学生在学习数据结构时就会相对的轻松些。

2.4 利用演示性教学软件或Flash进行教学。

将演示性教学软件或Flash作为对传统教学的有益补充, 在课件中通过动画的形式演示程序执行算法的全过程, 不仅直观的展示了算法的步骤, 并且加深了学生对该数据结构的理解。实验课中再将每节实验课用到的算法动画演示发给学生让学生多看多想, 每看一遍这样的动画演示就会多理解一层。比如冒泡排序, 可以利用动画演示将冒泡排序的每一趟排序清晰的进行一遍演示, 从而使学生加深对冒泡排序思想的理解。如下图所示:

3. 结语

通过这些措施我发现实验课中独立成功完成作业的学生由1 个慢慢的增加到了80%的学生能真正领会算法并独立完成该算法的编写。这样, 既能激发学生学习知识的主动性和兴趣, 又能锻炼学生的编程动手能力。它高效地组织和开展了课程教学, 有利于理论与实践教学的有机结合, 有利于提高学生解决实际问题的综合能力, 在提高教学效果上起着较为明显的作用。

摘要:数据结构是计算机程序设计中的一门重要的基础性课程, 但是目前该课程的教学过程中还有不少问题, 从而大大影响了该门课程的教学效果。因此, 本文提出了利用演示性教学软件或Flash进行课程教学的方法, 通过一定的实践教学活动来提高其教学改革的成效。

关键词:数据结构,教学改革,教学实践

参考文献

[1]蓝雯飞.数据结构的面向对象描述方法研究[J].计算机工程与应用, 2006 (26) :79-80.

[2]严蔚敏, 吴伟民.数据结构 (C语言版) [M].北京:清华大学出版社, 2007:3-17.

[3]肖宏启.高职院校"数据结构"教学改革与实践[J].电脑知识与技术, 2010 (17) :4730-4731.

[4]庞晓琼.案例驱动的数据结构课程设计教学改革实践[J].计算机教育, 2009 (1) :53-55.

数据结构教学论文 篇2

1、通过复习,使学生进一步学会简单的数据分析,进一步体会统计在现实生活中的作用,理解数学与生活的紧密联系。

2、使学生进一步理解平均数的含义,初步学会简单的求平均数的方法,理解平均数在统计学上的意义。

3、通过复习,使学生进一步认识时间单位年、月、日,了解它们之间的关系;知道平年、闰年等方面的知识。

4、使学生会用24时计时法表示时刻,进一步理解时间和时刻的意义,学会计算简单的经过时间。

复习过程:

一、课前准备

1、请每一位学生用文字、表格、框图等方式分别表示出这两个单元的知识结构。

2、提示整理知识的一般方法:

(1)先想一想各单元分别学了哪些知识?是按什么顺序学习这些知识的?再看课本目录,看看教科书是按怎样的顺序来安排这些内容的?

(2)再看例题。每小节有几个例题,每个例题是什么内容?例题之间有哪些联系?你认为哪些例题解释同一个内容?这些内容你理解吗?

(3)根据目录和例题,概括出各单元知识。用自己理解的方式表示出来。

二、师生共同展示、交流自己整理的本单元知识结构图

1、让学生将自己整理的知识在小组交流。

师巡视:找整理得较全面、较有逻辑性的学生作品,在全班交流。师生共同对展示的作品做评价。

2、教师将自己整理的各单元知识结构图分别向学生展示。对着结构图,引导学生系统回忆各单元所学知识。

3、提出问题和介绍经验

师:“对以上学习内容,你有什么疑问?你有哪些成功的体会可向同伴介绍的?”

组织学生质疑、释疑并交流整理知识的体会。

三、利用所学知识解决具体问题

1、出示教科书第113页第5~6题,然后让学生独立作业,可直接写在书上。最后反馈交流。

2、学生独立完成P117-118页第5-7题。

四、全课小结

1、通过今天的复习,你有什么新的收获?

数据结构教学论文 篇3

【关键词】项目教学法; 数据结构; 角色; 建构主义; 主体

中图分类号:G42 文献标识码:A 文章编号:1009-8283(2009)05-0146-01

《数据结构》是计算机专业的核心基础课程,是采用C语言作为数据结构和算法的描述语言。教学要求是学会分析研究计算机加工的数据结构特性,通过数据结构应用实例引导学生掌握算法的时间分析和空间分析的技术,其隐含技术和方法多。相对《Photoshop》、《计算机组装与维护》等应用课程来说抽象、枯燥,学习起来比较困难,采用项目教学讲授《数据结构》课程值得探索。

项目教学法源于建构主义的教学法。建构主义学习理论认为,知识不是通过教师传授得到的,而是在一定的情景下,借助教师和同学的帮助,通过意义建构而获得知识。项目教学模式,集中关注于学生综合技能,让学生自主地进行知识的建构学习,以学生自主完成的项目去了解和掌握知识。在《数据结构》教学中采用以企业项目组成的形式,教师充当的是需求客户的角色,学生在教师的指导下去独立或共同完成项目任务,从而掌握《数据结构》教学课程的核心技术与技能,学会相互协作精神。

在《数据结构》教学过程采用项目教学,理论授课方面的内容,针对下次上机实践内容。理论授课时,用自然语言讲清楚该项目的解决方法,然后借助学生教材或教辅材料,仔细讲解用类C语言表达的本项目的算法,再由教师或优秀的学生用C(或C++)语言示范出大部分程序,让学生上机时补充完整并调试成功,最后对小组或个人提问并记下成绩。

在教学中以章节为主去学习“数据结构”体系,项目的规模较小,涉及的知识缺少连贯性和系统性。而设计一些较大项目,采用项目教学就很有必要,例如:图书管理、税务报表等项目。这些项目实践不仅使学生拓宽视野、增加兴趣、而且能提高学生的综合知识的能力。 所以“数据结构”教学中一个学期组织2~3次的项目教学,并安排在教学的后阶段比较好。

在《数据结构》教学项目的设置中,应在明确的教学目标指导下, 综合考虑项目的统筹设置、项目间的联系和层次递进。项目的选择要以所授课教学的内容为依据,既要与书本的知识紧密结合,又要能够充分体现当前的工程实际情况,让学生既能掌握学过的知识和探索新的知识。如“学生学籍管理系统设计与实现”数据结构课程的实践项目, 要求掌握逻辑结构、存储结构表示以及基本运算的实现方法,基本具备C程序设计语言开发小型软件处理实际问题的能力,学生学籍管理软件涉及到数据结构中线性表、树、查找表等结构的应用以及查找、排序等重要的处理算法。 以数据结构教学中要采用项目教学,还要充分认识项目教学四大要素主要由项目内容、活动主体、情境环境和项目结果四项构成。

(1) 建构课程项目内容

项目教学是以真实的世界为基础挖掘课程资源,其主要内容来自于真实工作情景中的典型的工作任务,而不是在学科知识的逻辑中建构课程内容。对于“停车场管理”实践,从项目教学法的要点中分析,应要求学生对数据结构的各种结构进行系统的深入分析,对管理软件的手段和流程方法的等进行全方位的调研,构思软件中的数据结构,数据模型,概念结构设计,逻辑结构设计。对软件的功能要求进行可行性分析论证以及需求分析,设计出实现方法方案。停车场管理项目中,采用是栈式结构,停车场外的便道采用队列结构。该项目应让学生通过栈和队列的基本概念解决停车场问题,用栈和队列等线性表解决实际问题的方法。

(2) 教学活动以学生为主体

项目教学活动指的是学生采用一定的工具和方法解决项目任务所采取的研究行动。在项目教学中,学生并不是被动地接受教师传递的知识,而是着重于实践,在完成任务的过程中获得知识、技能和态度。从信息的收集、计划的制定、方案的选择、目标的实施、信息的反馈到成果的评价,开展项目教学中应先对学生进行分组,教师扮演需求客户,把学生分成若干个组,分组时同时要考虑能力强学生和能力弱的学生合理地搭配;男女生比例搭配。项目组选举产生一位项目负责人,该负责人要负责整个项目,从项目规划,到人员分工,到每个实践情况,到综合测试,直至总结汇报。分组的目的是培養学生团队精神和与陌生人打交道的能力,使学生充分参与整个过程的每个环节,成为活动中的主体。

(3) 具有创设学习情境的能力

情境是支持学生进行探究学习的环境,环境可以是真实的工作环境,也可以是借助一定条件所产生的虚拟的模拟环境。以往的实践教学中一般是由教师按教材单元统一组织进行,先理论后实践,实践只是对理论知识的简单验证。其结果是学生对实践感觉枯燥乏味,不利于学生创新意识的培养和实践能力的提高。如“停车场管理”问题上,通过项目的分析、设计、编程实现,让学生体会栈、队列数据结构如何从现实问题中抽象出来,又如何用来解决现实问题。在项目教学中,情境设计给学生自主设计自主选择的空间,引导学生深化问题。能够促进学生之间的合作。在“停车场管理”基本问题的基础上,进一步引导各组成员探讨思考“汽车种类不同,收费标准不同”、“汽车在便道和在停车场不同收费标准”、“栈、队列采用不同的存储结构”等问题,同时鼓励各组成员提出新的问题,分析新问题,解决新问题,通过实践解决自己想解决的问题。

(4) 项目最终的结果

项目结果是指在学习过程中或学习结束时,学生通过探究学会知识掌握技能,引起学生对职业态度的认识。如实践知识、协作能力、创新能力等。通过项目教学,各组成员要写出所完成的部分遇到的问题,分析出现问题的原因,如何解决的,把判断、分析以及解决过程要记录下来。写出该项目实践的收获,掌握了哪些知识和技能。通过总结是把项目进行升华,使学生综合的职业能力有所提高。写出项目报告,项目负责人最后整理成文,形成一个比较完善的项目报告。根据项目组完成过程的具体情况,教师(需求客户)指出做得好的地方,同时还要指出问题所在,另外还要对学生的职业素质进行讲评。

项目教学法与传统的教学方式相比,项目教学对课程教师素质提出了更深更具体的要求,教师将会面临很多新的问题与挑战,主张教师与学生的双向互动,整个过程需要教师和学生的积极参与,要求教师对自身的角色进行重定位,教师不再是知识的传授者,而成为项目教学的组织者、引导者和评价者。学生也不再是知识的被动者,而成为主动的建构主义者。

参考文献:

[1]在计算机课程教学中开展项目教学法的研究[J] .肖胜阳. 电化教育研究,2003,(10).

[2]数据结构(C语言版). 严蔚敏,吴伟民. 清华大学出版社,2002.

[3]算法与数据结构(C与C++描述). 陈松乔. 清华大学出版社,2002.

《数据结构》教学探讨 篇4

一、温故而知新

先修课程是学好《数据结构》的基础, 特别是《C语言》等高级语言, 是用于描述数据结构和实现算法的工具, 语言基本功不扎实, 成为学生描述数据结构和算法的障碍。学生主要的弱点在于:1) 变量、数组和指针综合应用差;2) 不理解函数间数据传递关系;3) 数据类型、数据变量概念混淆;4) 结构体类型与变量的定义与应用弱。学生常问为什么定义了结构体类型还要定义结构体变量。学习《数据结构》前, C语言相关知识复习是很必要的, 但是学习方法综合简练清晰, 可结合图和多媒体动画课件进行。

二、总体把握

总体把握《数据结构》研究的三个方面内容, 包括数据的逻辑关系、数据的存储、数据运算。

(一) 数据结构的逻辑关系

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构由数据和数据间的关系组成的, “关系”描述的是数据元素之间的逻辑关系, 数据间的关系可以有没有关系 (集合结构) 、一对一的关系 (线性结构) 、一对多的关系 (树型结构) 、多对多 (图形结构) 的关系。通过现实生活中的例子, 比如排队购物、家谱树、城市联系图等让学生感性地认识各种逻辑关系的特点。

(二) 数据的存储

常用的数据存储有顺序存储和链式存储。顺序存储常用数组实现, 链式存储常用指针实现。

(三) 数据的运算

常用数据的运算检索、排序、插入、删除、修改等。

三、分点教学

分点学习即是分知识点学习。采用由一般到特殊, 简单到复杂的教学方法。如线性结构学习中, 先学线性表, 再学习受限制的线性结构 (栈、队列、字符串) 等。《数据结构》旨在使学生学会分析研究数据对象的特性, 学会数据的组织方法, 以便选择合适的数据逻辑结构和存储结构, 以及相应的运算 (操作) , 把现实世界中的问题转化为计算机内部的表示和处理。所以每个知识点按:逻辑结构特点———存储结构 (顺序和链式存储) ———操作算法过程进行分析, 最后分析算法时间和空间的效率。

(一) 直观化教学

由于《数据结构》理论性很强, 直接从定义出发讲解相关概念会使教学变得枯燥无味, 而且学生不易接受, 在教学过程中, 要注意知识的形象化和直观化。教学中列举贴近学生生活的事例讲述, 如栈的例子, 在刷洗盘子时, 依次把洗好的盘子摞到前面洗好的盘子上面, 相当于进栈;取用盘子时, 又从上面依次向下拿, 相当于出栈。队列的例子, 人们为了购物所排的队就是一个队列, 新来购物的人接到队尾 (即进队) , 站在队首的人购到物品离开 (即出队) , 当最后一人离队后, 则整个队列为空。树的例子, 用家谱树说明。用教学中还采多媒体动画, 模仿元素进 (队列) 栈, 出进 (队列) 栈过程, 使教学直观化。直观化教学调动学生学习的积极性, 提高学生运用算法解决实际问题的能力。

(二) 比较法教学, 加深的知识清晰度, 加快学生对知识的掌握

如一般线性表、集合、树、图的区别;线性表两种不同的存储方式区别;一般线性表、栈、队列、字符串间的区别;树与二叉树的异同;无向图和有向图的区别;图的深度优先遍历和广度优先遍历不同等。

(三) 问题教学法, 能有效地激发学生的好奇心和求知欲

问题教学法, 能有效地激发学生的好奇心和求知欲, 使学生产生学习的内在动力, 增强自信心, 激发学生的创造性思维和创造欲望, 使学生投身于创造活动, 能培养学生发现、提出、分析和解决问题的能力, 能使学生更好地理解和巩固所学内容, 并运用它解决实际问题。

(四) 讨论教学法, 培养学生独立思考能力、合作解决问题的能力

知识点教学中, 常是多种教学综合使用, 进行互动式教学, 创造轻松的学习环境调动学生积极性。

四、练习巩固

练习是学生掌握知识、巩固知识、形成技能、发展思维、提高解决问题能力的主要途径。在每个知识点的讲述结束, 设计相应的课堂练习, 课后布置作业, 通过评价学生的练习过程与结果, 及时了解到学生的学习状况, 调整教学策略。

五、实验提高

(一) 实验的目的

“数据结构”是一门理论性和实践性都很强的课程, 培养学生求解问题的实践能力是教学的首要目的。实验中的问题往往比平时的习题要复杂得多, 也更接近于实际, 通过实验培养了学生理论向应用发展的能力, 使学生学会如何把书上学到的知识用于解决实际问题, 培养软件工作所需要的动手能力, 提高学生综合素质。另外, 还有更重要的一点是:机器是比任何教师更严厉的检查者。在这位老师的指导下, 培养学生科学严谨的规范编程方法。

(二) 实验的内容设计

《数据结构》课程教学大纲 篇5

Data Structure 执笔人:

编写日期:

一、课程基本信息

1.课程编号:

2.课程性质/类别: 必修课 / 专业主干课

3.学时/学分: 48 学时(另实验16学时)/ 4 学分

4.适用专业:计算机科学与技术、软件工程、网络工程、信息管理与信息系统等专业

二、课程教学目标及学生应达到的能力

数据结构课程是计算机相关专业的专业基础课、必修课程,主要介绍用计算机解决一系列问题特别是非数值信息处理问题时所用的各种组织数据的方法、存储数据结构的方法以及在各种结构上执行操作的算法。通过本课程的学习,要求学生掌握各种数据结构的特点、存储表示、运算方法以及在计算机科学中最基本的应用,培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,培养学生分析问题、解决问题的能力,并为后续课程的学习打下良好的理论基础和实践基础。

三、课程教学内容与基本要求

(一)绪论(3 学时)1.主要内容:

(1)介绍什么是数据结构;

(2)基本概念和术语: 数据、数据元素、数据对象,以及数据结构的定义、逻辑结构、物理结构(理解)数据类型、抽象数据类型;

(3)抽象数据类型的表示与实现;

(4)算法和算法分析: 算法的概念、算法设计的要求以及算法效率的度量。2.基本要求

(1)了解学习数据结构的重要性;

(2)掌握数据结构的定义及相关概念和术语;(3)了解抽象数据类型的定义、表示与实现方法;(4)理解算法的概念、特点并掌握度量其效率的基本方法。3.自学内容:

类C语言的书写规范。

(二)线性表(6 学时)1.主要内容:

(1)线性表的抽象数据类型定义和相关概念:数据项、记录、文件等;(2)线性表顺序存储表示和基本操作的实现;(3)线性表的链式存储表示和基本操作的实现;

(4)稀疏多项式的抽象数据类型定义、表示和加法的实现。2.基本要求

(1)掌握线性表的定义和特点;

(2)熟练掌握线性表的顺序存储表示和插入、删除、查找等实现算法;

(3)熟练掌握单链表、循环链表、双向链表三种链表的表示,以及单链表的查找、插入、删除、创建等实现算法。

3.自学内容:

静态链表。

(三)栈和队列(5 学时)1.主要内容:

(1)栈和队列的结构特性和抽象数据类型定义;(2)栈和队列的顺序存储表示和实现;(3)栈和队列的链式存储表示和实现;(4)栈和队列在程序设计中的应用。2.基本要求

(1)掌握栈和队列两种抽象数据类型的特点;

(2)掌握栈的两种存储表示和实现,特别注意栈满栈空的条件;(3)掌握队列的两种存储表示和实现,特别注意队满队空的条件;(4)了解递归算法与栈的关系。3.自学内容:

链栈,离散事件模拟

(四)串(3 学时)1.主要内容:

(1)串的抽象数据类型定义;

(2)串的表示和实现: 定长顺序存储结构和堆分配存储结构;(3)串的各种基本操作的实现及其应用;(4)串的模式匹配操作。2.基本要求

(1)熟悉串的一些基本操作的定义,并能利用基本操作实现串的其它操作;(2)掌握串的定长顺序存储结构以及基本操作的实现;(3)掌握串的堆分配存储结构以及基本操作的实现;(4)掌握串的简单模式匹配算法,理解KMP算法。3.自学内容:

串操作的应用实例。

(五)数组和广义表(4 学时)1.主要内容:

(1)数组的抽象数据类型定义及其顺序表示和实现;(2)特殊矩阵和稀疏矩阵的压缩存储;(3)广义表的抽象数据类型定义和存储结构。2.基本要求

(1)了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法;(2)掌握对特殊矩阵进行压缩存储时的下标变换公式;

(3)熟悉稀疏矩阵的三元组顺序表存储结构下的一般转置和快速转置算法;了解十字链表等存储结构;

(4)掌握广义表的结构特点、取表头表尾操作,及其存储表示方法。3.自学内容:

采用十字链表存储结构创建稀疏矩阵。

(六)树和二叉树(10 学时)1.主要内容:

(1)树的抽象数据类型定义和基本术语;

(2)二叉树的抽象数据类型定义、性质和存储结构;(3)二叉树的遍历;

(4)线索二叉树的定义、遍历及线索化二叉树;

(5)树的存储结构、树和森林的遍历以及与二叉树的转换;(6)Huffman树及其应用。2.基本要求

(1)掌握树型结构的特点和基本术语;

(2)熟练掌握二叉树的性质,了解相应的证明方法;

(3)了解二叉树的顺序存储结构和链式存储结构,熟练掌握二叉链表存储结构;(4)熟练掌握二叉树三种遍历的递归算法和中序遍历非递归算法,能灵活运用遍历算法实现二叉树的其他操作;

(5)熟练掌握二叉树的线索化过程,以及在中序线索二叉树上找结点的前驱与后继的方法;

(6)熟悉树的各种存储结构及其特点,掌握树和森林与二叉树的转换方法;(7)了解Huffman树的特性,掌握建立Huffman树和Huffman编码的方法。3.自学内容:

先序、后序遍历二叉树非递归算法,层次遍历二叉树算法。

(七)图(9 学时)1.主要内容:(1)图的定义和术语;

(2)图的四种存储结构:数组表示法(邻接矩阵)、邻接表、十字链表和邻接多重表;(3)图的两种遍历策略:深度优先遍历和广度优先遍历;(4)图的连通性和最小生成树;

(5)有向无环图及其应用:拓扑排序和关键路径;(6)最短路径问题。2.基本要求

(1)熟悉图的定义和术语;

(2)了解图的存储结构,熟练掌握数组表示法(邻接矩阵)和邻接表存储表示;(3)熟练掌握图的深度优先遍历和广度优先遍历算法;(4)掌握无向连通带权图的最小生成树求解算法;

(5)了解有向无环图、AOV网、AOE网及其在实际中的应用,熟悉拓扑排序算法和关键路径算法;

(6)熟悉两种最短路径问题求解算法。3.自学内容:

树的先根遍历算法与图的深度优先遍历算法比较;

树的层次遍历算法与图的广度优先遍历算法比较。

(八)查找(4 学时)1.主要内容:

(1)查找的基本概念和相关术语;

(2)静态查找表:顺序查找、折半查找和索引顺序表查找;(3)动态查找表:二叉排序树的查找、插入和删除;(4)哈希表。2.基本要求

(1)了解查找的作用,熟悉相关术语;

(2)熟练掌握顺序查找、折半查找和索引顺序表查找;(3)熟练掌握二叉排序树的特性、构造和查找方法;

(4)熟练掌握哈希表的构造方法,特别是哈希函数和处理冲突方法的选取;(5)通过分析等概率下的平均查找长度来衡量各种查找方法的效率。3.自学内容:

平衡二叉树。

(九)内部排序(4 学时)1.主要内容:

(1)排序的基本概念和相关术语;

(2)插入排序:直接插入排序、折半插入排序和希尔排序;(3)交换排序:起泡排序和快速排序;(4)选择排序:简单选择排序和堆排序;(5)归并排序:二路归并排序;(6)基数排序:链式基数排序;(7)各种内部排序方法的比较讨论。2.基本要求

(1)了解排序作用,熟悉相关术语;

(2)掌握多种排序的基本思想、算法特点和排序过程,分析它们的时间复杂度、空间复杂度和稳定性。

3.自学内容:

二路插入排序、表插入排序和树形选择排序。

四、教学安排建议

1.作业练习 完成每章的教学后进行布置习题,使用教材配套的《数据结构题集(C语言版)》。尽量选择基础的并且加注了标记的题,应注重于精,而不要求多。要求积极独立完成所布置的习题,建议安排至少六次。

2.案例分析

可参考选择以下一些案例:(1)学生通讯录管理系统,(2)表达式求值问题(3)交通咨询系统,等。3.专题研讨

可参考选择以下一些:(1)最小生成树问题(2)航班信息查询与检索系统,(3)内部排序算法比较,等。

4.实验安排

为了达到理论与实际应用的结合,让学生能将所学知识应用于实际问题的求解中,培养学生的实际动手能力,从而加深对概念及所学知识的理解,灵活、牢固掌握教材内容,提高程序设计及解决实际问题的能力,实验环节的安排非常重要。

建议实验安排为八次,共16学时,分别如下:

实验1 线性表的顺序存储结构的实现(2学时)

实验2 线性表的链式存储结构的实现(2学时)

实验3 栈的算法实现(2学时)

实验4 队列的算法实现(2学时)

实验5 串类型及操作(2学时)

实验6 二叉树的建立与遍历(2学时)

实验7 图的建立与遍历(2学时)

实验8 查找与排序(2学时)注:教师可根据教学实际情况(如:学生情况及学时情况等),适当调整实践教学内容及学时分配。

五、课程考核

1.考核形式及成绩评定办法

本课程考核形式为:平时成绩占40%,期末考试成绩占60%。其中平时成绩的结构分包括:课堂表现10%、平时作业10%和实验20%,期末考试为闭卷笔试考试:120分钟,卷面分满分100分。期末考试成绩低于50分者,本课程成绩按不及格论处。

2.本课程考核的基本要求

课堂表现10%:包括课堂考勤和课堂提问,如果缺课课时达到本课程教学时数的1/3,则取消考试资格。

平时作业10%:根据上交次数及完成情况进行评定。

实验20%:根据各次实验完成情况及实验报告成绩进行评定。

期末考试60%:本课程的期末考试考核内容主要包括线性表、栈与队列、串、数组与广义表、树与二叉树、图、查找和内部排序。其中,线性表、二叉树、图、查找和内部排序内容为考核的重点。

六、本课程与其它课程的先行后续关系

先行课程:《高级程序设计语言》、《离散数学》

后续课程:《操作系统》、《编译原理》、《数据库理论》、《算法分析与设计》等

七、建议教材及教学参考书

1.教材:

严蔚敏,吴伟民编著,《数据结构(C语言版)》,清华大学出版,2012.5 严蔚敏,吴伟民编著,《数据结构题集(C语言版)》,清华大学出版,2012.5 2.参考书:

[1] 许卓群,张乃孝,杨冬青,唐世渭,《数据结构》,高等教育出版社,2004.[2] 徐孝凯,《数据结构简明教程》,清华大学出版社,1995 [3] 陈文博,朱青,《数据结构与算法》,机械工业出版社,1996 [4] 李云清,杨庆红,揭安全编著,《数据结构》(C语言版),人民邮电出版社,2007.[5] 杨秀金主编,《数据结构》,西安电子科技大学出版社,2002.[6] 李廉治,姜文清,郭福顺,《数据结构》,大连理工大学出版社,1989

[7] Aho A V, Hopcroft J E, Ullman J D.Data Structures and Algorithms.Addison-Wesley Publishing Company,Inc.,1983

[8] Baron R J, Shapiro L G.Data Structures and their Implementation.Van Nostrand Reinhold Company, 1980

[9] Esakov J, Weiss T.Data Structures: An Advanced Approach Using C.Prentice-Hall, Inc.,1989

《数据结构》分级教学模式探讨 篇6

关键词:数据结构;分级教学;个体差异;教学模式

中图分类号:G642

分级教学又称为分层教学,国内高校在英语、高等数学等基础学科中应用分级教学模式比较广泛。《数据结构》课程作为专业课程,受国内高校传统教学方式和教学条件的限制,使用分级教学模式较为困难,经过多年构思和设计,并在两年时间内选择在包括《数据结构》课程的不同专业课程中分别应用分级教学模式进行实践,取得了良好的教学效果。

1 数据结构课程中目前面临的问题

我国高等教育从本世纪初招生规模急剧扩张,大学教育已经从原来的精英教育转变为大众教育,从培养学术性人才转变为培养学术应用性人才。这种变化表面上看来对大学教育带来的是人数的增长,但是对大学课堂教育来讲是一个性质的改变。

1.1 学习基础的差异性

数据结构是一门学习起来有相当难度的课程,课程学习的目标主要是在学习掌握基础算法思想的基础上进行算法设计。算法是一种抽象思维,需要用计算机程序来承载,才能转化成人们能够使用的工具,比如搜索引擎是建立在数据结构中串的匹配算法上,叫号机是利用了队列算法。阅读算法程序能够有效的帮助学生理解算法,课程中要求运用程序设计语言实现算法设计,因此要求学生在学习之前必须具有一定的程序设计基础,否则数据结构的学习过程会异常艰难。

学生在学习数据结构之前都会安排学习一门程序设计语言,我校采用C语言作为程序设计基础课程,根据每年在数据结构课程中所做摸底测试,同一班级内学生在阅读与编写算法程序上表现出很大的差异

1.2 学习动机的差异性

学生的学习动机也具有较大的差异。通过与学生的沟通与交流,在多年数据结构学习中学生呈现出集中不同的学习需求。学生在进入大学之后,有一部分同学对专业不感兴趣,在国内高校目前无法自由转换专业的情况下,这些同学从大学二年级就表现出明显的通过考研或出国转变专业方向的倾向。而另一部分同学则表现出对专业有很大的兴趣和喜爱,会选择考研或出国继续深造。还有一部分同学希望大学毕业后直接就业。这造成一个班级内学生对数据结构这样一门专业基础课程由于学习动机的不同表现出了不同的学习需求和学习热情。

1.3 学习需求的差异性

根据上面学习动机的分析,将学生的学习内容需求、学习目的和学习热情分为以下几种,如表1所示。

2 数据结构课程采用分级教学模式的意义

分级教学的本质就是因材施教,即在班级中根据学生的不同特征区分教学方式、教学手段和教学内容等,让学生可以根据自己的知识储备、学习习惯以及学习目的等进行区别化学习。因材施教的理念早在2000多年前孔子就提出了,在《论语》中多次提到因材施教的思想。但是孔子的教育是中国古代的私塾教育,采用的是一种一对一的个别化教学形式。进入工业社会后,社会发展要求大多数人接受教育,个别化教育不利于社会快速发展,于是出现了班级授课方式,即以班级为单位,在同一时间同一地点采用同样的教学内容、教学方式、教学进度进行授课,这种集体性教育提高了人才培养速度,也大大节约了教学成本,这种授课模式一直延续至今。

班级授课模式中一个班级内的学生接受的是同样内容和方式的教育,但是学生具有个体的差异性,这种个性与共性的矛盾随着现代社会的发展越来越凸显。在现有班级授课模式无法改变的情况下,如何能兼顾学生的个体差异性,分级教学是一种较好的解决方式。根据学生基础、学习动机和学习需求的差异划分教学内容、教学方式,让学生可以自由选择学习内容和学习方式,最大限度地激发学生的学习兴趣。

3 数据结构分级教学模式设计与实践

3.1 教学对象和教学任务分级

分级模式与传统教学模式上有较大的改变,首先要对学生进行学习需求区分,而后进行教学内容、教学方式、习题作业等的差别化设计。经过多年的与学生的沟通、访问以及课堂测试等,基本将学生分为了三个学习层次,针对不同的层次安排不同的教学内容和教学重点。

(1)了解与掌握数据结构基础理论和基本算法

这是对学生的最低层次要求,要求学生能够阅读并理解教材中的基础算法,了解算法的设计思想、实现方式及应用价值,这主要针对有转换专业想法的学生和学习基础较低的学生两类学生,要求他们了解并掌握数据结构的基本内容,教学重点是激发他们对课程产生兴趣。

(2)掌握算法分析和设计的研究思路和方式

这个层次的教学对象主要是那些希望通过出国或国内考研在本专业继续深造的学生,他们除了要掌握数据结构的理论和算法之外,要重点学习算法的分析和设计思路,一方面为日后考研的专业课做准备,同时也可以为日后的研究型学习打下良好的基础。

(3)熟练运用基础算法解决应用问题

对于未来直接就业的学生来说,实际应用是他们的学习重点,在掌握基础算法的基础上,如何运用基础算法设计解决实际问题,培养他们算法分析设计能力,尤其是熟练运用程序语言完成算法是这一层次的教学重点。

3.2 分级教学过程设计和实施要点

针对以上的学习层级,在教学过程中需要采取一系列的改革。

(1)为学生设计差异化的学习内容

每年在课程开始时,对学生进行摸底测试,利用一两个典型C语言程序检测学生的程序语言基础,并通过和学生交流,了解学生学习动机,将学生进行学习层次划分。学期初就将三个层次的学习任务提供给学生选择,让学生可以根据自己需求选择学习重点。

在讲授每一章节时都将学习内容分为3个层次,如“二叉树的遍历”这一小节的内容,对第一层次学生要求掌握遍历的方式,能够根据树的结构写出前序、中序、后序以及层次遍历结构,了解利用函数递归调用实现遍历算法的方式。对第二层次的学生要求能够灵活应用遍历算法,比如给出不同遍历序列时,怎么推导出树的形态,遍历序列的特点,以及递归和非递归遍历的设计思想等。对第三层次的学生主要侧重于实践操作,要求利用基本算法实现二叉树的递归和非递归遍历,了解递归调用的程序执行过程。

(2)提供多种形式学习方式

虽然对教学任务进行了分级,但是数据结构是专业课程,学习人数较少,不能像高校中的高等数学、大学英语课程那样可以直接区别化分班学习,只能在同一个班级的课程中做分级,这样在教学时间和教学地点一致的情况下,除了教师在课堂讲授时区分侧重点,提供多种课后学习方式就显得至关重要了。在数据结构课程中,除了课上讲授外,借助学校的网络教学平台,将课堂上所用教学材料、教学参考资料、课后习题、算法设计案例等提供在网络教学平台上,学生可在课后自由安排学习时间和学习内容,并通过完成课后习题检查学习效果。此外,还安排答疑时间和利用电子邮件对学生进行个别辅导,学生可利用各种形式来进行课程的学习。

(3)设立合理测试机制,激励学习积极性

实验是数据结构课程的一个重要环节,一方面可以锻炼学生算法设计能力,另一方面可以培养学生程序设计能力。但是由于学生的程序设计基础差异比较大,题目设置上过于容易,对于考研和准备就业的同学来说会降低他们的学习难度,而题目设置过难会让原本程序设计能力就有些欠缺的同学无法独立完成作业,造成抄袭或放弃完成作业。为此实验作业采用由易到难的顺序开展,初期要求学生完成较为简单的作业,如学完“线性表”的内容,要求学生利用链接表实现删除一个区间的数据元素,学生只需要在教材提供的算法上做一些改动就可以完成作业,基本上80%的同学在要求的2周时间内完成了作业。第一次作业难度虽然不高,但是培养了学生编写调试复杂程序的能力,极大增强了学生的自信心。而后根据学生学习情况逐渐提高实验作业难度,最后的学期设计作业则按学生学习水平设置了两个难度层次的作业题目,给予不同的分值,分值差设置为百分制的10-15分,这样既不会过多影响到第一学习层次的学生的成绩,又能挑战并激发其他两个层次的学生的学习热情。

4 结束语

采用分级教学模式与传统教学模式相比取得了良好的教学效果,学生学习目的性更明确,学习积极性有所提高,相比往年同难度考试,平均成绩提高了5分左右,不及格人数明显减少,高分人数也略有增加,这说明分级教学是缓解教育共性与个性之间的矛盾的一种行之有效的教学模式。

参考文献:

[1]王立新.数据库系统课程差异性教学研究[J].上饶师范学院学报,2012,32(6):95-99.

[2]曾祥玲,张湛.英语教学模式之改革——分级教学实验调查[J].现代情报,2006,9:191-192.

[3]胡学刚,张晶,周红娟.数据结构实践教学体系设计[J].吉林大学学报(信息科学版),2005,23(S0):138-141.

作者简介:冯复平(1977-),女,讲师,硕士,主要从事电子商务、企业信息化研究

作者单位:北京服装学院商学院,北京 100021

数据结构教学论文 篇7

数据结构是计算机专业的一门重要的专业基础课[1], 介绍线性表、树、图、排序、查找等内容, 简单地说, 是讲如何编写复杂的、高效的程序, 将使学生的编程水平提高一个档次, 体现出计算机专业和非计算机专业的区别。

算法要用语言描述[2], 这门课里面的程序大都长而难懂, 高职学生基础较差, 多数学生语言都没有学好, 普遍感到非常难学, 采用传统的教学方法难以取得好的效果, 本人认为这门课的教学应当尽量采用案例教学法。

案例教学法是指教师根据教学目的和教学内容的需要, 运用典型案例, 创设情景, 让学生进入角色, 积极思考, 主动探索, 以提高他们分析、解决问题的能力[3]。它是一种很有发展潜力的教学方法, 十分适合高职学生。

对高职学生来讲, 单纯的理论讲述难以引起他们的注意[4], 如果采用案例的方式, 把一些枯燥的理论融入其中, 效果将大不相同。在讲栈时, 可用玻璃杯和兵乓球作为案例, 引入栈的概念及特点。杯口直径比乒乓球直径稍大, 向空玻璃杯中放入多个乒乓球, 如果要取出乒乓球, 最先取出的是最上面 (最后放入) 的乒乓球, 最后取出的是最下面 (最先放入) 的乒乓球, 这里的玻璃杯就相当于栈, 乒乓球相当于栈中元素, 这样学生很容易理解栈是操作受限的线性表、进栈、出栈操作以及后进先出的特点;在讲队列时, 可用去食堂打饭时排队作为案例, 引入队列的概念及特点;在讲树时, 可用家谱 (可以选择学生感兴趣的人物的家谱) 作为案例, 引入树的概念及特点, 等等。

现行教材大多是在本科教材的基础上进行简单的修改编成的, 偏重理论, 缺乏生动有趣、通俗易懂的案例, 教师应该选择相对较适合的教材, 另外平时留心, 收集材料, 备课时精心选择案例, 好的案例应该是:

(1) 包含学生将要学习且已经学习的知识。

(2) 难易得当。

(3) 接近社会、生活, 体现时代性。

虽然学生基本理解学习内容了, 但是实践起来往往还会遇到一些困难, 因此重要的案例要让学生完成全部编码并调试成功, 这样才能切实理解学习内容。当一个案例在计算机上实现时, 能让学生清楚地看到理论的用途, 将增大学习的兴趣, 又能给他们很大的成就感, 将增强学习的信心。

如在介绍栈时, 可以进制转换作为案例, 设置以下问题:

(1) 如何将一个十进制数转换成二进制数?

(2) 如何将一个十进制整数转换成二进制整数?

(3) 余数产生的顺序与输出的顺序的关系, 与栈有什么联系?

(4) 简述用栈实现进制转换程序的过程。

(5) 栈是一种特殊的线性表, 参照已学过的线性表, 栈的存储结构如何设计?

(6) 栈的基本操作 (如入栈和出栈) 如何实现?

(7) 程序可分为几个模块?要定义哪些结构体和函数?

教师应逐步提出这些问题, 让学生思考、讨论, 注意引导、启发、提示, 使学生得出正确的答案, 这有助于培养学生的思维能力, 然后根据程序的规模、难度, 把学生分成几个小组, 分别完成整个程序的编码及调试。一个案例的具体实现往往很复杂, 要编写很多代码, 通过分工, 每个学生负责一部分工作, 降低了难度, 缩短了时间 (课时有限, 在我校是每周4课时) , 事实上学得较好的学生将分到较难的任务, 可以忽略简单的内容, 学得较差的学生将分到较易的任务, 可以忽略复杂的内容, 两者都能得到提高, 巧妙地实现了分级教学 (很多老师注意到现在学生的水平差异过大, 试图进行分级教学, 但对于专业课而言, 往往学生人数少, 分级则更少, 将大大增加教学成本, 难以实现) , 还能使学生对封装以及软件工程等内容有深刻的理解。

通过对案例的讨论和实现, 不仅能使学生掌握知识, 也能使学生掌握分析、解决问题的方法, 还能使学生养成勇于探索的精神、团结协作的作风, 有助于他们将来的发展。

需要指出的是:案例教学虽有很多优点, 但也有不足, 它偏重应用, 难以涵盖各个知识点, 以致学生掌握的理论知识片面零碎, 不够系统, 不清楚知识点之间的联系、原理的由来等, 难以解决以后遇到的复杂的问题。

因此数据结构教学不宜完全使用传统的理论教学, 也不宜完全使用案例教学, 而应把把案例教学和理论教学结合起来, 最好是融为一体, 简单、次要的地方用理论教学, 复杂、重要的地方用案例教学;如果学生的基础较好 (如是从高中升上来的) , 理论教学多一些;如果学生的基础较差 (如是从中专升上来的) , 案例教学多一些。理论教学为案例教学提供了分析问题的基础和框架, 而案例教学具体形象, 将降低学习难度, 调动学习积极性, 还将加深对理论的理解, 两者相互补充、相互促进, 使学生在掌握知识的同时提高能力, 使理论知识能真正转化为实际能力。

总之, 在数据结构教学中引入案例教学, 能够把枯燥的算法变为生动的实例, 把静态的内容变为动态的知识, 把理论和实践结合起来, 把教学内容和现实生活结合起来, 达到较好的教学效果。

参考文献

[1]李建青.高职计算机专业教学案例研究[J].职业教育研究, 2011, (10) :25-26LI J Q.Study on the teaching case of computer in Higher Vocational Education[J].Vocational Education Research, 2011, (10) :25-26. (in Chinese)

[2]张锋, 苗娟.高职计算机案例教学探讨[J].软件:教育现代化 (电子版) , 2013, (5) :135-136ZHANG F, MIAO J.Research on teaching reform of data structure[J].EDUCATION MODERNIZATION, 2013, (5) :135-136. (in Chinese)

[3]赵喜.数据结构教学方法研究[J].软件, 2013, (3) :163-164ZHAO X.Research on data structure teaching method[J].Software2013, (3) :163-164. (in Chinese)

[4]曹素娥, 杨泽民.数据结构课程教学改革探讨[J].软件, 2014, (3) :214-215CAO S, YANG Z.Research on teaching reform of data structure[J].Software, 2014, (3) :214-215. (in Chinese)

[5]刘波, 沈岳, 戴小鹏, 等.大工程观视野下数据结构教与学创新实践探索[J].软件, 2013, 34 (1) :168-170.

[6]敬国东.基于在线编辑技术的网络教案管理系统的设计与实现[J].软件, 2013, 34 (6) :23-24.

“数据结构”教学方式探讨 篇8

课程介绍

根据教学目的和考试大纲要求, 主要介绍用计算机解决一系列非数值信息处理问题时所用的各种组织数据的方法, 存储数据结构的方法以及在各种结构上执行操作的算法。除了了解其背景 (如C或C++语言) 外, 主要内容如下:

1.介绍数据结构和算法等基本概念, 让学生能初步了解。

2.理解线性表, 它是最常用、最简单、最基本的一种线性结构。

3.理解栈与队列的特点, 它们是特殊的线性表, 将之与线性表比较, 例如线性表有前驱与后继, 栈有进栈与出栈等, 并用它们解决相应的问题, 例如用栈解决递归问题, 用队列解决缓冲区和调度等问题。

4.理解串和数组的基本概念和存储结构, 还有矩阵的压缩存储等。

5.理解树、二叉树的各种性质与存储结构, 以及树、二叉树、森林之间的转换及前中后的三种遍历方式, 二叉树应用 (二叉树的线索, 哈夫曼树) 等, 并可以进行相应的递归和非递归的算法设计。

6.理解图的定义、数据结构以及存储方式, 掌握图的深度优先搜索遍历方法和广度优先搜索遍历方法, 最小生成树的建立方法和最短路径的求解方法等。

7.理解并掌握静态查找:顺序查找、二分查找、分块查找;理解并掌握动态查找:二叉排序树查找、插入和删除;掌握哈希表算法和计算各种查找的算法复杂度。

8.理解各种排序方法的特点、原理、时间复杂度的分析和实现算法。

激发学生兴趣

在教学过程中, 学生才是教学的主体, 教师要做的就是要培养教育学生。在这门课程上, 教师就要让学生了解到《数据结构》课程的性质和重要性, 以达到让学生重视这课程的目的。

如何让学生的兴趣提高一直是广大教师所探寻的一个课题, 为此常陷入沉思。首先, 就是要激发学生的兴趣异或者是学生的求知欲。对于初学者而言, 这门课特点就是概念、算法较多, 理论逻辑性较强, 学生不知从何学起, 容易起厌学心理, 或被动的学习, 所以, 教师上课时不仅要让学生明确学习的目的, 还要教给他们如何入手这门课程的方法, 采取恰当的方式帮助学生理解知识点, 让学生对这门课程产生信心。

兴趣对人是非常有作用的, 学生的学习兴趣一旦被激发, 就会有聚精会神的注意力, 愉快的心理, 从而提高教学的质量。初始授课时, 学生对此都很陌生, 所以教师要先入为主, 用好的态度去面对学生, 并准确把握住学生的心理变化, 让抽象的概念转化为具体的生活上常见的实例甚至有趣的游戏让学生主动去做, 主动去想, 主动去问。

到达授课中期时, 也会因为课程的深入而觉得理论抽象性太强而慢慢失去了兴趣, 最后会什么都没学到, 更不用说怎么去用所学的知识解决实际问题。所以让学生的兴趣不中断, 也是要特别注意的。

在教学中, 教师是非常重要不可缺少的。所以教师自身的能力也相当重要, 要激发学生的兴趣, 教师的口语和态势语都要好好的运用。运用得当将会大大的激发学生的学习热情, 从而改善教学效果。在课堂上有趣的话语, 有趣动作都会让学生的注意力集中, 但又不能偏题, 所以必要的准备必不可少。例如, 在讲授线性表中的链式存储结构中, 可以直接以手上的手表为例进行讲解, 手表一解开是一个带有头结点的单链表, 戴上后是一个循环链表。又例如, 让一个学生为另一个学生提出课程的问题也是一种教学方式。这样会让整个班级的气氛提高。教师的语音语调应该积极地感染学生, 而不是消极的情绪, 一个好的生活态度也会让自己让学生开心。

掌握知识结构和特点

数据结构主要讲授数据的逻辑结构和存储结构, 要让学生理解“数据结构+算法=程序”的思想。数据结构还要结合CC++语言的基本概念来授课, 因此, 必要的CC++语言要讲。数据结构中算法的难点在于它们的抽象性。首先, 要让学生了解每一种数据结构的特点以及表现形式, 次之, 要让学生理解存储方式在计算机中反映出数据结构的逻辑性, 不同的存储方式有不同的优缺点。

数据结构也是一门理论与实践相结合的课程。在学习过程中, 学生比较困扰的是理论不能与实践相结合, 经常费了好大的功夫把理论知识学会了, 却不知道怎么去运用, 所以在教程上, 首先要突出重点, 分散难点, 适当选择有代表性、难度不大、综合性强的算法, 讲完后给出一个或多个与课程相关的问题让学生独立思考、见解, 使学生现学现卖, 一来加深学生对所学知识的理解, 又能使学生学会灵活运用知识, 从而让学生有了一种成就感, 也会大大增强对这门课程的兴趣以及感悟。而后让学生上机编程, 调试。让学生在实验中加深对数据结构的处理方法, 同时也锻炼学生的编写和调试程序的能力, 提高动手操作能力, 增强学习动力和信心。

在课程设计上, 通过前面学生的兴趣以及能力的增强, 也要逐渐加强难度, 这样从课堂到课程设计, 学生才会在实践中逐渐加强加深对理论的理解。在课堂上, 教师也不要一味的自己讲授, 可以将许多的知识点和算法先保留, 引导学生自己动脑去探索、发现、领悟, 让学生自己获得新知识。然后再给与其帮助, 这样能锻炼到学生的自主独立解决问题的能力, 发展学生的逻辑思维能力。

结语

数据结构教学论文 篇9

1.1多媒体辅助教学

多媒体教学在讲具体的算法实现方面特别优越,可以先给学生讲解算法,然后给出数据来执行算法,学生一边对照着语句一边执行观察数据的变化,或用动画演示执行过程。尤其对于递归算法,传统的黑板讲解递归算法很不方便,而且算法的执行过程不易理解。采用动画演示递归算法生动、形象,学生很容易看出何时发生递归调用,何时返回到上一层调用处。

但是在多媒体教学的应用中需要注意的是,在教学过程中要发挥教师的主导作用,避免课件的喧宾夺主。由于借助多媒体教学具有信息量大、呈现快速、表现直观、操作简便的特点,教学活动很容易出现“课件喧宾夺主”的不良倾向。因此必须把多媒体教学和板书讲授有机地结合起来,各自发挥其长处,形成最佳教学任务的综合性手段与教学方案。

1.2教学内容

在教学内容方面,根据《数据结构》教学大纲及培养计划的要求,选用经典教材,对教学内容去粗取精,提炼出课程每章、每节的框架体系,从数据结构的逻辑结构、存储结构和数据的操作三个方面去组织教学内容,要重点突出,简洁明了而不求面面俱到。同时,要融会各种教材的精华,不可拘泥于某一本教材。还要随时关注信息技术的发展,把新的概念理论引入到课堂教学过程中,既要把传统数据结构的内容讲解透彻,又要增加面向对象等新的内容和方法以适应计算机科学的发展。

1.3教学方法

在教学方式上,可以根据授课内容的不同采用启发式教学、参与式教学、任务驱动式教学、案例教学等形式多样的教学方式以增强教学效果,激发学生学习的主动性和积极性。在教学中还要充分运用提问、课堂测验、问题讨论等方式,以此活跃课堂教学气氛,培养学生的独立思考和自学能力。

(1)任务驱动:是指学生在教师创设的情境下应用已有知识提出新问题、解决新问题的过程,也是学生高度自主学习的过程。教师在讲课时,要体现教学思想,采用发现学习模式,应用启发式教学。为了在课堂上激发学生的学习热情,发挥学生的学习积极性,同时更好地把理论知识与实际应用结合起来,在讲每一种基本的数据结构之前,准备一些实际应用的例子,让学生一边逐步学习理论知识,一边思考如何应用。例如:在引入树的概念时,先给同学们出人工智能中比较经典的“分石子”的智力游戏,画出的分配方案呈现树状结构,引入树的概念,这样既让学生掌握了树的基本概念,又提高了学生学习的兴趣。

(2)案例教学:对《数据结构》中的主要算法和一些抽象的概念,可以尽量先从直观意义或具体实例解释着手,让学生更容易理解。在教学过程中宜多画图,多举例,多解释。这种从特殊到一般,从具体到抽象的方法在《数据结构》中的很多内容都可以这样处理。例如:讲解队列的概念时,可通过学生比较熟悉的食堂排队买饭过程中的“先来先服务”和“不允许插队”等规则来说明队列结构中插入、删除的原则,然后再结合计算机系统中打印队列的应用来说明在计算机系统中的应用。

2网络教学资源建设

利用校园网便利的环境,开发《数据结构》网络教学资源,综合利用网页制作工具、多媒体创作软件和网络数据库技术,把文字、图像、声音、动画、影像等多种媒体综合起来,创造生动、活泼、有趣的教学情景,使学生变被动学习为主动学习,更好地激发学生的兴趣,同时又能够充分利用便利的校园网环境,有利于教学资源的充分共享,更好地辅助课堂教学,从而有效提高教学效率和质量。

《数据结构》网络教学平台主要包括课程内容、重要算法演示、在线讨论以及资料下载四部分功能。课程内容提供了包括章节内容、章节习题、实验指导,这是学习的重要内容和课程基础,用于辅助课堂教学,起到相辅相承的作用;算法演示提供了《数据结构》课程中重要算法的动态演示,加深学生对算法的理解和掌握,动画的直观、生动、形象等特点有助于学生深刻理解相应的算法;通过在线讨论进行网上答疑、辅导,可以突破时空的限制,实现教师与学生、学生与学生之间交流新的思想和解决学习中遇到的难题;资料下载提供了许多相应参考资料的下载,包括教学大纲、教学课件、实验指导书下载,能够实现教学资源充分共享。

网络多媒体资源可以提供交互式环境供学生学习,可实现学生与机器、与学生、与教师之间的多项交流。通过网络学习,学生能够自己掌握学习进度,提高学习的积极性和主动性,达到提高教学效率的目的。

3实践过程设计

在实验题目的选择上,要体现分析设计能力的培养。由于《数据结构》课程不具有明显的整体性,各种数据结构之间相对独立,因此一种数据结构学习结束后,就要布置基本操作题来进行基本算法的练习。这样既加深了学生对基本算法的掌握,又增强实践能力。然后通过课程设计环节布置一些综合上机题来进行综合训练,来增强综合应用能力和分析问题的能力。给学生布置的综合上机题不宜过细,应留有余地,并把握好难度,不要事先指定使用某种数据结构,而是要求学生从实际出发,在具体、真实的环境中分析研究数据对象的特性,构造合理的数据结构以及相应的算法。给学生布置的上机题可以分为必做题和选作题,必做题涵盖教学大纲的重要知识点,难度一般,每一名学生都要做完。选作题有一定难度,但不要求每题必做,只是随机抽取一部分题目分配给学生完成,这样可以兼顾不同层次水平的同学,做到因材施教。

为了更好地指导学生的上机实践过程,根据教学大纲要求以及学生的实际情况自己编写实验指导书,从而让学生更加明确实验要求与任务,并根据实验指导书指导上机实践,从而做到因材施教。每次实验过后,要求学生写实验报告,不仅详细说明实验的操作过程,还要总结每次实验的收获体会。这样学生既明确了实验任务和目的,增强分析能力和设计能力,又培养了编写规范化软件设计文档的能力。

4考核方式

考教分离是教学改革的一个重要方面,可以更公正地衡量教师的教学水平,检验学生的学习效果。为了实现考教分离,建立了规范、准确、知识点全面并具有一定规模的试题库,对试题制定了准确详细的参考答案及评分标准。通过试题库的建立,可以促进教师提高教学水平,同时也可以减轻教师命题的负担,把更多的精力投入到提高教学效果上。在试卷批阅过程中严格按照试卷评分标准阅卷,并且采用流水阅卷形式,充分体现公平公正原则。

5结束语

新的教学条件下《数据结构》教学方法,在实际教学过程中得以应用,在很大程度上提高了学生的学习兴趣、自主性以及实践应用能力,取得了比较好的效果。

摘要:讨论了如何在新的教学环境下利用现代化教学条件进行《数据结构》教学及教学方法探讨。

关键词:多媒体教学,教学模式,案例教学,教学方法

参考文献

[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2004-05.

数据结构教学论文 篇10

关键词:数据结构,案例教学法,线性表,树,图

《数据结构》课程是计算机类专业的一门必修的专业基础课[1]。该课程的原理和算法比较抽象, 难以根据实际问题自行设计数据结构及其算法, 因此, 很多学生感觉学习难度大, 对该门课程学习兴趣不浓, 学习效果差。针对上述问题, 在《数据结构》课程教学过程中采用案例教学法。案例教学法是一种开放式、互动式的教学方式, 需要教师根据理论教学内容事先精心策划和准备案例, 指导学生提前阅读, 并组织学生开展讨论案例, 形成反复的互动与交流。将知识融入案例之中, 重视实践, 可以大大激发学生的学习兴趣, 培养学生分析问题和解决问题的能力, 从而达到提高该课程的教学效果[2]。

案例的设计

在案例教学方法中, 案例是教学的核心, 教师应该在备课时精心选择案例。在选择案例时需要注意以下几个方面[3]: (1) 要根据教学目标选择案例, 选用难易适当的案例, 通过案例教学, 学生能够较容易地理解和掌握数据结构的基本理论和方法; (2) 案例应具有内容的完整性、真实性和典型性特点, 与实际生活相联系; (3) 案例的选择应考虑到学生的专业特点, 选择与学生专业相关的内容, 尽量贴近学生的兴趣点。

本文作者使用耿国华的《数据结构——C语言描述》[1]教材, 根据书中章节安排设计案例如表1。

案例教学法在数据结构中的应用

1.案例教学法的实施过程。 (1) 分析案例。在开始讲解某种数据结构时, 教师应首先给出案例问题及要求, 然后引导学生首先分析出问题中的数据结构, 然后确定存储结构, 并说明该类数据结构的特征以及操作特点。 (2) 讨论案例。在案例教学中, 学生在教师的指导下, 对案例中的问题进行分组讨论。教师要结合本节知识, 提出问题启发学生思考, 并且要注意鼓励学生积极参与讨论, 这样有利于培养学生独立思考的能力和积极探索的精神。 (3) 评价总结。教师一定要对学生分组讨论的结果予以评价、总结。在评价时, 应注意以正面鼓励为主, 以此增强学生的学习兴趣。最后教师将案例的解决方案展示给学生, 并进一步让学生课后思考:“自己的解决方法与案例中的解决方法, 各有何长处与不足?”

2.在“图”结构中的应用。案例描述:实现高速公路查询系统基本功能, 任意城市之间都有可能通有高速公路, 高速公路是双向的。具体要求有: (1) 设计某国各个城市, 城市个数不超过200个; (2) 为用户提供城市信息的查询; (3) 为用户提供任意城市之间高速公路的查询:两个城市之间是否通有高速公路?如果有, 有哪些通路?哪条公路是最节省时间的? (4) 如果要走访多个城市, 如何设计路线最节省时间?

案例分析: (1) 首先抽象出数据的逻辑结构。根据问题的描述, 本案例中要处理的数据对象是城市及城市之间的高速公路。由于城市之间高速公路的任意性, 也就是任意数据元素之间都可能有关系。可引出数据结构——图。 (2) 确定数据的存储结构。如何存储各城市及城市之间高速公路信息?可引出图的存储结构, 有邻接矩阵、邻接表等。并给出各种存储结构在C语言中的类型定义。 (3) 算法设计。确定本案例存储结构, 如采用邻接矩阵存储。按照案例中要求完成的问题 (1) 可引出创建图的操作和问题。 (2) 可因此掌握图的各种遍历方法和问题。 (3) 可引出求图中任意结点之间路径的问题及最短路径的问题。 (4) 可引出求图的最小生成树的问题。

总结与扩展:由教师总结各组同学的讨论结果。如题目中描述的图是无向的带权图, 即无向网。总结了无向网的逻辑结构、存储结构及操作的实现后, 教师可再扩展出其他形式的图, 如有向网, 可假定高速公路是有方向的, 便可引出对有向网的操作, 如求有向网的关键路径问题。

总结

在案例和问题的驱动下, 教师的引导下, 学生主动去分析问题和解决问题, 就产生了学习该课程的兴趣, 很自然地就掌握了该课程的内容。经课堂实践证明, 在数据结构课程中引入案例教学法可以提高该课程的学习质量, 增强学生学习兴趣。案例教学法也可以引入到计算机类其他软件类的课程中。

参考文献

[1]耿国华.数据结构-C语言描述[M].北京:高等教育出版社, 2010, 5.

[2]宗瑜.案例教学法与《数据结构》教学改革[J].皖西学院学报, 2009, 25 (2) :30-31.

浅谈数据结构教学实践与体会 篇11

关键词:数据结构 教学实践 心得体会

数据结构课程是计算机及相关学科的一门重要的专业基础课,也是一门锻炼程序设计能力的实践课程。它相对于其他应用性课程来说抽象、枯燥,学生学习起来有一定的难度,教师讲起来也比较难讲。那么如何降低理论性程度,增强直观性,提高学生的学习兴趣呢?在三年的教学过程中,我有一些心得体会,本文主要针对如下几方面内容加以阐述。

一、化抽象为具体,提高学生的学习兴趣

学生在开始学习时,往往不理解数据的三种抽象结构形式——线性结构、树型结构和图形结构的来龙去脉。可以通过介绍数据结构在实际中的应用来激发学生的学习兴趣。如图书馆的书目检索系统,如何组织图书的登录号、书名、分类号等数据,才能快速实现查找、插入、删除操作;旅游线路设计问题,如想去北京、上海、杭州等地旅游,怎样安排线路以求花费最少;在楼房工程建设中,如何施工以求工期最短;再如九七年轰动一时的国际象棋“人机”大战,由国际象棋大师与IBM公司的计算机进行国际象棋比赛,为什么最终计算机能够取得胜利等等。以上应用贴近生活,学生都比较熟悉,兴趣就能够被激发起来,形成想学好这门课的愿望。同时在这些具体的问题中也就反映出了数据的三种抽象结构形式。

二、在教学中巩固C语言的知识

C语言程序设计是数据结构的前导课程之一,学生对它的熟悉掌握程度,直接关系到数据结构课程的教学效果。C语言本身的灵活性,对于刚刚学完C语言程序设计的学生而言,运用不一定很自如。另外,C语言难点就是指针、函数、数组作为函数参数以及结构体类型等,而数据结构课程教学过程中主要运用这些知识点来分析和解决问题。为了达到好的教学效果,可以利用一、两次课的时间来复习C语言的相关知识,即数组、指针、函数和结构体等。这样既可以复习以前的知识,加深印象,强化理解,又可以为数据结构课程的教学做铺垫。

三、教学内容的归纳提炼

在教学中,很多学生反映这门课不好学,这是因为“数据结构”不但有很强的理论性,而且具有一定的抽象性。同时“数据结构”课程又有较强的实践性,要求学生能够使用一种语言,对算法进行程序设计,并且能够进行上机调试,对于基础薄弱的学生这就好似“雪上加霜”。作为教师要熟悉教材、精通教材,把握本课程的重点和难点,在教学过程中将前后内容联系起来分析思考,尽量从中寻找共性的、规律性的东西进行归纳与提炼,并将其系统化、具体化。例如从数据结构的定义出发包含三方面的内容:逻辑结构、存储结构和算法。在讲到每种数据结构(线性表、栈、队列、树、图)都会涉及到它的逻辑结构、存储结构和算法。在讲授的过程中可以用数据结构包含的三方面内容作为一条主线贯穿整本书,每讲到一种新的数据结构时都可以拿出这条主线来阐明其上的三方面内容,这样,学生学起来就会觉得有系统性,容易把握。综观全书不论是线性表、树还是图,最基本的、典型的存储结构就是两类:顺序存储结构、链式存储结构,只要把它们掌握得好,整个课程学习的难度就不大。

四、在教学过程中加强实践环节

为使学生真正学好“数据结构”, 除了在课堂上要采用行之有效的教学方法外,还要让学生勤动手,多实践。只有通过实践才能发现“教”与“学”中存在的问题。实践的首要环节首先是要多做习题。要学好“数据结构”,只“看”不“练”肯定是不行的,习题的作用是极其重要的,数据结构课本没有课后题,每章讲完后我都会在网上找习题让学生去做,对出现的问题要及时进行总结、归纳、讲评。这对巩固学生的知识是很重要的。

其次要上机实验。上机实验不仅能进一步巩固对有关内容的理解,同时还能提高学生灵活运用数据结构和算法的能力,使学生在编程、上机操作、程序调试与正确性验证等基本技能方面受到严格的训练。每学期我都会安排学生上机进行实践,上机结束后要求学生完成实习报告,写出自己调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析,算法的时空分析,测试结果,以及经验体会,并附上原程序代码,从而写出完整的实习报告。批改学生实习报告后,对学生的上机实习情况做及时总结,指出成功之处和不足之处。实验表明,这个过程起到了很好的教学效果。

总之,数据结构课程在整个计算机学科的知识体系中具有非常重要的地位和作用,而数据结构的理论性、实践性、逻辑性都很强。只有在教学过程中结合学生的实际情况,优化教学内容和方式,采用直观形象、形式多样的教学方法和手段,充分重视实践教学的重要性,理论联系实际充分调动学生学习的积极性,使学生较好地掌握各种数据结构和算法并提高分析解决实际问题的能力,切实提高教学的质量,才能发挥数据结构在计算机学科知识体系中应有的作用。

参考文献:

严蔚敏,吴伟民.数据结构教程(C语言版)[M].北京:清华大学出版社,1997

《数据结构》教学方法探讨 篇12

传统教学模式中的教学方法可以简单概括为"先说 (课堂理论教学) 后做 (验证性实验) "和"光说不做"。但是,在大众化高等教育的背景下,课堂教学效果普遍出现滑坡,客观上淡化了"验证性"实验的基础,因而严重影响了课程的教学质量。本文中,结合《数据结构》课程来探讨新的教育形势下计算机课程教学方法的改革。

一、《数据结构》教学中存在的问题及原因分析

学生在学习《数据结构》时,总是感到似懂非懂,上机调试程序时更是困难重重,对此情况笔者进行了认真的分析,得出如下一些看法。

有关数学知识不够。必要的数学知识是学好数据结构的前提。目前,根据本院生源的实际情况,学生的数学基础较差,进入大学之后,大部分学生认为数学与计算机关系不大,重视不够,学好学不好无所谓,致使学习效果较差。

有关程序设计语言学得不透。由于学生刚刚接触程序设计语言课,再者就是高级语言本身内容较多,大多数学生对语言本身的理解不够透彻,程序设计的思想更无从建立。特别是C语言中的指针部分,在数据结构中用的较多,学生学不好的话,在设计数据结构中的算法以及上机调试时,必然会有困难。

对数据结构本身的概念理解不够。由于数据结构涉及到大量概念、模型及操作算法,理论性较强,且高度抽象,学生学习起来也较难掌握。

二、教学内容的改革

普通高等学校一般地分为研究型大学、教学科研型大学、教学型本科院校、高等专科院校和高等职业院校等几种办学类型。根据教育部计算机科学与技术专业教学指导委员会发布的"中国计算机本科专业发展战略研究报告",至少可以认为:所在院校的办学类型不同、培养目标不同、所在地及其周边地区社会需求的不同,这些计算机专业的教学内容应该有所不同。作为一门重要的计算机的专业基础课程,针对不同院校不同的教学目的,《数据结构》应该有不同的,分层次的教学设计。

笔者认为:对于大多数计算机专业以及IT相关专业的学生,尤其是非研究性院校的学生,应该把数据结构的学习定位在理解、熟悉和能够灵活运用的基础上,而把那些"考研"所需要的更深层次理论性内容放在选修或者考研复习阶段来解决。

《数据结构》是一门系统性、抽象性很高的课程,为了更好地传达课程的内容,笔者将其划分为三个层次,四个模块。三个层次是:基本概念,数据结构--逻辑结构和物理结构,算法设计。四个模块划分为:数据结构的研究内容与基本概念为一模块,表、栈、队列和数组为一模块,树及图各自为一模块,而专门讲解算法排序、查找合为一模块,这样使得课程内容清晰,模块内容完整。

三、教学手段的改革

人们常用"一桶水"和"一杯水"的关系来形容教师为上好一节课所应具备的广博知识和丰富内涵。在教学活动中,教育者除了应具备较高的自身修养之外,还必须借助一定的教学手段。我们常说内容决定形式, 即一定的内容就要与之相匹配的方法将它体现出来,相应的,某种表现形式有时也会影响内容的传达。现行的教学手段依然主要因袭传统的课堂教学模式,然而数据结构课程具有其自身的特点--逻辑性强,抽象度高,因此仅凭黑板+粉笔是远远不够的。故此我们必须引入更多的现代教学手段和媒体方法来将抽象的内容加以形象化,我们在《数据结构》课程的备课过程中充分利用了计算机、网络、数码影像等技术手段, 建立了一套内容丰富、使用方便、易于更新的教学资源系统, 以提高备课效率, 增大信息量。笔者通过长期的教学实践,摸索总结出以下的手段作为课堂教学方法的补充与改造:

(一) 多媒体教学课件。

如前文所述,《数据结构》课程教学内容抽象度较高, 为了解决这一问题,我们根据教学内容编制多媒体教学课件, 并在课件中穿插自己设计的图形、图象、动画, 使书上枯燥的知识点变得生动形象, 便于学生理解教学内容、提高课堂效率、增大授课的信息量。

(二) 学生电子笔记。

由于《数据结构》课程教学中涉及到大量抽象结构和复杂算法,学生普遍反映笔记难记,很难将老师提到的重点一一体现出来。另一方面,我们在教学活动中,大量使用到了多媒体课件,使得学生抄写笔记的难度进一步加大。针对上述问题, 教师为学生整理电子笔记, 将学生在课堂中应该记录的内容整理成电子文稿, 在学期前让学生付诸打印;同时也预留出足够的白板和空间, 给学生个性化的记录留有余地, 便于学生学习。

(三) 算法动态演示系统。

《数据结构》包含大量的算法,而这些算法是用程序设计语言所描述,学生很难形成形象的印象,为了便于学生理解算法的执行机理, 利用或自我研制算法动态演示系统, 将算法的执行过程可视化地展现出来;而这样做更重要的是有些学生会借此去研究算法的可视化领域, 去探究这样的系统自己能不能做出来或能不能做得更好。

(四) 网络教学系统。

网络教学是当今教育的发展潮流, 它可以和传统教学方式相配合, 不受时空的限制, 拓宽学生的学习渠道, 充分利用学生的课余时间。对于提高教学质量和教学水平、推动教育教学的改革和发展都具有非常重要的意义。教师可以把公共邮箱 (名称) 公开给学生, 将课件、算法演示系统、习题、辅导材料、学生电子笔记、实验指导等教学材料一并上传到邮箱, 学生自行收发邮件, 同时这个邮箱也会成为一个交流学习的园地。

美国著名教育学家提出要以学生为中心的教学模式, 学生是主体, 教师只是辅助作用, 在教学中留出足够的时间和空间, 让学生参与教学, 充分发挥学生的主动性和积极性, 将培养学生的创新精神和自学能力放在首位。为了加强学生的学习能力, 加深对数据结构知识的深刻理解,我们在创建的网站 (http://211.85.1.168/jpkc/C180/Course/Index.htm) 上, 对每一节内容都有辅助习题, 这些题目大多数都是考研真题,如图1。并且还给出了相应的教学案例,可以作为这门课程的课程设计,在每个案例中,我们分为案例描述,案例分析,解决方案,结果分析与讨论,使得学生对这门课程有个多角度,多层次全面深入的理解,如图2。

四、实践教学的改革

实验教学及其实施是计算机课程教学中的一个重要环节, 其实施质量对专业教学质量具有举足轻重的影响。《数据结构》课程的教学要求之一是训练学生具有算法和程序设计的基本技能并形成良好程序设计的风格。然而长久实验教学并没有获得应有的重视,往往只是作为课堂教学的补充,在学时不足时实践学时还会受到缩减。所以为了提高课程教学效果有必要加强上机实践,并精心组织、合理设计,笔者以为可以从以下几个方面入手:

(一) 根据学科的特点安排的实验内容有验证性、设计性和综合性等实验。

验证性实验保持与数据结构课程相关知识的紧密结合;设计性实验培养学生的创新意识与能力;综合性实验培养学生的综合能力。在上机题的选择上, 要利于分析设计能力的培养。给学生布置的综合运用上机题不宜过细, 易留有余地, 并把握好难度, 不要事先指定使用某种数据结构, 而是要求学生从实际出发, 在具体、真实的环境中分析研究数据对象的特性, 构造合理的数据结构以及相应的算法。

(二) 要加强编程能力的培养, 鼓励学生使用不同的编程语言。

通过上机实践, 以期进一步锻炼学生的编程能力, 要求学生编制的程序一定要有完整数据结构的说明和注释, 要有容错处理, 要能正常运行, 同时鼓励学生根据自己的实际水平和爱好, 自由选择自己喜欢的编程语言,如C、C++语言和JAVA语言等。

(三) 要加强上机实践的组织工作。

给学生布置的上机题可以分为必做题和选作题, 必做题涵盖教学大纲的重要知识点;选作题要让学有余力的学生量力而行。

(四) 认真撰写实验报告。

每一单元的实验都是从各门课程中选取的, 其内容相对独立, 自成体系。这些实验集中反映了各门技术课程的典型方法和基本技术, 对加深课堂学习内容有重要意义。采用实验课程单列方式进行实验教学, 要求每个单元实验结束后, 每一个学生应独立完成实验报告, 这有助于学生在撰写科技报告和论文方面得到训练。

此外, 由于学生刚开始接触数据结构, 前几次上机一般效果不会太好, 所以必须认真辅导、观察学生在实验中的各种情况, 并认真做好记录和总结, 以便在以后的授课中有的放矢, 使有问题的学生逐步适应。同时要对问题学生运用"赏识"教育, 多一些鼓励, 少一些打击, 否则, 会造成学生出现"上机恐慌症"。

五、成绩评价体系的改革

考试是检测教学效果的手段之一,科学合理的考试能对教学起到反馈、调节、评价、促进的作用。目前,我们对学生学习成绩的评价采用平时成绩 (30%) +期末考试成绩 (70%) ,存在较大的局限性。部分学习刻苦的考生不及格,部分学习不刻苦的考生及格,这在很大程度上打击学生的学习积极性,助长歪风邪气的气焰;存在高分低能的现象,部分考生考高分,动手能力却很差,从这个意义上讲,考试还难于全面检测教学效果。

考试改革的关键在于转变教育与评价的观念。改革传统单一的考试形式,根据学生的不同情况,采用笔试、机试、撰写小论文和开发小型应用软件等不同形式相互结合的考试办法,科学地检测学生基础知识、基本技能的掌握情况及个性特长的发展情况。由于我校以培养应用型人才为目标,应在课程教学中反映出来,所以,提高实验成绩在总成绩中权重,将原来的没有提高到20%,因此,需要加强实验教学的考核,要求学生按时完成实验内容,书写实验报告,提交软件文档和源程序代码。同时还应作个期中测试,对学生前一阶段的学习作个考核,使老师作到心中有数,并将成绩的权重提为20%。即最后成绩=20%实验+20%期中+60%期末,这样使得学生能够在平时自觉地给自己加压,注重平时的学习,避免突击复习,并能做好每一次实验,认真对待每一阶段的学习。

六、努力提高教师素质,改进教学方法

要想教好学生,教师必须努力提高自身的综合素质。首先,老师要具有创新精神,没有创新精神的教师,就没有创新教育;其次,教师要不断努力学习,提高自己的专业水平和实践能力,并熟练掌握现代教育技术;最后,要经常与学生就课程的教学情况进行沟通,及时了解学生对课程的掌握情况。

总之,针对数据结构课程本身的特点,着眼于培养学生的实际解决问题能力和学习能力,不断发展完善数据结构的教学模式及相应的教学内容和教学方法,将对提高学生的素质大有益处。

参考文献

[1].严蔚敏, 吴伟民.数据结构 (C语言版) [M], 北京:清华大学出版社, 2006

[2].张乃孝, 算法与数据结构-C语言描述[M], 北京:高等教育出版社, 2002, 前言

[3].齐会娟, 《数据结构》教学方法探讨[J], 石家庄铁路职业技术学院学院, 2006.12

[4].周艳秋, 杨珍, 闫丽芳, 高宏伟, 《数据结构》课程职业技术教育教学改革与实践[J], 内蒙古农业大学学报 (社会科学版) 2007.04

[5].周苏, 柳俊, 孟学多, "数据结构与算法"的学改革和实验创新[J], 计算机教育2007.8

[6].汪沁, 奚李峰, 杨秀金, 基于"数据结构"实验的探讨和研究[J], 中国教育信息化, 2007.04

上一篇:京津冀协同发展视域下一篇:儿童川崎病治疗进展