欢迎光临112期刊网!
网站首页 > 论文范文 > 教育论文 > 学前教育 > 数据结构课程新型教学方法思考与实践

数据结构课程新型教学方法思考与实践

日期:2023-01-23 阅读量:0 所属栏目:学前教育


  文章编号:1672-5913(2017)07-0085-04

  中图分类号:G642

  1 教学中遇到的问题

  数据结构课程内容比较抽象,理论性较强,学习和理解这门课的时候有一定的难度,但在实际教学中遇到的最大的困难,不是“会不会”,而是“学不学”。很多学生在接触数据结构的第一堂课时就没有学好这门课的欲望,原因主要可以分为3种。

  (1)因为“乏”而没有兴趣。缺乏对数据结构知识的了解,不知道学习数据结构有什么用或者盲目地认为数据结构只是程序设计的延伸,从而没有学习兴趣。

  (2)因为“弱”而没有兴趣。一部分学生由于未能熟练地掌握C语言,尤其是缺乏对指针、数组、结构体等内容的理解,还没有理解算法与代码的区别,因此在看到满教材的类C语言伪代码时,便早已望而却步。

  (3)因为“难”而没有兴趣。数据结构课程的知识介于数学、计算机软件、计算机硬件之间,理论性很强,内容较抽象[1]。如果仅用单纯的口头讲授、枯燥的黑板板书的传统授课形式,理解力不强的学生很容易产生畏难情绪,失去对这门课程的学习和钻研兴趣。

  我们以绪论为例,针对上述3种现象,以激发学生学习兴趣为主旨,提出:①以课程概述填补学生知识之“乏”,辅以虚拟实验平台展示,使学生认清学习目标;②借助答疑,进行知识展开,使学生正确自评,避开“弱”项,勇于探索知识;③以化抽象为具体、化繁为简的方法,使“难”懂的问题变得容易理解,使学生不仅能学会,而且能学好;④以动画演示和图文并茂的教学方式,令课程更加生动有趣。

  2 教学方法及实践

  绪论部分作为数据结构课程的先锋,必须承担起“先声夺人”的任务:就是在第一堂课让学生比较透彻地理解数据结构的含义,从宏观上了解数据结构的内容以及它在课程体系结构中的重要位置。针对学生畏难现象,教师可采用概述补“乏”、实验提鲜,借题发挥、识强避“弱”,化繁为简、变“难”成易,图文并茂、动画结合等教学方法,引导学生自主、自觉地完成学习,激发学生学习的热情和兴趣。

  2.1 概述补“乏”、实验提鲜

  对数据结构课程进行统领性介绍,可以使学生对整个课程内容有宏观上的了解,同时明确其在计算机学科中的重要地位。除了内容的概述,绪论部分还有许多基本概念和术语的介绍,如果仅凭口头讲解和板书,就很容易产生呆板、沉闷的课堂气氛。为了避免概念的枯燥堆砌,教师应尽量增加实验展示或实例讲解。我们建立了虚拟实验平台,用来展示数据结构中的各种实验,使学生对各种结构特性一目了然,如利用虚拟实验平台建立的栈结构,向学生演示数据入栈和出栈操作,如图1所示。栈结构是一种只允许在一端进行插入和删除的线性结构,数据插入的一端为栈顶,数据的插入操作称为入栈,具有后来居上的特点。栈结构的出栈操作,如图2所示,明显具有后进先出的特点,因此栈又被称为后进先出(last in first out,LIFO)表。直观的实验结果不仅可以加深学生对知识点的记忆,还提高学生进一步探索学习的兴趣。

  2.2 借题发挥、识强避“弱”

  教材使用类C语言作为数据结构和算法的描述语言,与实际运行的C语言程序是有区别的。类C语言利用了C语言的特点,而又不拘泥于C语言的细节。C语言掌握不好的学生在上机实验?h节会有难度,但并不影响对核心算法的正确理解。如果是因为没有学好C语言而主动放弃学好数据结构,那么更是因小失大,因此,教师在绪论部分要借助少量的核心算法进行讲解,明确算法与程序之间的联系和区别。

  例如,教师在讲解算法时间效率问题时,可利用冒泡排序算法进行讨论。冒泡排序算法如下:

  void bubble_sort(int a[],int n)

  {for(i=n-1,change=true;i>=1&&change;--i)

  {change=false;

  for (j=0;j

  if(a[j]>a[j+1])

  { a[j]a[j+1];change=true;}

  }

  }

  它只是借助类C语言描述冒泡排序的方法。如果需要以程序的形式输出结果,就要按C语言的语法要求进行修改和加工。程序代码如下:

  #include

  void Bubble_Sort(int a[], int n)

  {int i,j,t,change;

  change=1;

  for (i=n-1,change=1;i>=1&&change==1;--i)

  {change = 0;

  for (j =0; j< i; j++)

  if (a[j] > a[j+1])

  {t=a[j+1];

  a[j+1]=a[j];

  a[j]=t;

  change = 1;

  }

  for(i=0; i

  printf("%d ", a[i]);

  printf("\n ");

  }

  }

  int main()

  {int i;

  int a[8] = {49,38,65,97,76,13,27,49};

  printf("未排序数为:\n ");   for(i=0; i<8; i++)

  printf("%d ", a[i]);

  printf("\n ");

  printf("每次排序结果为:\n ");

  Bubble_Sort(a, 8);

  return 0;

  }

  在亲历算法改写成程序代码的过程中,学生可以很清楚地认识到算法和程序不能等价,因此完全不必因为没有学好C语言而对数据结构望而却步,反而能够因为学好数据结构而更加熟练地操作C语言。

  在对有序序列进行冒泡排序的实验对比和讨论中,学生也能很容易观察到,经过改进的算法可以在最好的情况下,即排序序列本身有序的情况下,只执行一次循环就结束程序,在时间效率上有很大的提高,如图3、图4所示,由此便可理解优化算法的意义,讨论算法效率的必要性以及“时间复杂度”的概念。这些结论不是教师填鸭式的知识灌输,而是由学生通过实践、观察和讨论后自己总结得出的,不仅可以锻炼学生的实践能力,还能使学生学习的主动性、学习兴趣和热情大幅度提高。

  2.3 化繁为简、变“难”成易

  数据结构在很大程度上依赖于数学的基础,许多概念是以数学的方式表达描述的,含义精准,但抽象难懂。教师在授课时,可以采用化繁为简、化抽象为具体、用口语化语言表达等方式,使学生对知识要点理解得更加透彻。例如,“数据结构”的定义为:数据结构是一个二元组

  Data_Structure={D, S}

  其中,D是数据元素的有限集,S是D上关系的有限集[2]。

  如果把抽象的数学表达转化为具体的算式“数据结构=数据元素+元素关系”,则更加容易被学生理解。最常见的数据?Y构莫过于学生在初中、高中就接触过的方程式,它就是一种数据结构,未知数x, y构成的方程就是它们之间的约束关系,计算结果是一个具体的数值。在非数值领域如信息管理、人机对弈等,数据之间的约束关系就呈现出一对一、一对多等情况,而这正是数据结构课程所要讨论的内容。经过化繁为简,化抽象为具体,学生对概念的理解更为清晰。其实,数据结构后续章节里的很多抽象概念或数学表达式都可以采用这种方法,改用比较通俗、具体的语言去讲解和描述。这种理解方法的转变可以在很大程度上缓解学生畏难的情绪。

  2.4 图文并茂、动画结合

  加入图像、Flash动画等辅助措施不仅能够提高数据结构知识讲解的条理性,还可以使枯燥的理论变得有趣味,如在绪论中的一道例题可以用来描述课题小组导师、研究生和本科生的数据结构,如果单从定义的角度进行讲解,则晦涩难懂,但加以图示说明,则很容易理解,如图5所示。这种数据结构具有明显的层次性,是一对多的树型结构。

  在数据结构后续章节的讲解中,如哈夫曼编码、最小生成树、拓扑排序等知识,教师更需要利用图像和Flash动画加以演示,使知识要点更清晰,学生对算法的理解更透彻。

  3 结 语

  采用概述补“乏”、实验提鲜,借题发挥、识强避“弱”,化繁为简、变“难”成易,图文并茂、动画结合等教学方法,结合虚拟实验平台演示、实验动画展示等多样化教学手段,可以不断增进教学质量,充分调动学生的学习热情,提高和培养学生的学习能力。图6所示为2011―2014级学生学习本课程的期末考试平均成绩。除了2012级学生成绩因试卷难度偏大而造成平均分略有降低之外,学生成绩基本呈上升趋势,说明我们提出的几种教学改良措施是积极有效的,课堂的内容生动有趣可以大大提高学生的学习兴趣。

本文链接:http://www.qk112.com/lwfw/jiaoyulunwen/xueqianjiaoyu/217276.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学