数据结构课程线上教学设计与实施

2021-08-02 07:40王全蕊
软件导刊 2021年7期
关键词:数据结构疫情算法

王全蕊

(河南科技学院信息工程学院,河南新乡 453003)

0 引言

我国高等教育经多年发展,质量有较大提升,但还不能完全满足经济社会发展需要,高校专业设置和结构不尽合理,学生实践能力和创新精神亟待加强,教师队伍整体素质有待提高,人才培养模式、教学内容和方法需进一步转变[1]。继续深化本科教学教育改革,根据市场需求不断调整本科人才培养模式,不断提高人才培养质量仍是高校工作重中之重。本科生已有基本的自主学习和解决问题能力,因此本科教学不应禁锢于传统课堂教学模式,混合式教学成为主流教学模式和未来发展趋势。

2020 年突如其来的疫情虽然带来巨大灾难和诸多不便,但同时为本科线上教学发展提供了良好机遇。在疫情期间为更好地实施在线教学,教育研究者针对课程特点、学生居家学习状态和学习环境等主要教学因素,以及教学过程中可能出现的问题进行了详尽深入的调研和分析。其中周爽等[2]分析了疫情期间课程转为纯线上教学后教师面对的挑战和问题,并提供了相应对策和建议;石凌等[3]指出教师在教学过程中存在技术、知识拓展和压力瓶颈等问题,提出利用多主体、多层面、多途径的办法形成常态化机制,以解决教师互联网教学能力的不足;谢幼如等[4]通过构建疫情防控期间在线教学方式分析模型,对来自全国各地的“停课不停学”教学案例进行系统分析,总结在线教学方式的主要特征;文献[5-7]具体分析了在线上直播课堂中遇到的问题以及解决方案;为了充分调动学生学习积极性,教师在授课过程中借助国内各大在线教育平台、直播工具、即时通讯工具等实施线上教学,并在线上教学过程中不断探索有效的教学方法,构建完善线上教学资源,为学生提供丰富、系统的学习资源[8-15],同时也为疫情结束后常态化混合式教学模式做了充足的前期准备工作[16],促使传统课堂教学模式向混合式教学模式加速发展。但是,这些研究成果大都针对疫情期间线上教学过程中可能出现的问题,提出了理论应急方案或解决策略,较少涉及具体课程在线教学方法设计、详细实施过程、实际问题解决方法、课后教学效果等方面。本文以2020 年春季学期数据结构课程为例,从课程线上资源建设与学生学习情况分析、教学方法和教学过程重新设计、具体线上教学实施、学情数据分析等环节,完整展现疫情期间数据结构课程教学过程,为后疫情时代混合式教学与纯线上教学研究提供借鉴。

1 线上教学设计

依据教育部提出的新工科人才培养目标为指导思想,考虑学生疫情期间个人学习环境、学习效率等多种因素,对数据结构课程线上理论教学和算法实践环节进行重新设计,保证教学过程按照教学计划有效实施,使学生在即使没有教师监督、课堂环境约束下保质保量完成课程的有效学习。

数据结构是一门理论和实践并重的课程,只有在理论上充分理解和掌握各种数据类型及其存储结构,以及在特定的存储结构中不同数据类型基本操作,才能具有根据实际问题抽象数据模型、设计算法解决实际问题的能力。因此本文通过重新设计教学方法、优化教学设计,以期解决疫情期间学生居家上课面临的问题,实现“停课不停教,停课不停学”。

1.1 教学方法设计

由于在疫情期间学生独自在家上课,缺少与其他学生在教室一同听课的氛围,更没有与教师面对面的互动,极易造成学生学习倦怠走神、迟到早退甚至是旷课,除了采用上课签到、随机提问、提交作业等外在监督手段,如何能让学生将学习意愿转化为内动力是教学方法设计的目标。

为了使学生能全程听课,保证学生的全程参与度,采用直播授课+直播互动的教学方式。在授课过程中借助音视频、图文相结合的方式对实际问题进行场景模拟,让学生置身于实际问题中,激发学生听课的兴趣,唤醒学生解决问题的欲望;采用直播互动方式引导学生发现问题、认识问题、解决问题,让学生在探索问题的过程中获取知识,在解决问题的过程中探索创新;在学期期间充分发挥即时通讯工具的优势,及时为学生答疑和沟通,实现一对一教学。

