应用型本科院校《数据结构》微课及教学改革研究
来源:用户上传
作者:
摘要:按照“全面建设合格课程,重点建设学院重点课程,创建学院优质课程”的建设思路,不断进行课程教学改革与创新。针对目前《数据结构》教学中存在的问题,进行应用型本科院校《数据结构》课程教学目标及教学对象分析,提出了从教学内容组织、教学方法、实验教学和考核方法四个方面进行教学改革的方案。以陕西省第二届微课竞赛三等奖作品为例,分析数据结构中《栈的应用》中的主要知识点、教学设计及授课效果。教学实践表明:该方案的实施可取得明显的教学效果。
關键词:微课课程;应用型本科院校;教学改革;教学方法;双向互动
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2020)03-0130-03
《数据结构》是计算机科学与技术专业、软件工程及相关专业的一门重要专业基础课。通过该课程的学习,使学生能够针对实际问题,分析数据之间的关系,设计合理的存储结构和算法[1],为后续课程学习打下良好的基础。学生学好该课程,对于学习其他课程、考研以及培养解决问题[2]的能力等至关重要。因此,该课程教学改革的研究具有非常重要的意义。
按照“全面建设合格课程,重点建设学院重点课程,创建学院优质课程”的建设思路,加强课程建设,不断进行课程教学改革与创新。针对目前《数据结构》教学中存在的问题,提出了从教学内容组织、教学方法、实验教学和考核方法四个方面进行教学改革的方案。
1《数据结构》教学目标及教学对象分析
1.1 教学目标
通过《数据结构》的学习,知道《数据结构》这门学科的性质、地位和独立价值[3];理解算法在数据结构中的地位和作用;知道数据结构的研究范围、研究方法、研究现状和未来发展趋势[4];掌握数据结构的理论实质内涵;熟练掌握数据结构算法实现的基本方法。
1.2 教学对象分析
《数据结构》的教学对象是计算机科学与技术专业、软件工程专业的本科二年级学生,此类学生在学习《高级语言程序设计》课程的基础上,再学习《数据结构》课程,就具有比较坚实的理论基础[5],具备用C语言开发应用程序的能力,能够更加深刻的理解和领会《数据结构》中算法的实现思想和实现过程。
课程开设前,组织学生召开教学联系会,通过和学生面对面的交流,发现学生对基本语法、基本概念掌握情况,如单个知识点掌握较好,但综合应用能力较弱,动手能力有待提高。
在学习、研究《数据结构》课程标准以及本课程现在所用教材的基础上,对教学内容进行精心设计,在教学实施过程中注意采用灵活多样的教学形式,引导学生在学习过程中养成积极思考的习惯,激发学生的学习热情,最大限度发挥学生的主观能动性和创新精神,培养学生的探究意识和科学精神。
2《数据结构》的教学组织与微课举例
《数据结构》是一门专业技术基础课。贯穿《数据结构》的命脉是存储结构和算法描述[6],而描述又是围绕线性结构和非线性结构进行的。每个章节之间既相互独立,又相互联系。教学中,如果能抓住主线,理清其内在联系,对整个内容进行有机整合、合理安排,必将起到事半功倍的效果。
本课程制作SPOC平台,通过课程建设将课程视频、课件、大纲、评论、问答、辅助教学资源等上传至平台,学生可通过账号进行学习。根据课程内容,召开相关见面会、团队成员一起进行微课的设计,包括字幕配音稿,音乐,素材,相关图片,拍摄模式(外景拍摄模式+扣像模式+背景虚化模式)等构成。本课程每周4课时,共64课时,录制视频时每个知识点大概10-15分钟,至少录全部章节的一半章节内容。
2.1 线性结构
线性结构包括线性表、栈和队列、串、数组和广义表。其中,线性表是最基本、最简单的一种线性结构(7J,掌握了它的原理及操作方法之后,对于栈、队列和数组的教学就非常容易。因此,应该将线性表作为教学的重点,并以它为主线带动其他章节的教学。在教学中,要重点分析其本质,并讲清其内在的区别和联系。
以陕西省第二届微课竞赛三等奖作品为例,分析数据结构中《栈的应用》等主要知识点授课。栈是限定在表的一端进行插入和删除操作的线性表,特点是“后进先出”。本微课用一个实际问题引入教学,激发了学生的学习兴趣。采用PPT、flash动画和算法演示系统辅助教学,采用“问题链式”等多种教学法相结合,层层递进地与学生双向互动,依次解决了以下几个方面的问题:
1)栈的出栈序列如何求解?
2)中缀表达式求值如何通过堆栈来实现?
3)后缀表达式求值如何通过堆栈来实现?
最后用所学知识成功解决了开篇提出的问题,为课程的学习画上了一个圆满的句号。通过本微课的学习,达到以下教学目的:
1)学生了解栈的定义和特点。
2)学生掌握用堆栈进行中缀表达式求值的实现方法和算法思想。
3)学生掌握用堆栈进行后缀表达式求值的实现方法和基本步骤。
重点内容是栈的特点和栈的应用。难点是中缀表达式求值和后缀表达式求值。
2.2 树形非线性结构
非线性结构包括树和图。主要涉及树和图的各种算法、知识要点以及在工程中的应用。其遍历算法的本质是将一个非线性结构转化为线性结构。
树的重点是二叉树,主要介绍二叉树的概念、存储、算法,树的遍历及线性化。重点要讲清楚平衡二叉树、排序二叉树、满二叉树、完全二叉树及最优二叉树的概念,以及它们之间的关系,进而使学生对二叉树有一个全面、清晰的理解。
2.3 图形非线性结构
图这一部分要以存储结构邻接矩阵、邻接表、十字链表的教学为重点,对每种存储结构,分析其利弊关系。图的应用如最小生成树算法、最短路径算法、关键路径算法等也是这部分教学的关键,学生往往难以理解和接受。这就要求教师详细分析其算法的思想,以及其来龙去脉。在学生有困难的情况下,教师可以提供给学生算法的源程序,并让学生上机实践。 排序和查找也是以线性结构和非线性结构为基础的。如查找过程和排序过程都可描述为二叉树,因此,这部分内容应把讲授的重点放在介绍其思想和方法上。
3《数据结构》的教学方法与微课教学设计举例
3.1 教学方法
根据教学内容的特点,一般采用“问题链式”教学法、启发式教学、研讨式及案例式教学等多种教学方式。
针对《数据结构》课程层次性,逻辑性很强的特点,老师主要采用“问题链式”教学法,并通过flash动画演示、课堂讨论、“启发式”教学等多种教学方法和手段,进行课堂教学。学生主要通过讨论、提问等方式进行学习。
“问题链式”教学法的一般模式是首先通过引入,提出问题,然后解决问题,再提出问题,解决问题等等,以此类推,环环相扣,形成一个问题链。“问题链式”教学法,其本质是以“问题”贯穿整个教学过程,以实现教学目标,培养学生思维能力,激发创新潜能。
针对数据结构教学内容抽象、不容易理解、算法复杂等特点,进行实验教学方面的改革。采用算法演示系统与C语言环境相结合的方式进行教学。算法演示系统可以动态地演示数据结构算法执行过程,使得抽象问题具体化,增加学生学习的积极性和主动性。注意教学方法的灵活性,组织学生进行问题教学、阅读指导、研讨、师生互动等,尤其是通过观看演示模式,使复杂的理论知识形象化,具体化,增加学生的学习兴趣,提高教学质量。提供给学生一些思考题,然后组织学生讨论,培养学生发现问题、分析问题、解决问题的能力和探究意识。
在教学媒体使用方面,重点研究多媒体等现代化教学媒体的应用,充分发挥其在教学中的形象、直观等优势[8],以利于提高教學效果。在多媒体课件的制作中,突出本课程教学过程中重点、难点的演示,对一些抽象的内容以动画的形式展示,帮助学生理解学习。
3.2 微课教学设计
下面以10-15分钟的微课课程《栈的应用》为例,如表1所示,进行微课教学设计。
4 课程教学改革
4.1 微课教学改革效果
在学习、研究《数据结构》课程标准以及本课程现在所用教材的基础上,对教学内容进行精心设计,在教学实施过程中注意采用灵活多样的教学形式,引导学生在学习过程中养成积极思考的习惯,激发学生的学习热情,最大限度发挥学生的主观能动性和创新精神,培养学生的探究意识和科学精神。
采用微课的授课方式、“问题链式”教学法、启发式教学、研讨式及案例式教学等多种教学方式相结合的方式的教学,效果良好,作者所讲授《栈的应用》作品获得陕西省第二届高校教师微课教学比赛三等奖。
1)变“被动学习”为“主动学习”,培养学生的创新性思维。
2)使学生从感性认识上升到理性认识,使教材内容化难为易,化抽象为具体,达到掌握知识的教学目的。
4.2 课程教学模式改革
教学模式一般可以分为集体授课和个别学习两种,目前教研室所承担课程的主要教学模式是集体授课方式,充分调动“教”和学生“学”两个方面的积极性,让学生始终主动参与教育教学过程。其中教学班是主要的教学组织,班级授课制是目前教学的主要组织形式。在教室合班或单班上课均可,建议每周安排2次课,即4学时。针对某些期班的特殊情况,可以采取个别学习的方式。
4.3 实验教学改革
实验课教学,在软件工程验室进行,确保单人单机,建议理论课开始20学时后,安排每周1次实验课,即2学时。教学中加强实验室教学这一环节,实验内容结合DOS、Windows操作系统平台,包括线形表的实现、栈的表示与实现、二叉树的先序遍历、二叉树的后序遍历以及二分法查找的实现等不同深度。让学生动手操作、编制模式、上机调试。对每个实验,均要求学生完成实验报告。
学生业余学习场所应有校园网网络资源,以便学生充分利用数据结构网络资源进行课程内容温习,为学生充分发挥学习潜力创造较大的空间和提供良好的平台。
4.4 考核方式改革
1)考核目的
这门课程的考核目的是评价学生对《数据结构》课程的理解与掌握程度,通过分析算法、上机实验等实践环节,检测学生发现问题、分析问题和解决问题的能力,使学生具有较强的算法收集、分析、编写能力;能够在学习、研究过程中发现问题,并能够运用所学知识去分析解释,有一定的独立思考、分析概括和创新能力。
2)考核方法
这门课程一门考试课,一般应安排在课程末或期末进行,采用笔试考试(80%)和实验考核(20%)相结合的形式进行。笔试考试时间为120分钟,实验考核成绩以实验报告和上机完成情况给定。
5 结束语
由于《数据结构》是计算机专业的骨干、核心课程,也是大多数学校研究生入学考试的必考课程,因此,对于该课程的教学,不仅要从理论上进行探讨,还要从内容组织、教学方法等方面进行研究。
《数据结构》是计算机科学与技术专业、软件工程及相关专业的一门重要专业基础课。也是大多数学校研究生入学考试的必考课程。结合陕西省获奖作品《栈的应用》,我们提出了从教学内容组织、教学方法、实验教学和考核方法四个方面进行微课及教学改革的方案,并在教学中进行了实施。选用较为适宜的教学方法和比较科学、先进的教学手段,有利于培养学生实践能力和创新精神;构建“自学指导,课外训练、实践实验技能训练”三大课外自主学习体系建设,建立网络教学资源库,教学效果良好。
参考文献:
[1]付向艳,蒲伟华,郭莹莹.基于雨课堂的《数据结构》教学改革与实践[J].教育天地,2018(5):223-224.
[2]蒋翠玲,万永菁,袁伟娜.基于微课与CDIO模式的数据结构课程教学改革[J]化工高等教育,2018(3):57-61.
[3]刘平山,张瑞霞,周娅.微课移动学习系统设计与教学实践[J].当代教育理论与实践,2016,8(5):85-87.
[4]王海艳,骆健,基于微课的《数据结构》多元化教材建设研究[J].教育教学论坛,2017(25):205-206.
[5]赵庆聪,基于翻转课堂的数据结构课程实验教学模式研究[J].大学教育,2016(02):9-10.
[6]刘晓静,王晓英.基于翻转课堂的数据结构与算法课程教学实践[J].微型电脑应用,2015(31):18-19.
[7]张瑞霞,文益民,周娅,等.数据结构课程微课设计与应用研究[J].计算机教育,2015(16):59-62.
[8]唐世刚,钟万林.互动式教学模式构建研究[J]教育理论与实践,2013(18):42-43.
转载注明来源:https://www.xzbu.com/8/view-15149989.htm