
《数据结构》课程案例教学设计分析.doc
4页数据结构?课程案例教学设计分析 摘要:?数据结构?课程的教学面临知识点多且抽象枯燥等问题,案例式教学对于激发学生学习兴趣有积极的作用然而,传统课堂授课教学模式下的案例教学一般作为导入理论课程教学的手段,很难将案例教学贯穿于整堂课程中,而现代化教育手段MOOC的兴起为线下实施案例教学创造了条件对MOOC背景下?数据结构?课程的案例教学进行教学设计,给出案例集及相应的教学实施方法该设计将作为教学改革手段,在后续的课程教学中实施 关键词:数据结构;案例教学;MOOC ?数据结构?是计算机专业中的一门核心的专业根底课,研究非数值计算中计算机的操作对象以及它们之间关系和操作的学科【1】在计算机专业课程设置中,该课程起着承上启下的作用,其教学效果直接影响到编译程序、操作系统、数据库系统等后续课程然而在实际授课过程中,由于课程知识点多、内容抽象,学生普遍感觉枯燥,久而久之就失去了学习兴趣为了克服此问题,许多教育工作者在该课程的授课过程中引入案例化教学方法,目的是借助于形象生动的实际案例,激发学生学习和解决此问题的兴趣,进而提高教学的学习效果但是,传统的以课堂教学为主的授课方式将课堂上有限的时间主要用于根本知识点和概念理论的讲述,因此在应用案例教学的过程中普遍存在的问题是只能应用少量简单的案例,作为导入理论课程教学的手段,而很难真正将案例教学贯穿于整堂课程中。
近年来MOOC〔MassiveOpenOnlineCourse,大规模开放式课程〕等现代化教育手段的兴起,使得传统的授课方式的改革成为可能通过MOOC,学生可以在课下通过自主学习的方式学习根本知识点,而传统的课堂时间那么可以用来实施更合理的教学方式因此,MOOC背景下的线下授课为实施案例教学创造了条件 案例是一种先进的教学方法,非常适合于理论与实践结合紧密的课程数据结构?课程采取案例教学可以带来如下好处:〔1〕让学生理解理论提出的背景传统的授课方式多采取填鸭式教学,学生不知道所学知识的背景通过案例教学,可以使学生了解知识为何而来〔2〕让学生理解如何将理论知识应用于现实问题的解决空洞的理论授课,只能使学生学会一堆概念,而不知道这些知识如何应用在以后的工作中碰到问题,也不知道采取何种方式解决〔3〕培养学生对问题进行抽象分析和实践的能力案例化的教学首先需要对现实问题进行抽象分析,然后采取合理的方式对其实现学生在这样的教学环境中进行熏陶和训练,其抽象能力和实践能力势必得到提高但是案例教学要取得好的效果,案例的设计非常关键案例需要被仔细设计,使其即满足学生的学习需求,又不至于让学生产生畏难情绪;同时还能在一节课或两节课的时间教学完成,符合教学的时间要求。
在参考了大量教材、论文的根底上,并结合长期教学过程中总结的学生的学习需求和接受能力,设计了一套案例集,用于本校?数据结构?课程的后续教学改革此案例集包含根本案例和综合案例每章配备至少一个案例,通过该案例,引出该章知识点的背景、数据结构的设计、相关算法的设计,从而使得学生通过该实例理解该结构或算法的应用背景、知识的应用场景除此之外,课程还配备了一些综合实例,这些实例能表达知识点的融合,从而能够使学生体会知识的综合运用、提高抽象思维能力 1课程的知识体系 ?数据结构?课程的知识体系一般分为两大模块:数据结构模块和查找排序模块数据结构模块介绍每种类型的数据结构的定义、存储和根本操作的实现查找和排序模块那么讨论各种常用的查找和排序算法如表1所示,?数据结构?课程知识点的组织一般分为七章,前五章讨论根本的数据结构,后两章讨论查找和排序第一章线性表介绍顺序表、链表及其查找、插入和删除等操作的实现,第二章栈和队列介绍栈和队列的顺序存储和链式存储、插入和删除等操作的实现以及栈和队列的应用,第三章串数组和广义表介绍串的定义、存储、模式匹配算法、数组的存储和广义表的概念,第四章树和二叉树介绍树和二叉树的定义和存储、二叉树的性质、二叉树的遍历和线索化、树的遍历、赫夫曼树和赫夫曼编码等,第五章图介绍图的邻接矩阵和邻接表存储、图的遍历、最小生成树、拓扑排序、关键路径、最短路径等算法,第六章查找介绍顺序查找、折半查找、二叉排序树的定义、查找、插入和删除、哈希表的构造和查找等,第七章介绍直接插入排序、shell排序、起泡排序、快速排序、简单项选择择排序、堆排序和基数排序等。
2根本案例及教学实施方案 2.1根本案例表2列出了根本案例集,其中每一行对应了数据课程的一章,第1列是该案例对应的根本知识点,第2列对应了在根本知识点上的引申,引申的知识点用于引出案例且可以用在案例的讲解上,第3列是根本案例,第4列是引申案例2.2根本案例的教学实施每章配置至少一个根本案例,其教学采取如下步骤实施:〔1〕对根本知识点进行讲解教师通过回忆本章知识,对该案例涉及到的根本知识点进行讲授,根本知识点主要涉及到数据结构的描述和根本操作的实现〔2〕引申知识点的实现-引导式方法在根本知识点的实现根底上,对根本操作进行扩展,实现引申的知识点该步骤采取引导式方法授课,即与学生互动,引导学生实现引申知识点〔3〕案例的导入和实现-引导+框架+学生分组讨论基于引申知识点的实现,引入案例,说明案例的要求引导学生对案例的数据结构和操作进行抽象设计,得到一个实现框架,最后让学生讨论来实现框架〔4〕案例的讲解-有的放矢教学随机抽取学生分组,检查他们的设计及实现中存在的普遍问题进行分析〔5〕案例的引申及类比案例的引出-教师引导+学生业余实现〔开放式〕对根本案例的实现进行总结,并类比引出引申案例,引导学生思考其如何实现,并在课下时间实现。
以第一章的根本案例“有序表的合并〞为例,该案例涉及的根本知识点包括表的顺序存储和链式存储、表的查找、插入和删除等根本操作引申的知识点是有序表的插入,该知识点可以通过组合表查找和表插入两个操作来实现,同时该算法实现又可以用到根本案例的实现中然后是根本案例的实现,因为有序表的合并可以在有序表插入的根底上实现,因此可以引导学生建立有序表并对有序表的插入进行改造来实现最后,与此案例相类似的案例有约瑟夫环、多项式运算等,可以让学生思考如何采用类似的分析和设计方法对这些案例进行实现 3综合案例 根本案例涉及的知识点相对单一,因此需要设置一定的综合案例,使学生理解知识的综合运用综合案例的选择首先需要表达知识点之间的融合,即需要涉及到多个相互关联的知识点其次需要控制其规模和难度,规模不易过大,难度要适中,这样才能使学生既有对其进行实现的信心,又能体会到学以致用的效果综合案例的讲授方法采取“教师引导+学生分组讨论+确定实现框架+课下实现〞的方法,即通过教师引导确定该案例涉及的知识点,然后由学生分组讨论可能的实现方案,继而总结这些实现方案确定可行的实现框架,最后留下具体的实现給真正感兴趣的学生课下实现受限于固定的授课学时,综合性案例不易过多。
选取了四个综合案例,如表3所示表达式求值及形式转换,涉及到栈、二叉树的创立、遍历、字符串截取及转数值等知识点通过该实例,不仅可以使学生体会到不同数据结构之间的相通性,也为后续编译原理课程的学习打下一定根底哈夫曼编码译码涉及到正那么二叉树的存储〔静态链表〕、生成及遍历等知识点,使学生可以体会到静态链表的用途、基于哈夫曼的加密解密实现等基于索引的学生成绩管理系统涉及到数据元素及索引的外部存储和内部存储、基于索引的数据元素的插入删除〔包括索引的插入删除和数据元素的插入删除〕,索引可以是顺序索引,也可以是树索引通过该实例,不仅可以使学生体会到数据的外部存储和内部存储之间的关系,而相关的索引知识还可以为后续数据库原理课程的学习打下一定根底 4结语 本文针对MOOC背景下案例法教学实施的问题,设计了一套案例集该案例集包含根本案例和综合案例,根本案例用于每章的教学,综合案例用于综合性训练该案例集中的不少案例已在笔者多年的教学实践中进行了实施在后续基于MOOC的课程教学改革中,该案例集及教学方法将被实施到本校的?数据结构?课程教学中。
