微课在数据结构课程中的应用
2014-09-25徐翀
徐翀
摘 要:数据结构是计算机大类专业的一门重要核心课程,在整个课程体系中起着承上启下的作用。文章分析了微课在数据结构课程中的应用,探讨了微课的特点、微课视频设置的内容以及微课的授课技巧。实践证明将微课作为辅助教学手段,对学生掌握课程内容、增强动手能力有着较大的帮助。
关键词:微课;数据结构;教学技巧;螺旋上升
中图分类号:G642文献标志码:B 文章编号:1673-8454(2014)12-0037-03
一、引言
随着移动互联网技术的迅猛发展,“微”生活已越来越受到人们的追捧和重视,“微博”、“微信”获得了巨大的成功,越来越多的行业受其影响,教育领域也开始了渗透与改变。2013年,教育部全国高校教师网络培训中心举办了首届全国高校微课教学比赛,旨在推动高校教师专业发展和教学能力提升,促进信息技术和学科教学融合,搭建高校教师教学经验交流和教学风采展示平台。[1]这充分表明了“微课”正成为新时代教育的热点,也是未来教育界的热门话题。
“微课”是指以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点(重点难点疑点)或教学环节而开展的精彩教与学活动全过程。[2][3]
数据结构是计算机大类专业中的一门核心课程,其中大类专业包含计算机科学与技术、软件工程、网络工程、物联网工程等专业。课程中排序问题算法以及基本的树、图等数据结构是计算机科学的基本功,B+树、散列(Hash)等高级数据结构,也是数据库、操作系统、编译原理、计算机网络等重要专业课程的基础。因此这门课程在整个课程体系中承上启下,担任着极为重要的作用。
本文结合笔者使用微课进行数据结构课程教学的经验,探讨了微课的特点、安排的内容和微课授课技巧,并分析了课程改革前后学生的成绩变化。
二、微课教学的特点
微课教学相对于传统的课堂教学,有着“新”、“短”、“小”、“精”等特点。
1.形式新颖,提升学生兴趣
长期以往,教师授课都是在课堂上进行。以微课作为教学手段,更能吸引学生的注意力,提升他们的兴趣。学生以一个非常放松的心态去学习微课内容,反复观看视频,消化在课堂上未能及时理解的知识,往往能获得比在课堂上更好的学习效果。
2.时间短、容量小,方便随时随地学习
微课时间短,通常以流媒体的形式存储,存储容量小,可以在手机上观看,称为“口袋里的课堂”。学生可以自由安排时间,充分利用时间碎片,实现随时随地学习,提高学习的效率。
3.提炼教学精华,突出教学重点
微课不是将所有的教学内容划分成片段,因此它并不是教学视频的缩小版。需突出课程的重点和难点,学生应该在学习微课前充分了解背景知识,教师应该舍弃泛泛而谈的叙述和铺垫,提炼教学内容精华,达到最佳的教学效果。
4.以网络为媒介,反馈效果更快更好
微课基于的媒介是互联网,学生学习过程中,可以随时将自己的想法及意见反馈给教师,教师也能及时给予回复和指导。相对于传统的教学方式,反馈效果更快更好。
三、微课视频的内容
通常一次微课时长为10-15分钟,在这么短的时间内,教师应讲解一个完整的知识点且问题具有一定的代表性,能帮助学生举一反三,表1是选取作为录制微课视频的内容。
四、微课教学的技巧
在微课短短的时间内,教师必须利用各种教学技巧抓住学生的注意力,整个教学过程中分析问题思路清晰,带领学生探究问题、思考问题、解决问题,最终达到微课教学的目的。
1.螺旋上升,豁然开朗
建构主义认为,知识不是通过教师传授得到,而是学习者在一定的情境下,借助在获取知识的过程中其他人(包括教师和学习伙伴)的帮助,利用必要的学习资料,通过意义建构的方式而获得。学生在走向新的发展的过程中,必须以原有知识体系、学习方法和情感态度为基础,即“最近认识区”上发展,而不能一步到位。这就要求教师在教学设计时,要注重学生现有知识和各种能力(包括记忆能力、理解能力、注意力等),然后设置好合适的阶梯,让学生能向上发展而又能体会到学习的兴趣,在这个过程中,有些时候要允许学生停下来思考,甚至往回走,但总体上要向前走,形成螺旋式上升的态势,最终让学生得到发展。[4]
“螺旋上升”教学理念的精髓在于目标不求一次到位,而是分步达成。教学整体思路遵循发现问题——解决办法——分析不足——新辟思路——实现验证这几步。用“螺旋上升”的理念来指导教学,是符合人的认知特点和身心发展规律的。当知识积累到一定程度,思考深入到一定深度,就会自发地产生一个质的飞跃,达到一个豁然开朗的境界,学生从中体会成功的喜悦,从而达到知识技能、学习方法、积极情感的全面发展。
下面以循环队列为例,详细阐述微课教学过程中使用“螺旋上升”式的教学步骤。
(1)发现问题:在顺序存储结构的循环队列中,做若干次进队列和出队列的操作后,教师提出问题,即队列中分配的存储区还没有满,但队列却无法再进新的元素,这种现象称为"假溢出"。如何有效解决“假溢出”?
(2)解决方法:教师利用学生排队的实例,引导学生积极思考如何解决“假溢出”问题,学生经过讨论后,得出如下解决方法:每次出队列后,队列中其余的元素都向队头处移动,保证队头元素始终在存储空间的首地址位置。这样的情况下,不会再出现“假溢出”。
(3)分析不足:这种办法可行,每次出队列操作时间复杂度达到O(n),在数据量较大的情况下,这样的算法效率低下。
(4)新辟思路:将队列设想成环状,分配空间的低地址和高地址相连。只要当前队列中有空闲空间,就可以插入新的元素,有效解决了“假溢出”的问题,这种队列称为循环队列。
(5)再遇问题:循环队列中,在经过若干次进队列和出队列后,当队列空时队头和队尾指针指在同一位置,而队列满时也是如此,出现了“二义性”。
(6)解决方法:再次探索,如何解决“二义性”问题?教师再度让学生讨论,大致解决方法有三种,其中最优方法是少用一个存储空间为代价,若队列分配了N个元素空间,当存放了N-1个元素的时候,即认为是满队列。这时空队列和满队列的判定条件不相同,解决了“二义性”问题。
在上述微课教学过程中,教师是一个引导者,不断抛出新问题,指引学生思考并解决,同时鼓励他们大胆质疑,整个思想呈现螺旋上升式,不仅降低了学习的难度,学生也能通过不断体会成功而获得其中的乐趣。
2.前后呼应,串成整体
数据结构的概念多,难理解,学生容易混淆术语。在教学过程中教师注意前后呼应,将整本书的内容串成一个整体,让学生在学习时牵一处则思百处。
比如“度”的概念,在树型结构和图型结构中均有提及,但含义不同。树型结构中“度”是指结树中结点拥有的孩子数目。而在图型结构中,是指顶点依附的边的数目。讲解过程中,提醒学生比较它们的不同点,能加深概念的理解。
在讲解堆排序的时候,这里以大顶堆为例。教师首先抛出概念“n个元素的序列(K1,K2,…,Kn)当且仅当满足下列关系:Ki大于等于K2i且Ki大于等于K2i+1时称之为大顶堆。”并辅以实例让学生先获得感性认识,学生发现在线性存储结构(K1,K2,K3,...,Kn)中,比较Ki、K2i、K2i+1的大小很不方便,此时教师提示完全二叉树的一个特性:若结点编号是i,那么其左孩子的编号为2i;右孩子的编号为2i+1。若用完全二叉树来描述该线性序列,则只需比较结点跟其左右孩子的大小关系即可。这样的比较办法比线性结构更直观,也更简单。整个教学过程中将章节之间前后呼应,学生学得更加轻松,也能深切感觉到各种数据结构之间存在关联,是一个有机整体。
3.结合生活,化繁为简
数据结构很多算法都是来源于生活,特别在图型结构这一章中,涉及到最小生成树算法、关键路径算法、拓扑排序、最短路径等等。教师在教学过程中以现实生活的例子作为导引,首先让学生认识到这些算法的重要性,其次合理生动的实例能帮助学生理解算法。
在讲解关键路径这一知识点时,会提及两个重要概念:最早发生时间和最迟发生时间。学生往往很难理解,教师可以结合学生做作业的实例:教师布置作业是第一天,作业最迟在第五天交,完成作业需要两天时间。那么学生做作业这一事件最早发生在教师布置作业时刻,即第一天。而最迟发生在教师收作业时间减去完成作业所需的时间,即第三天。这个例子让本来非常繁杂的计算公式变得易于理解,学生通常报以会心一笑,在轻松愉悦的课堂氛围中,一个复杂的问题迎刃而解。
4.扩散思维,比较优劣
在数据结构课程中,往往会有这样的情况:同一个问题可以用不同的数据结构来解决,此时教师要求学生完成后,再想一想可以用其他的数据结构来解决么?如果可以,它们的时间复杂度各自为多少?这些做法各自有什么优劣?
针对“约瑟夫环问题”,教师讲解题目含义后,在微课上用循环链表的方式来解决,留给学生课后思考其他的解决方法,鼓励学生大胆尝试不同的数据结构。在教学反馈中发现班上学生有的用顺序队列,有的用普通单链表,有的用循环队列。扩散思维的培养使得学生对数据结构有了更深的理解,解决问题的能力也大幅提升。
五、微课教学的效果
笔者从2013-2014学年第一学期开始实施微课辅助教学模式改革,至今参与学生人数为174人。学生普遍反映课程中最难理解的部分,可以通过微课视频得到进一步学习。学生在实践环节中编程能力普遍得到提高,自主完成比例明显上升。样本选择了2012-2013学年第二学期所教班级和2013-2014学年第一学期所教班级,两个教学班专业相同,均为计算机科学与技术专业,期末试卷难度相当,满分100分。学生的成绩统计如图1表示,图1中优秀、良好、中等、及格、不及格单位为百分比。
图1表明,2013-2014学年第一学期相对于2012-2013学年第二学期,优秀、良好、中等的比例上升,及格、不及格比例下降。这些变化说明了微课辅助的课程教学有助于提高学生的学习成绩,获得了较好的教学效果。
六、结束语
利用微课作为辅助的教学方式,已经成为教育领域的一项重要话题。数据结构作为计算机专业的重要基础课程之一,对学生软件开发的过程和习惯的培养至关重要。本文阐述了微课教学的特点,以及数据结构课程中微课视频内容的选择及应用的授课技巧,微课能有效的帮助学生理解课程的重点、难点,及时得到学生的反馈,增加师生的沟通,有利于提升学生的学习兴趣、达到良好的教学效果。
参考文献:
[1]教育部.关于举办首届全国高校微课教学比赛的通知[EB/OL].http://weike.enetedu.com/news/html/2012-12-25/201212252035021.htm, 2012-12-25.
[2]张明昕.微课与翻转课堂浅谈[J].大学教育,2013(12):29-30.
[3]张铭.微课——唱响中国MOOC的前奏[J].计算机教育,2013(20):11-13.
[4]黄秀英.“自主—探究—合作”化学课堂教学模式的构建与实践[D].广西:广西师范大学,2011:6.
(编辑:鲁利瑞)