1.2 教学过程设计

构建数据结构课程课前、课中、课后教学三位一体化线上教学过程,教学过程设计如图1 所示。将问题作为贯穿教学过程中的主线,采用层层递进的教学方式,让学生带着问题上课、带着问题开展项目。

Fig.1 Online teaching process design图1 线上教学过程设计

课程教学过程具体分为:课前预习、测试,课堂理论讲授、验证性实验项目、课后理论测试、设计性实验项目。发布精心选择的预习内容,并设置预习测试题,要求学生在课前完成预习任务并进行测试;根据课前测试情况,在课堂上讲授重点理论、算法设计,示范验证性实验项目;课后进行理论知识测试,并布置设计性、综合性实验项目,在验证性实验项目的基础上,由易到难,在实践环节实现“教”“学”“做”融为一体;选择贴近现实生活的实际问题作为实验项目,由学生分组合作,分析问题、建立抽象数据模型、设计算法、编程实现。

2 教学过程实施

学生在学习数据结构课程后应具有掌握基础理论和常见算法、根据实际问题抽象数据模型、设计算法解决实际问题、编程实现抽象数据类型等一系列能力。从传统课堂教学效果来看,学生对理论知识的掌握程度尚可,但实践能力往往难以达到教学目标,本学期又处于疫情期间,在学生学习目标不明确、学习动力不足、无人监督的情况下,要达到理论和实践双重教学目标的难度更大。因此在线上教学过程实施中需充分发挥学生主观能动性,充分调动学生积极性,每一节课都让学生全程跟进和参与,每一节课让学生都有所得所获、所思所想,这样在日积月累的过程中学生就能逐步掌握理论知识并具有一定解决问题的能力。

数据结构课程借助智慧树在线教育平台、钉钉直播平台、QQ 即时通讯工具实施教学过程。在智慧树平台发布相应的教学资源,在钉钉上建立班级群,建立虚拟数据结构课堂,在QQ 为学生答疑,跟学生沟通交流,延申数据结构在线课堂。

2.1 学前准备

在智慧树平台提前发布温馨提示:提醒学生上课前准备事项;提示学生如何在平台上查找学习资料;告知学生每节课教学流程,提示是以任务形式在平台上发布的。发布课程大纲、平时成绩组成和积分标准,重点强调线上课程上课纪律。

2.2 课前引导

每次上课前提前一周在智慧树平台以任务的形式发布下节课讲课内容和问题,并同步到钉钉课程群中,引导学生带着问题预习、听课学习或带着答案听课验证,有效提高学生听课效果。

2.3 线上直播

(1)理论直播课。在直播课课前阶段,对上节课布置的问题随机点名提问并给出点评和鼓励,加深学生对所学知识的理解;在授课过程中,采用层层递进的教学模式,首先用图片模拟实际生活中待解决的问题场景,激发学生兴趣,使学生产生共鸣;接着采用动画演示,使学生对算法有直观的了解,理解算法实现过程;然后引导学生在不同存储结构上对算法进行一定对比和分析;最后通过代码讲解和演示使学生掌握算法实现过程。在讲解算法的同时结合实际问题进行分析,将抽象的概念具体化,调动学生学习兴趣的同时提高学生对实际问题的认知能力。教学过程中设置问题抢答机制和加分措施,每10~20min 提问1次,激发学生学习积极性、提高学生在线听课注意力;在直播课结束后布置作业,让学生将本次听课手写笔记拍照上传,督促学生全程跟进在线教学,同时将思考题以讨论话题的形式发布至智慧树平台上,鼓励学生积极参与讨论,以提高独立解决问题的能力。

(2)实践直播课。首先发布实验任务说明,使学生熟悉实验任务和目标;然后简要介绍用于解决问题的算法步骤;带领学生编写必要的程序代码,加深学生对数据存储结构和基本操作的理解;在智慧树平台上借助小组教学板块布置实验任务,通过随机分组、自由分组和指定分组3 种形式给学生布置不同难度的实验项目,包括验证性项目和设计性项目,指定小组组长和项目负责人,提高学生自发参与度,加强学生之间的协作能力,培养团队合作意识。

