曩 DOk 10.3969/j.issn.1001--8972.2011.1.081 基金项目:国家自然科学基金(1 0 8 7 11 6 0) 非计算机专业 数据结构 实践教学探索 吴红萍 西北师范大学数学与信息科学学院,兰州730070 引言 数据结构不仅是计算机专业的核心基 础课,也是其他诸如信息、通信、电子 商务等许多非计算机专业的重要课程。 该课程侧重介绍软件设计中的基本技术, 包括程序设计中所涉及的各种数据结构、 多方面原因: l知识点多,课程抽象 数据结构涉及顺序表、链表、栈、 队列、树、图等数据结构以及排序、查 找、递归等众多算法,具有概念多、内 容多、算法复杂等特点,所有内容又自 成体系,相互之间衔接少,而且每个知 基本运算、各种存储结构以及算法实现 识点都是比较重要、需要掌握的内容, 和性能分析,排序和查找这两种常用的! 教学内容很难取舍,所以在教学中难免 运算以及递归技术等内容。本课程的教 学不仅要注重学生对理论的理解,锻炼 学生抽象思维和创造能力,更注重培养学 面面俱到,重点、难点不突出,学生理 解困难,教学难度大,同时由于实践教 学学时有限,因此在实践内容取舍和时间 安排上往往产生矛盾。 学习数据结构最终是为了让学生获得 求解问题的能力,但是从实际问题抽象 生的实践能力,使学生学会用计算机解决 实际问题时能有效地分析、组织、存储和 处理数据的方法,设计出相应的结构清 晰、可读性好的高效算法,并为以后的学 出数学模型,选择合适的计算机程序, 习和应用打下坚实的理论和实践基础。由 再把解决问题的算法程序化,这是一个 于培养目标、学生基础、课程设置、课时} 复杂的抽象思维过程,对初学程序设计 的不同,非计算机专业数据结构的实践教 学面临着许多问题。 一的非计算机专业学生来说是一件非常困难 的事。数据结构本身较强的逻辑性和抽 象性决定了课程的难度较大,造成学生 的畏难情绪,害怕实践,常常不知所 措。 2前导课程学习不扎实,调试程序能 力差 - C语言程序设计是数据结构的前导课 数据结构实践教学中存在的 在多年的教学实践中,常常遇到这 问题 种现象:学生上课时能看懂能听懂,而课 后自己解决问题时却无从下手,理解 别人的算法困难等问题,造成这些问题有 程之一,但是学生先前接触的只是简单 201 ■■_ 捌 , cH sc … Jan.z011 一数据类型和函数,对于数据结构中大量 用到的结构体、指针、头文件、递归等 内容认识不够、理解不透甚至根本不清 楚它们之间的关系,因此在数据结构课 程的应用上不能得心应手,更谈不上融 会贯通、应用和创新。 有很多学生程序调试能力较差,对 编译阶段出现的大量的英文报错信息不理 解,从而浪费了很多时间在编译排错 上,也影响了学生对数据结构和算法的 己解决实际问题的综合能力。要做到这 点,任务驱动法、案例教学法不失为 题难度,分步解决问题。也可对学生分 组解决不同问题,培养团结协作的精 神,初步体验软件集成、模块化设计的 思想。 有效的方法。 数据结构中抽象数据类型很多,每 一种数据类型需要的操作各不相同且都有 3 实践教学内容的层次化 它的应用背景,可结合这些实际来进行 任务驱动,把教学内容融人到实际问题 实践内容的设计必须以问题求解为主 线索,体现分析、设计能力的培养,合 理设计f.q题,使学生在实践中加深掌握 某种数据结构下数据的组织、加工、处 环境中,让学生通过实际问题,来理解 隐藏于问题背后的知识。讲授新课前, 列举与授课内容相关的实际生活或与学生 所学专业相关的实际例子,化抽象为具 体,引导学生关注。如针对线性表的教 理方法,进一步锻炼编程和调试程序的 能力。 理解,很容易失去学习的积极性,致使 实践教学很难实现目标。 3 部分学生对实践环节重要性了解. 学,教师可以启发学生:成绩册、职工 不够,重理论轻实践 } 花名册等都可以看成线性表,一个空成 以往的实践教学大多数都是教师按教 材单元统一组织进行,先理论后实践, 实践只是对理论的验证,结果使学生对 在数据结构的教学中,许多老师都f 绩册可以视为空的线性表,统计成绩册 将精力放在课堂教学上,实践任务布置! 中有多少人,相当于求线性表的长度, 给学生后,指导较少,非常容易导致学 实验越来越没有兴趣。 在平时的教学中,笔者认为对数据 查看某个学生的成绩就是线性表的查找、 取元素,看某个学生的前一个就是求元 素的前驱,后一个就是后继,加入一个 生对实践环节的忽视,最终使实践流于 形式。此外,大多数高校开设数据结构 课程都存在实践课时较少的缺陷,要想 兼顾众多的内容,只能布置一些规模较 小的实验题目,缺乏系统性和应用性, 结构内容设置层次化的实践教学模式很有 必要。首先对于课程中的实验区分必做 题与选做题,以适应不同层次的学生。 学生的成绩就是线性表的插入等。这样 的联系有助干增加学生的感性认识和理 解,使学生知道拿到一个设计题目后该 从哪人手,排除对数据结构的恐惧心 理。 从能力训练上,对实践澡可区分基 础性、设计性、综合性三个层次。其中 基础性实验,针对常用数据结构的基本 运算如插入、删除等算法设计实践项 也会影响到学生运用数据结构知识处理实 际问题能力的培养和训练。 4传统教学模式了教学效果 以教师为主体,学生被动学习的传 统教学模式中,很少考虑学生的需要、 日,通过实验使学生掌握从算法转变为 程序的方法;设计性实验是在基础性实 验理解之上,结合实际,做一些小型的 培养能力的实验,意在锻炼学生从实际 中抽象出相应的数据类型,完成一定的 另外,教师可以采用案例教学法, 如在每章的教学中以一个案例的不断扩展 和层层推进来带动课程的学习,在一次 情感、态度,对于数据结构这样抽象、复 的课堂教学中又以案例中的一个小实例不 杂的课程来说,采用传统教学模式就很难f 断驱动课堂教学的开展。案例教学具有 取得良好的教学效果,达到预期的教学目 系统性、可实践性,涵盖知识点多等特 的。近年来,许多高校在数据结构的教学 点,这样,由教师引导学生从可以实现 中大量使用多媒体教学,但是简单采用 PPT,仍不能很好地解决这样的问题,且 存在授课信息量大,学生听课时强度大, 理解困难,严重影响了教学效果。 的小项目出发,通过不断提出的任务自 功能,如进行学籍管理设计、图书管理 设计等;综合性设计可以整合某种数据 结构的一些基本算法,提高学生分析问 题、解决问题、以及综合运用知识的能 力,如售票管理、停车场管理、公交线 路设计等内容,使学生在自由探索的过 程中,自主设计、开阔思路,从而对于 小型系统的开发有一个初步的尝试。 4 实践教学中多种手段的配合 数据结构实验课的目的就是让学生学 然而然的进行新知识的学习和操练,在 整个学习的过程中充分体现学生的主体作 用,激发学生的兴趣。 2 强化学生前导课的知识储备 针对非计算机专业学生C语言程序设 计能力薄弱的特点,教师一方面应积极 与前导课程的老师沟通,在前导课的教 二 提升数据结构实践教学质量 的有效途径 鉴于数据结构课程本身的特点和实践 教学环节中学生容易出现的问题,有必要 从多方面人手,提升数据结构实践教学的 质量。 学中充分考虑后续课程的教学要求,有 重点的对后续课所需理论与实践技能进行 训练,如对于动态存储空间分配和结构 体等内容。另一方面,教师应结合班级 的情况,不断总结学生在程序设计中反 映出的问题,及时进行补漏、强化。实 验中对学生碰到的问题进行及时讲解, 会如何把书本上学到的知识用于解决实际 问题,培养软件开发的实践能力,使书本 的知识能活学活用,所以在实践过程中需 要多种手段并用。例如客观上数据结构的 实验机房最好配备投影仪,并且实验室对 学生全天候开放,增加实践机会。主观上 改变实践课的方式,除单一辅导外,对于 l 课堂教学方法多样化,为实践 课做好铺垫 . 在日常的教学中,教师要充分体现 主导和辅导作用,除了讲解基本的理论 知识外,要积极地引导学生去分析问 题,理解问题的本质,进而学会如何有 效地组织数据、设计算法、解决问题, 以此来促进学生举一反三,培养学生自 设计性和综合性实验应注重师生互动,可 以让学生在小组合作的基础上,讲解自己 的想法,互相借鉴,教师也可以做一些演 示,抽象的问题甚至可以事先准备,做动 态演示以增强直观性。另外,由于数据结 构实验耗时较多,只依靠实验课内是远远 引导学生对于复杂问题进行分析,减少 出错的机会,并让学生在调试程序中逐 渐理解英文出错信息,提高学生阅读和 理解算法的能力。同时指导学生学会对 复杂问题进行模块划分和分解,降低问 202 不够的,因此也可以将即时通讯工具 锺《上接第191页 罐溪上接第一g5页 (instant messaging,简称IM) ̄IIQQ、MSN 等用于延伸教学,帮助学生解决当期实验 中遇到的问题,以突破时空的,提升 实践教学质量。 标准英语形式为: “YOU act like you haven’t even heard about any uprising.’’ “If’n I can’t marry John. 而主要应当帮助学生解决生活中的问题, 为学生创造条件、提供资源、扫清障 总之,笔者经过多年的体会,深深地 认识到实践教学在数据结构学习中具有举 足轻重的作用,也感受到了实践教学中教 与学的难度,所幸的是在逐步的探索中所 ain’t never gon’marry nobody.” 碍;其次,对顶岗实习学生的管理,主要 是进行协调、指导而不是直接控制,注重 与学生之间的及时沟通,而不是对学生进 行实时监控和刚性管理。这不仅可以消 除学业管理的错误倾向,而且能够在师生之 间营造良好的氛围,形成畅所欲言的、开 (Roots,P694) 标准英语形式为: anybody.” “If I cannot marry John,1 will never marry 改进的方法在学生身上看到了效果,这是 令人欣慰的。 放的、交流的环境,有利于学生与学校、 教师的沟通、交流。同时,指导教师应 当善于运用指导、教育、帮助代替直接 的监督、命令,及时获取学生尤其是在工 作、学习和生活上的需求、反应,了解、 从以上的例子中我们可以看出在黑人 英语中双重否定的使用是非常普遍的, 例子也随处可见。 阿历克斯・哈利的长篇作品 根》 向读者描述了一个家族六代人的历史, 时间跨度从1 750年到l967长达两个世 纪。在此过程中,我们可以看出由于黑 人从最开始所处的社会阶级使得黑人英语 有其区男U于标准英语的一些特征。在长 掌握而非审查、监督学生状况。 顶岗实习在锻炼学生的技能,增强 社会实践能力,缓解部分企业、单位人 才缺乏等方面产生了很大的社会效益。 在此,建议采用学校和企业共同教育、 达两个世纪的过程中,黑人英语的特征比 较稳定且变化较慢。而在讨论完黑人英语 的特点之后,我们需要意识到形成黑人英 管理 ̄ni/ll练学生的教学模式,不断完善 高职院校学生顶岗实习工作制度。 语的决定因素仍然是社会阶级。黑人处于 社会的底层,因此我们可以得出结论,那 就是语言与社会阶级的关系是密不可分 的。而黑人英语无疑就是一个最有说服力 的例子。