文|张潞豪
对于我国高等院校的计算机专业学生而言,《数据结构》是计算机专业的核心课程之一。该课程要求学生拥有与数据结构相关的基础知识储备,掌握常用的基本数据结构,能够对算法进行时间空间复杂度的分析,最终达到在实际开发过程中可以针对具体需求来进行数据结构的应用和算法设计的能力。而栈和队列是本课程中尤为重要的知识点,专业性强,对于刚接触这类知识点的学生来说难以掌握其核心内容,传统的教学方式不能很好地满足学生个性需求。近年来随着信息技术和网络应用的高速发展,微课在中小学教学中得到普及和应用,但对于高校教学还没有得到广泛的发展应用。大多数高校教师在授课中还是以传统板书或演示文稿PPT的形式进行教学,无法调动学生上课积极性,导致学生对部分知识点理解不透,无法满足学生学习的个性需求,本微课的制作就是为了解决这类问题而做的尝试。
《数据结构》是计算机及相关专业的一门核心课程,它具有较强的逻辑性和实践性。重点传授数据组织中的逻辑结构、存储结构及相关算法,探讨实际需求。数据结构是计算机专业基础,学好这门课程,对于学习计算机专业的其他课程和提升个人编程能力都是十分有益的。学习和掌握数据结构的相关知识,可以设计出更高效的算法程序从而更好地利用计算机去解决复杂的需求问题。同时,在实际计算机运行环节中,各种类型的数据结构被广泛地运用到软件中。
栈和队列是数据结构中的线性表,是两种非常重要的数据结构。
栈(stack)是只能在表尾进行插入或删除操作的线性表,又称为后进先出的线性表;
对栈来说,栈顶的位置实际上在表的尾端,同理,栈底在表的首端。比如在现实生活中装卸快递货物,先装车底的快递最后才送达,遵循先进后出。
队列(queue)也是一种线性表但和栈不同,可以在表两端进行操作。队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种先进先出的线性表;
允许插入一端称为队首,允许删除的一端称为队尾,比如我们到食堂排队打饭,遵循先进先出。
首先数据结构这门课程本身就是计算机专业的理论基础课之一,课本知识多年固化,在讲课过程中往往理论性较强,且有些案例年代较远,不能紧跟时代的变化,难以达到理论与实践紧密结合。其次现在是信息化的教学时代,除了传统课堂授课的形式之外,还需要大力发展线上授课方式,广泛拓展教学资源,实现师生实时互动沟通。第三,要真正地实现以学生需求为课堂主体,以教师为引导的课程改革。最后学生反映在学习过程中往往存在某个知识点理解不同,不同学生存在个体差异。这就提出了数据结构课程改革的一个要点,即如何能够实现学生差异化学习,满足个性化需求,而微课作为一种教学辅助手段,恰好弥补了这种需求空白。
(一)制作栈和队列微课的意义
为适应信息化教学,探索数据结构课程改革的方向,分析微课在数据结构课程改革中的作用和效果。
本微课以《数据结构》里的栈与队列为知识点,它通过模拟智能物流车在现代物流仓库的运行情景,为学生创造了一个生动形象的学习案例,突出了微课选题的短、精、难特点。本微课时间控制在10分钟以内,不用引课直接情景说明,起到了精准教学的效果。本微课整体容量较小,教师可在课前传给学生,让学生完成预习任务,学生也可以在课后进行学习巩固,解决了学生个性化学习的问题。方便学习生通过互联网借助移动设备,实现学生自主不限时间空间循环学习。
(二)微课的设计策略
本微课的设计策略为:以物流车充电为入栈操作,充满离开为出栈;
栈满排队为入队操作,入栈为出队操作。车辆正常充电,当充电位满后,继续来到的其他车辆只能停在排队位上,根据队列的特点,先排队的车辆先离开排队位进入充电区,符合队列的“先进先出,后进后出”的操作特点,因此,可以用一个队列来模拟排队位。排在充电位中的车辆可以提前离开,在该车辆之后进栈的须为它让路,然后这些车辆依原来到达充电位置的次序重新进入充电位,因此在前面已设的一个栈和一个队列的基础上,还需要有一个用来让停放等待充电的位置,由于先退出充电区的随后再一次进入,所以可以用一个临时栈来模拟。
(三)微课内容
微课内容包括P P T制作、动画制作、习题问卷设计、程序演示。PPT制作微课的主要情景,最后通过录制生成微课视频,该部分主要说明微课动画的五大内容。首先是动画故事引入:以员工向监理汇报方案完成情况吸引学生的学习兴趣,并为下面具体讲解栈和队列相关知识点做铺垫;
其次是核心动画场景讲解:共分四个场景,由浅入深依次引出堆栈和队列;
系统介绍栈和队列的概念和栈顶元素、栈底元素,演示出入栈、出入队;
通过引入临时栈,深入讲解栈“先进后出”和队列“先进先出”的本质特点;
再次通过动画演示讲解栈的“先进后出”和队列“先进先出”;
知识总结:将栈和队列的知识点以动画人物讲解方式再次展示在微课视频中。最后是例题讲解,题目为“如果一个栈的输入序列为123456,能否得到435612或135426的出栈序列(不考虑临时栈)?”,难度适中,结合动画讲解能产生很好的效果。课下部分包括形成性评价设计:调查问卷和课后习题;
程序演示:将上述过程结合C语言中栈和队列进行算法设计,设计成C语言程序,来实际模拟仓储物流车充电管理系统。以充电区充电位2个,排队位2个来进行算法演示过程。
(四)微课制作
多媒体资源的使用:动画制作:来画;
视频制作软件:Adobe Premiere Pro、剪映专业版;
文稿制作和演示软件:PowerPoint、Word。
场景引入:在某小型物流仓办公室,以员工向监理汇报方案完成情况吸引学生的学习兴趣,并为下面具体讲解栈和队列相关知识点做铺垫。
核心知识点场景动画讲解:场景一:引出计算机中C语言中堆栈和队列的知识点。员工向监理介绍只有两个充电位和排队位,随后四辆物流车赶来,依次进入充电位充电和在排队位依次等候。动画解读:两个充电位即在计算机中申请的动态内存—堆,两辆物流车依次进入充电即计算机中元素的入栈操作;
两个排队位即计算机中的队列,剩余两辆物流车依次进入排队位即计算机中元素的入队操作。场景二:系统介绍栈和队列的概念和栈顶元素、栈底元素,演示出入栈、出入队。其场景动画为:2号车充满离开,3号车进入充电区充电。动画解读:2号车所在位置为栈顶,2号车叫做栈顶元素;
1号车所在位置为栈底,1号车叫做栈底元素。2号车充满离开叫做出栈操作,出栈后,栈顶元素为空,队列元素出队入栈,此后3号车成为栈顶元素。4号车向前补位。场景三:通过引入临时栈,深入讲解栈“先进后出”和队列“先进先出”的本质,其场景动画为:1号车充满离开,2号车进入临时等候区待1号车离开后2号车再重新充电,3号车也同时跟进。动画解读:临时等候区即临时栈。若有需要,则会自动生成临时栈。2号车进入临时栈等待1号车完全离开,随后2号车离开临时栈重新入栈,若不再需要临时栈来充当临时存储则删除临时栈。场景四:再次通过动画演示讲解栈的“先进后出”和队列“先进先出”,其场景动画:2号和1号依次离开,3号和4号依次进入。动画解读:2号和1号完成离栈操作,3号和4号完成入栈操作。场景五:知识总结用动画角色重现课堂知识点,进行及时巩固。场景六:例题讲解同样使用动画角色和演示,在核心知识点讲解完毕后,需要通过实例来加深对知识点的认识。
课后拓展与巩固及程序运行:利用微课可以很容易对课程进行形成性评价设计,通过“问卷星”的便捷性可以很容易创建简单习题检测,扫描二维码即可答题。学生答题快速方便,教师也能清楚地得到学生的反馈数据,了解学生对核心知识点的掌握情况,可以及时调整教学策略。以经典C语言自行设计并运行《仓库智能物流车管理系统》程序,在实际教学中使用堆栈的算法和思想,并且结合微课视频中的运行情景,使学生深入了解栈的定义和特点,效果良好。
微课制作完成后,我们将此微课投入公共资源网站同时结合线下实际调查,发布问卷调查,对调查数据分析整理如下(各类问题不再详细展示,只展示人员类别占比)。
根据调查问卷结果数据分析,参与最多的是计算机专业学生,其次是计算机教师,第三是计算是非专业人士和自学者,参与最少的是IT从业者。对于从事计算机教学的教师来说,本视频将枯燥的栈和队列的算法转变为生动形象的视频形式,实现“由难到易知识的传授”转变过程。既实现了教师的教学目标,又丰富了教师的教学资源。对于计算机学生来说,微课可以随时弥补知识漏洞,可以满足个性化学习的需求。对于非计算机专业人士或自学者的反馈,多数通过观看本视频初步了解了栈和队列的算法。IT行业工作者对这类知识非常熟悉,且问卷参与者极少,其分析和结论不具有代表性。
本文在分析了传统课程数据结构教学存在的问题后,具体介绍了以现代智能物流仓储机器人的运行为背景的微课制作。该微课实现了多种教学资源内容相结合,通过展示真实的场景,更好地讲解了栈和队列的知识点。微课不仅极大地提高了学生的学习兴趣,满足了学生的学习需求,而且有效地突破了传统课堂的时间和空间的限制。同时微课使教学目的更为直观,其动画的详细讲解增强了课程的交互性,取得了良好的教学效果,实现了学生教师线上线下互动,真正实现了以学生作为主体的教学方式的改革探索,丰富了《数据结构》教学资源,推动了《数据结构》课程改革。体现了微课可作为高校教师授课的辅助作用,准确把握了微课在高等教育中的教学定位。
猜你喜欢号车数据结构队列队列里的小秘密小学生学习指导(低年级)(2020年4期)2020-06-02基于多队列切换的SDN拥塞控制*软件(2020年3期)2020-04-20在队列里军营文化天地(2018年2期)2018-12-15888号车拿下SIC888首场冠军 首届上赛888公里耐力赛圆满落幕车迷(2018年11期)2018-07-16SEC6小时首战结束汽车之友(2018年12期)2018-06-27BlackArts Racing笑到最后汽车之友(2017年22期)2017-11-23丰田加速驶入自动驾驶队列产品可靠性报告(2017年7期)2017-09-05“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例广东技术师范大学学报(2016年5期)2016-08-22高职高专数据结构教学改革探讨中国市场(2016年45期)2016-05-17B型地铁列车车门等间距布置方案铁路技术创新(2014年4期)2014-10-25