基于SPOC平台的“数据结构”课程线上线下混合教学模式改革

2019-07-18 03:10尚鲜连
苏州市职业大学学报 2019年2期
关键词:数据结构学情编程

曾 海,尚鲜连,朱 敏

(苏州市职业大学 计算机工程学院,江苏 苏州 215104)

2017年,教育部提出要促进信息化应用水平提高,促进线上、线下混合教学模式广泛应用,自主、泛在、个性化的学习普遍开展。教育部在《国家中长期教育改革和发展规划纲要(2010—2020)年》文件中要求关心每个学生,促进每个学生主动地、生动活泼地发展,尊重教育规律和学生身心发展规律,为每个学生提供适合的教育。

“数据结构”作为高职计算机相关专业普遍开设的重要专业基础课程,具有课程覆盖面广、教学难度高、教学交互性强、对后续课程影响大等特点。课程面向的是计算机专业类的学生,与非计算机专业学生相比,他们的信息技术基础较好,对新的信息技术教学方法和手段接纳意愿较强,适合开展信息化教学改革试点。如果将“数据结构”课程建设为纯在线学习的大规模在线开放课程MOOC(massive open online courses),会存在与学生面对面交互少、教学过程管理松散、过程监督与评价不易实施等问题;如果仍实施传统的线下教学,则存在教学手段落后、信息传递不畅、资源获取困难、学习时空难以拓展等问题。

相对于纯MOOC模式而言,李克东教授认为,混合学习在形式上是在线学习与面对面学习的混合,深层次上包括了不同教学模式、学习环境和学习方式等的混合[1]。SPOC(small private online course) 是小规模限制性在线课程,small指学生规模一般在几十人和几百人之间,Private是指对申请参加课程的学生设置限制性的准入条件[2-3]。“数据结构”课程学习难度高,对教师要求更高,因此必须限制学习人数;课程中的算法演示、推导和练习需要和学生现场交互,适合线下教学;微课、动画等辅助教学的资源适合放在线上平台供学生自主学习;高职学生差异化日渐明显,需要进行个性化、分层教学,需要通过线上技术手段辅助实施。因此,在“数据结构”课程改革过程中,将课程建设目标设定为SPOC小规模限制性在线课程,实施线上线下的混合式学习。

1 “数据结构”课程教学现状分析

“数据结构”是计算机相关专业的一门重要的专业基础课,主要涉及数据在计算机中的表示、组织与处理,以及相应的算法设计和算法性能分析,是各类软件开发课程的重要先修课程,课程学习效果直接影响学生程序设计能力。“数据结构”课程的学习过程中,需要学生具备较强的逻辑性和抽象思维能力,既要能理解算法,又要能编写程序,是一门公认的难度较大、学习曲线陡峭的课程。我们在“数据结构”课程教学过程中发现了一些问题和矛盾。

1.1 抽象思维能力和编程能力要求与学情间的差异

近年来,高职院校的学生来源日益多样化,学情差异日益明显。如苏州市职业大学计算机专业,有通过高考入学的学生,有通过江苏省提前招生入学的学生、有通过江苏省现代职业教育体系建设“3+3项目”入学的学生、有通过江苏省对口单招入学的学生,部分计算机类专业文理兼收,学生来自全国近20个省、市、自治区,学生的学习主观能动性、对专业的兴趣以及学习能力均有巨大的差异。

从企业对软件技术相关专业学生的岗位能力需求来看,抽象思维能力和编程能力始终是企业的核心需求,这两种能力并未随着学情变化而有所改变。课程中的算法理解部分,需要学生有较强的逻辑性和抽象思维能力;课程中的算法设计部分,需要学生有较强的抽象思维能力。变化的学情和相对稳定的能力需求间形成的矛盾,急需通过课程改革来解决。

1.2 个性化教学实施与有限教学资源之间的矛盾

针对不同的学情,因材施教,实施个性化教学以达到课程目标是解决学情差异问题的重要手段。在个性化教学过程中,课程教学团队需要根据不同学生的不同学习特性,实施不同的教学方案,同时进行差异化评价。个性化教学需要投入的教学资源和精力远大于常规教学。在教学中发现,学生非常欢迎教师在课堂教学结束后对某些难点进行一对一辅导,这种模式的最大问题是无法兼顾整个班级的所有学生,学时不允许,教师的时间、精力也不允许。另外,个性化学习要求为不同的学生布置不同的作业,对课程评价手段也提出了新的要求。

1.3 企业对代码规范日益提高的要求与学生编程随意性间的矛盾

