APP下载

微课在数据结构课程中的应用*

2014-11-30

中国教育信息化 2014年12期
关键词:数据结构队列微课

徐 翀

(杭州电子科技大学 计算机学院,浙江 杭州310018)

一、引言

“微课”是指以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点(重点难点疑点)或教学环节而开展的精彩教与学活动全过程。[2][3]

数据结构是计算机大类专业中的一门核心课程,其中大类专业包含计算机科学与技术、软件工程、网络工程、物联网工程等专业。课程中排序问题算法以及基本的树、图等数据结构是计算机科学的基本功,B+树、散列(Hash)等高级数据结构,也是数据库、操作系统、编译原理、计算机网络等重要专业课程的基础。因此这门课程在整个课程体系中承上启下,担任着极为重要的作用。

本文结合笔者使用微课进行数据结构课程教学的经验,探讨了微课的特点、安排的内容和微课授课技巧,并分析了课程改革前后学生的成绩变化。

二、微课教学的特点

微课教学相对于传统的课堂教学,有着“新”、“短”、“小”、“精”等特点。

1.形式新颖,提升学生兴趣

长期以往,教师授课都是在课堂上进行。以微课作为教学手段,更能吸引学生的注意力,提升他们的兴趣。学生以一个非常放松的心态去学习微课内容,反复观看视频,消化在课堂上未能及时理解的知识,往往能获得比在课堂上更好的学习效果。

2.时间短、容量小,方便随时随地学习

微课时间短,通常以流媒体的形式存储,存储容量小,可以在手机上观看,称为“口袋里的课堂”。学生可以自由安排时间,充分利用时间碎片,实现随时随地学习,提高学习的效率。

3.提炼教学精华,突出教学重点

微课不是将所有的教学内容划分成片段,因此它并不是教学视频的缩小版。需突出课程的重点和难点,学生应该在学习微课前充分了解背景知识,教师应该舍弃泛泛而谈的叙述和铺垫,提炼教学内容精华,达到最佳的教学效果。

富水软岩含煤地层富水异常区的综合防治水技术……………………………………… 贾东秀,韩港,赵锦锋(4-189)

4.以网络为媒介,反馈效果更快更好

微课基于的媒介是互联网,学生学习过程中,可以随时将自己的想法及意见反馈给教师,教师也能及时给予回复和指导。相对于传统的教学方式,反馈效果更快更好。

三、微课视频的内容

通常一次微课时长为10-15分钟,在这么短的时间内,教师应讲解一个完整的知识点且问题具有一定的代表性,能帮助学生举一反三,表1是选取作为录制微课视频的内容。

表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.扩散思维,比较优劣

在数据结构课程中,往往会有这样的情况:同一个问题可以用不同的数据结构来解决,此时教师要求学生完成后,再想一想可以用其他的数据结构来解决么?如果可以,它们的时间复杂度各自为多少?这些做法各自有什么优劣?

针对“约瑟夫环问题”,教师讲解题目含义后,在微课上用循环链表的方式来解决,留给学生课后思考其他的解决方法,鼓励学生大胆尝试不同的数据结构。在教学反馈中发现班上学生有的用顺序队列,有的用普通单链表,有的用循环队列。扩散思维的培养使得学生对数据结构有了更深的理解,解决问题的能力也大幅提升。

五、微课教学的效果

图1两个学期学生成绩统计比较图

笔者从2013-2014学年第一学期开始实施微课辅助教学模式改革,至今参与学生人数为174人。学生普遍反映课程中最难理解的部分,可以通过微课视频得到进一步学习。学生在实践环节中编程能力普遍得到提高,自主完成比例明显上升。样本选择了2012-2013学年第二学期所教班级和2013-2014学年第一学期所教班级,两个教学班专业相同,均为计算机科学与技术专业,期末试卷难度相当,满分100分。学生的成绩统计如图1表示,图1中优秀、良好、中等、及格、不及格单位为百分比。

图1表明,2013-2014学年第一学期相对于2012-2013学年第二学期,优秀、良好、中等的比例上升,及格、不及格比例下降。这些变化说明了微课辅助的课程教学有助于提高学生的学习成绩,获得了较好的教学效果。

六、结束语

利用微课作为辅助的教学方式,已经成为教育领域的一项重要话题。数据结构作为计算机专业的重要基础课程之一,对学生软件开发的过程和习惯的培养至关重要。本文阐述了微课教学的特点,以及数据结构课程中微课视频内容的选择及应用的授课技巧,微课能有效的帮助学生理解课程的重点、难点,及时得到学生的反馈,增加师生的沟通,有利于提升学生的学习兴趣、达到良好的教学效果。

[1]教育部.关于举办首届全国高校微课教学比赛的通知[EB/OL].http://weike.enetedu.com/news/htm l/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.

猜你喜欢

数据结构队列微课
数据结构线上线下混合教学模式探讨
微课在幼儿教育中的应用
队列里的小秘密
基于多队列切换的SDN拥塞控制*
微课在高中生物教学中的应用
为什么会有“数据结构”?
微课在初中历史教学中的应用
在队列里
丰田加速驶入自动驾驶队列
高职高专数据结构教学改革探讨