每讲完两章内容后在平台上发布测试题目,设置测试时长。测试结束后及时批改测试,对于其中不常见的错误单独在评语中给学生说明,对于错误率超过50%以上的测试题,安排特定习题课,在习题课中统一给与解释,帮助学生加深对难点知识的理解,避免再次出现同样的错误。

2.4 课堂延伸

每次课结束后及时汇总分析学生在线学习情况,包括出勤、课堂问答、作业提交、在线测试、平台在线使用等数据,对于个别学习不积极、掌握程度不够好的学生利用QQ沟通,了解具体原因,并做好备注以便后期跟进学生学习情况。及时批改学生提交至智慧树平台上的作业,对于个别学生出现的问题给与单独指导,如果是共性问题,则在下一节课统一讲解。设置课程两章一测,每讲完两个章节,在智慧树上发布测试任务,让学生在规定时间内完成,通过测试检测学生实际学习掌握程度。设置其他时间段在QQ 群中为学生答疑,作为课堂内容的延伸。

3 线上教学资源建设

目前虽然翻转课堂、慕课提供了丰富的学习资源,但基本围绕所授课程相关资源,类型单一,主要以视频、课件、习题为主;缺乏指导性、体系性以及有效的监督机制。因此需要综合考虑疫情期间多种因素,如学生有大量自由时间,居家学习环境轻松,但同时也存在无人监督、学习效率低等因素,所以需要重建课程教学资源,提供更多样、丰富的学习资源,打造精彩的线上课堂。

3.1 学习资源建设

结合疫情期间学生学习情况,以课程大纲为指导,修改授课计划,将传统讲授课程内容分为两部分:预习和讲授。以任务形式督促学生进行课前预习;在上课学习资源中上传录制每个知识点tip 视频,供学生课前预习、课后复习并开展模仿实验,同时提供其他在线学习平台视频资源作为参考;制作生动直观、表现力强、内容充实的课件,每章课件均以图文、视频、音频并茂的形式引入生活实例,以期在直播讲课时与学生产生共鸣,引发学生思考探索;使用U3D 制作课程涉及的各种算法演示动画,帮助学生直观理解和掌握算法核心实现思想;收集并整理课程习题,供学生日常练习使用;提供课程各算法对应源代码,供学生实验验证使用;提供课程相关其他知识和资源,让学生在学习期间加深理论认知、拓宽知识面。课程建设学习资源如图2 所示。

Fig.2 The page of“learning resources”图2“学习资源”页面

3.2 题库建设

借助爬虫工具从网上爬取大量习题,通过筛选整理出单选题、判断题、填空题、简答题4 类题目,共计632 个,标记出每道习题关联的章节和知识点与难易程度,将每章习题发布至平台学习资源中,供学生下载练习,既能满足学生课程学习需求,也能为学生提供考研练习。同时依照习题集在智慧树平台上构建题库,为了防止个别学生后期在线测试依据习题在网上搜答案的不诚信行为,对习题库中80%的习题进行修改。

4 课程教学评价及调整

数据结构课程借助智慧树平台和钉钉直播平台向100名学生授课,在智慧树平台上传资源共281 个,发布资源共157 个;在钉钉平台上直播共计80 课时,在问卷星调查问卷平台上发放调查问卷共8 次。收集各平台相关数据,包括每个章节学生学习情况的问卷调查结果、在线平台上学生各类学情数据,以及学生平时上课出勤情况、回答问题情况,并对这些数据进行关联分析。

4.1 问卷调查结果反馈

在疫情期间,由于缺乏实际直播讲课经验,而学生又是直接受众对象,因此学生评价和反馈是最真实、最有效的教学改进意见。从收回的问卷调查中着重分析学生对教学方法和教学内容两个方面的反馈意见,根据分析结果不断调整教学方法和教学内容。