在专业调研过程中发现,对高职高专类学生来说,软件设计类岗位对程序的规范性要求非常之高。本地软件企业在多年发展过程中,多数通过了CMMI软件成熟度各级认证,形成了规范化的软件开发流程。学生在企业实习就业,首先需要遵循软件开发规范,在技术人员指导下规范编码,对刚进入工作岗位的应届毕业生而言,需要进行创新或者提出创意的软件设计任务很少,企业希望学生编程规范,有团队合作能力。

目前学生水平参差不齐,大部分学生认为程序编译通过就可以,代码书写随意,编程时单打独斗,或者参考别人的代码,或者不按规范随意编码,存在编码量不足、编码不规范等问题。

2 “数据结构”课程教学模式改革

近年来苏州地区软件及相关产业的发展保持连续增长,苏州市职业大学软件技术专业招生人数连年增加。为了适应不断变化的学情,更好地培养学生的抽象思维能力和编程能力,根据“数据结构”的课程特点和学生学情,成立了由教学副院长带头、专业骨干教师组织的队伍,参考国家资源库课程建设的模式,对课程教学模式进行了重新设计与建设。

通过对山东省土壤地球化学基准值统计分析研究,确定了山东省54项指标土壤地球化学基准值,这些成果为地方政府改善生态环境,进行农业区划、环境保护、国土资源管理、地方病防治等领域提供了基础地球化学资料和科学依据。

2.1 设计“数据结构”线上线下教学模式

“数据结构”课程的线上部分基于超星泛雅平台构建,见图1。在课程开发过程中,强调实用、辅学,进行自顶向下的整体设计。在实用性方面,线上平台存有大量教学资源,如课程标准、课件、微课、动画、习题、作业等,师生通过手机客户端或者PC客户端可以随时随地进行访问,其中手势签到、自动收发作业、自动批改作业等功能给师生带来了很大的便利。

图1 “数据结构”课程线上线下混合式教学模式

在辅助教学方面,学生通过观看视频、动画等教学活动强化对线下教学中知识、技能点的理解, 破解学习中的重点和难点;教师通过设置教学评价指标体系并向学生公开,激发学生的学习积极性,同时加强对学生学习过程的管控。

课程在实施信息化教学的同时,也保留了交互性较强的线下课堂教学环节,主要用于算法演示、交互式讲解和练习。课程分为三个主要阶段进行教学:①学生在线上进行课前预习;②教师在线下进行算法讲解和分析,指导学生进行算法分析和编码训练;③学生在线上进行课后复习并上交作业。

2.2 开展课程资源建设

教改的重点是将枯燥的教学过程趣味化、动态化。课程建设小组重点对视频和动画资源进行了开发。“数据结构”课程教学过程中,算法用动画进行演示效果最佳。但算法演示动画制作专业性太强,视频制作公司普遍表示难以完成。在此情况下,课程教学小组购买了专业的动画制作软件,教师自学MG动画制作、自行开发完成了全部教学动画资源。

课程建设小组分工协作,将“数据结构”课程知识技能点进行了分级整理,对课程教学进行了整体设计,完成了所有微课的脚本编写。对重点难点内容进行单独的微课设计,由专业公司录制和精修,产出了一批制作精良的系列微课。一种典型的智能技能分解和资源配置如表1所示。

截至2017年底,教改课程已完成30个教学动画、50个微课视频、18个实战案例、47个算法实例以及23个源代码资源的建设。

2.3 实施多维度评价方式改革

根据学生签到情况、课程视频观看情况、章节测验成绩、访问次数、讨论参与情况、作业上交和批改情况等多个要素设置了课程平时成绩评定模式,计算方法向学生全部公开。学生在参加各项教学活动时,由系统自动统计各项教学行为并计分,学生可以随时随地查看本人的平时成绩变化情况,这一评价方式显著提高了学生使用在线课程的积极性。

2.4 实施个性化、分层化教学

表1 “数据结构”课程知识技能分解及资源配置表

表2 “数据结构”课程编程类分层教学任务

线性表与数组教学单元的“一元二次多项式的操作与实现”任务,总学时为2学时。能在规定时间内实现多项式数据结构,完成子任务1、2的函数代码,并通过自动化测试的学生,视为完成层次1的任务,总分记为75分;另外完成子任务3、4的函数代码并通过自动化测试的学生,视为完成层次2的任务,总分记为100分。

栈和队列教学单元的“利用队列的基本操作模拟手机的短信息功能”任务,总学时为2学时。此任务分为3个层次,前两个层次与前一任务相同;针对学有余力的学生,可以自选在业余时间完成层次3的提高要求任务,即为基本功能加上图形界面。

由于“数据结构”课程是专业基础课程,学习人数众多,分层化教学会使作业量加倍,人工批改代码太耗精力。基于开源软件cuTest的测试框架,针对8个编程任务点,使以自动化测试技术,定制开发了8个代码自动批改程序,极大地减轻了教师批改工作量。