从前期问卷调查中的教学方法相关数据来看,有68%的学生提出讲课语速过快,学生听课跟不上;有82%的学生反映通过语音和视频提问会浪费大量的上课时间;有81%的学生建议应仿照传统课堂的黑板模式,标记需重点掌握的内容。对于以上问题在教学方法上进行了相应调整:考虑有网络延时的问题,降低讲课语速,且在讲到重点时再次放慢讲课速度,并多次询问学生是否理解;改变提问方式,让学生将每次提问问题答案以文字形式发至钉钉班级群,并对于前5 个发言者给与积分奖励,每章课后作业也改为拍照发图片至班级群,上课进行点评和讲解;借助钉钉直播白板功能,书写敲黑板的重点内容。在改进之后则有96%的学生对教学方式较为满意。通过对回收问卷调查中的教学内容相关数据进行分析,获取每章学生难以理解或没有掌握的知识点,将该部分知识点录制小视频再详细讲解一遍,并发至教学平台上,供学生观看,同时再将该部分知识点融入练习题中或是测试题中,让学生多学多练,以达到教学目标。

4.2 教学平台学情数据分析

从出勤情况来看,95%的学生都能按时上课并坚持到直播结束,72%的学生能在直播结束后观看回放,说明在疫情期间学生有较强的自律能力;从学生在线学习情况来看,89%的学生会在一周内登录平台学习时长超过2h,多次查看课件、tip 小视频、算法演示动画等学习资源,说明学生对该课程的学习具有一定的主动性及较强的自学能力;66%的学生主动查看并下载课程相关拓展知识,说明学生具有较强的求知欲;从作业提交与完成情况、在线测试情况和话题讨论情况来看,98%的学生能按时提交作业,说明学生参与感较高,70%的学生对所学知识点能够深刻理解并熟练掌握,这基本与传统教学持平,37%的学生能对发布的难度话题给出讨论和正解,说明学生具有一定的主动思考能力和探索精神;从学生期末考试成绩的帕累托图来看,处于73-89 的分数段的学生占比78%,而其他分数的学生占比23%,如图4 所示。

最后从学生在线测试综合成绩、期中测试成绩以及期末考试成绩各分数段对比折线图可以直观发现,期中考试成绩人数较多的分数段集中在70-79 分,占比39%,而随着学生进一步深入学习,学生在线学习的优势逐渐显露出来,期末考试成绩人数较多的分数段有所变化,主要集中在80-89 分,占比45%。说明学生能够借助平台提供的各项学习资源进行自主学习,并能将所学知识进行内化。

Fig.3 Pareto chart of students’final grade图3 学生期末成绩帕累托图

Fig.4 Line chart of students'online test results图4 学生在线测试成绩折线

从分析结果来看在授课过程中也存在一定的问题:①没有充分发挥线上教学平台和即时通讯工具的优势,实施个性化分层教学,在今后可以针对课程不同学习程度的学生重新设计教学目标,有区别地设计教学方法、教学环节、教学内容,使每个学生主体精神和个体优势都能展现出来;②没有从多学科交叉融合的角度阐明数据结构和其他学科之间的内在联系,学生学习该门课程时掌握的理论和实践知识仍然是孤立的,以后在理论授课和算法实践过程中应揭示出该课程和操作系统、计算机组成原理、算法设计与分析、软件工程等相关课程的内在联系,引导学生在学习时注意拓展知识面,引导学生在解决问题时注意使用多种方法予以解决。

5 结语

以疫情期间学生在家学习为契机,综合考虑学生主客观因素,重新设计数据结构课程线上教学方法和教学过程,使学生能深刻理解和熟练掌握各种数据类型、存储结构,同时熟练掌握在特定的存储结构上不同数据类型的基本操作,并具有设计算法解决实际问题的能力;以多种形式扩充已有各类教学资源,借助智慧树在线教育平台建设数据结构线上课程,借助钉钉直播平台为学生实时授课,构建多方位一体的虚拟数据结构课堂。

学生在解决复杂工程问题时需要在不同背景下充分了解问题本质,利用多学科交叉联系和影响因素解决问题。然而,这种能力的培养仅靠课堂听课是很难达到的,因此积极探索能满足新工科建设要求的教学模式仍是今后重点研究方向。

猜你喜欢
数据结构疫情算法
战疫情
抗疫情 显担当
疫情中的我
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
一种改进的整周模糊度去相关算法
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