针对企业对规范化编码的要求,在授课期间给学生设定了严格的编码规范。规范主要参考阿里、百度等大公司的公开文档制订,学生上交代码需要遵守文件命名、函数命名、注释、变量命名、代码格式等规范。严格的软件工程规范不仅有助于培养学生严格、细心、规范的职业素养,也使程序自动化批改得以顺利进行。

2.5 实施线上线下混合式教学

“数据结构”课程教学过程中,算法分析和理解有着非常强的交互性要求。要掌握数据结构和算法,仅仅听教师讲解,看教师演示是远远不够的,学生必须动手实践,变成学习的主体才能完全掌握相关知识、技能点,而对算法的理解,需要在纸上进行绘制的推导。

“数据结构”课程在算法讲解方面分三个阶段进行。第一阶段在教室(线下)进行算法推导,教师带着学生做一遍,如果学生掌握情况良好,教学进度就适当加快;如果学生掌握困难,教学进度就适当减慢;对于上课期间未能完全理解算法的学生,则进入第二阶段,即课外线上课程学习,通过观看动画和录像对知识、技能进行巩固和提高;第三阶段是每个教学单元结束后的习题课,学生线下在纸质作业本上完成算法的巩固训练。

在编程能力培养方面,采取讲解、编程、分析、再编程的方法。即在实训室对典型算法代码进行讲解,根据学生的学情,布置2~3个层次的编程小任务,教师随时巡视指导;学生完成一个任务后,教师进行快速点评分析和难点讲解,学生根据教师指导继续改进程序;学生在课后可在课程讨论区提出问题,师生共同参与进行解答。在一个教学周期内,学生至少应完成8个实际的编程任务。

3 “数据结构”课程改革卓有成效

近两年来,已有两届7个班级306名学生使用“数据结构”在线课程平台参加教学活动,课程于2017年通过了学校在线课程建设验收,建设过程中制作的资源分别获得江苏省信息化课堂教学一等奖和江苏省微课比赛三等奖等奖项,目前课程访问点击量已经超过10万次。

与使用PPT、通过QQ群分发教学资源等相对较老的信息化教学手段相比,新的教学改革实施后,混合教学模式不仅为学生提供了丰富的教学资源,还提供了智能化的学习平台,拓展了学生的学习时间和空间,课程教学改革成效见表3。

表3 “数据结构”在线课程教学改革成效

在交互性较强的线下教学得以保留的同时,学生通过手机APP可随时随地进行学习,可以实时了解自身的签到、作业提交、测验得分等多维度评价数据,成绩评价更为客观清晰,学生的参与感和学习积极性得到了明显提高。与没有进行改革的“15计算机4班”相比,实施了课程改革的“17软件技术2班”平时成绩均方差值从7.17上升到了7.94,不同学生的学习情况区分度增加,为教师因材施教提供了较准确的依据。

在课堂上,教师被自动化程度较高的平台和辅助软件从繁重的重复劳动中解放出来,有更多精力关注于分层、个性化的教学设计、实施和评价,个性化教学实施与有限教学资源之间的矛盾得到很大缓解。

通过教学改革,学生对在线课程使用情况被平台实时监测,教师对教学过程的控制力进一步增加。通过对本课程一个月的访问情况分析可知,平台出现的多个访问峰值是上课时间。另外还可以看出,在课前时间段内,课程访问量也有明显上升,说明部分学生确实进行了认真的课前预习。

4 结语

“数据结构”线上线下混合教学模式改革实施以来,通过统计学生评教分数、分析平台上的学生留言、开展问卷调查等方法对教学效果进行了调研,大部分学生反映良好,觉得课程资源丰富,通过课程学习能在知识理解和实践动手能力提升两方面都能得到进步,但同时也存在一些不足。一方面,尽管编程类任务已经根据学情实现了分层、个性化布置并进行了自动批改,但仍存在少量作业抄袭甚至拷贝现象。目前的自动批改程序并不具备反抄袭功能,需要教师打开源代码逐一比对,师生均希望能解决这一问题。另一方面,自动批改程序由学校教师自主开发,与超星等教学平台没有无缝集成,初次运行需要安装软件测试框架和集成环境,成绩仍需要导入和导出,需要和平台提供商协调解决问题。

在“数据结构”课程后续建设过程中,将进一步提升信息化和教学的融合度,做到线下教材与线上资源的融合、线下课堂教学和线上教学的融合及教学内容与岗位技能需求间的融合。

猜你喜欢
数据结构学情编程
针对学情,实干巧干
数据结构线上线下混合教学模式探讨
编程,是一种态度
元征X-431实测:奔驰发动机编程
作业批改中如何了解学情
编程小能手
立足学情以点带面
纺织机上诞生的编程
为什么会有“数据结构”?
高职高专数据结构教学改革探讨