当前位置 :   首页 - 教师发展 - 教学漫谈 - 正文

计算机学院孙艺珍:基于MOOC的编译原理翻转课堂教学实践

2020-07-06

1.引言

慕课(MOOC),即大规模开放在线课程,是互联网+教育的产物。2018年,教育部正式推出了首批490门国家精品在线开放课程,在高校和社会引起强烈反响和广泛好评。MOOC将教学分成视频单元和非视频单元,视频教学单元是5~15分钟的微课短视频,非视频片段包括线上讨论、单元测验、课后作业和综合实验等内容。慕课为实施与翻转课堂相结合的混合式教学提供了更为便利的条件,让课堂研讨变成现实。

2.在线学习行为模型构建与分析

在对西安科技大学计算机科学与技术专业2017级学生开展翻转课堂之前,笔者曾在2017-2018学年度第二学期,借助爱课程平台国防科技大学王挺老师的MOOC课程《编译原理》,对计算机科学与技术专业1503班、1601班和1602班进行过翻转课堂的尝试。

通过构建学生在线学习行为模型,可以通过课程资源完成度(观看MOOC视频和PPT、在线单元测试)、访问次数、回帖次数、在线时长等数据监控学生的学习情况。通过数据分析,发现观看课程资源超过20%的学习者少,超过半数以上的学习者几乎没有观看过课程资源,甚至没有学习者会观看课程资源超过50%。原因在于:1.学习者们普遍认为每个MOOC的时长接近50分钟,且视频数量过多,很难找到重点。2.综合在线时长图、访问次数图、资源完成度来看,学习者普遍自学能力比较差,还是比较依赖于课堂授课的方式,需要采取措施并建立驱动机制,去和课堂研讨对接。

3.选择更适合翻转课堂的教学内容和教学方式

(1)针对学情裁剪教学内容

为了更好地融合线上和线下的教学活动,先要对对课堂内容进行适当剪裁,在2018版教学大纲上编译原理这门课的课时数是48理论课时+16上机学时。虽然现在很少去开发一个主流程序设计语言的编译器, 但是与编译器相关的模型、理论和算法会用在软件设计和开发中出现的各种各样的问题上。编译原理课程对计算机科学与技术专业的学生来说是一门非常重要的必修课,其理论性较强、概念复杂、推演过程抽象。如果面面俱到按照教材讲,是无法完成教学任务的;如果只是让学生蜻蜓点水了解一下,又失去了提升学生计算思维的机会和培养求解复杂工程问题的能力。所以在对教学内容上要有所删减和侧重。比如算符优先分析, 现在的编译器几乎都不用了, 这节在课堂研讨中可以省去,学有余力的同学可以通过看视频自学;再比如目标代码的优化, 只需要给学生灌输优化的思想、窥孔优化的思路和方法以及循环优化的策略就可以了, 不用编程实现。而有些知识点在考研考证方面占有很大的比重, 比如文法的分类、状态图的转化、词法分析、语法分析、语法制导翻译等等。

基于对教学内容的检查,依托2018级校级MOOC建设项目——《编译原理》,制作了62个教学微课视频,每个视频在8~15分钟内,语言精炼但信息量大,内容全面且深入浅出,其中很多知识点是课堂研讨的重点;配套的教学PPT里面有动画展示推演过程,还有易于操作的单选题和多选题。

(2)以学生为中心的混合式教学模式

在编译原理的课程教学中, 笔者实施了“MOOC+SPOC+翻转课堂的混合式教学模式的尝试。

对于抽象化的基本理论和概念,比较重要的、抽象的基本知识与基本理论,采用传统教学方式,以教师讲授为主,结合学生比较熟悉的实例,如语法制导翻译、符号表、运行时存储管理。

对编译过程实验性比较强的重点内容,采用项目驱动+翻转课堂的教学方式。课前教师下发3个实践性较强的三个项目(词法分析器、LL(1)语法分析、LR语法分析)的功能需求,并且发布相关技术讲解的MOOC学习视频,学生以小组为单位进行课前学习、讨论和自测。课堂上教师针对一分钟测试和课前自测的结果,进行答疑解惑;学生根据学到的理论提出设计思路和方法。课后学生编写设计报告、开发并实现各种分析器,并提交自己的设计和实现方案,小组也可以申请答辩,强化了学生的计算机系统软件设计与开发能力。

对文法语言、优化理论等比较抽象、深奥的基本理论,采用讨论式的学习方法,老师在课前设计一些问题,让学生来进行讨论式的互动教学。譬如代码的优化技术,如线性窥孔优化、局部优化、循环优化等技术,课前老师将会搜集相关的学术文献,在课程教学网站定期发布这些研究成果、编译原理教学与研究扩充性资料鼓励学生充分利用网上资源进行自主学习、研究性学习、探索性学习。

4.重构教学过程

(1)上好第一节“启动”课

每门课的第一节课是十分关键的,是崭新的开篇。可以通过翻转课堂学习群,向学生发布《编译原理》教学大纲,是学生了解课程主要内容、教学安排、考核方式;并通过雨课堂教学平台、学校SPOC平台和雨课堂微信公众号向学生发布教学视频资源,还有授课的PPT或者其他的阅读资料。在第一堂课上,更多的是在学习方法上引导学生如何进行翻转课堂的学习;首先明确教学目标与教学内容,明确课程教学安排与考核方法;其次划分小组,从而引导学生建立自主学习意识、小组相互监督和配合的意识,培养他们的自我管理和协作的能力。

(2)课堂研讨前的自主学习

学生通过多维渠道,例如微信公众号,获取每次课堂研讨前需要完成的学习清单,通过MOOC教学视频、扩展阅读材料进行课前自学。SPOC课程不仅提供了自学视频相关导学文档,每一个专题结束后都会随机产生一套本节自测,在限定时间内提交,该成绩会计入最后总成绩。课前学习中也会有老师和学生的线上互动——教学网站BBS讨论和答疑。

(3)课堂研讨阶段

课堂时间更着重与教师总结,师生间、学生间互动和讨论,分组研讨、解决问题、操作演练、学生汇报等,对课程从思想与方法层面进行提升。教师根据每一讲SPOC测试成绩或者“1分钟测试,对于基础知识,强调重点,不用再花时间刻意讲解;对于提高知识,强调难点,选取有代表性的案例加强练习;对于拓展知识,强调创新,对于学有余力的学生可以在课后大作业中进行实践与应用。

(4)课后实验环节

主要是学生通过课外实践,小组协作,共同完成SPOC6个开放式的项目实验:鉴别文法类型;词法分析程序的设计与实现;递归下降语法分析设计与实现; LL (1) 语法分析设计原理与实现技术;SLR(1)语法分析设计与实现技术; 编译器前端实现。同时注重答疑环节,充分利用QQ群在线与腾讯课堂答疑环节,及时解决学生自主学习中遇到的问题,并对大多数人存在的问题进行2次有针对性课堂讲解。

(5)学期末考核方式

对学生进行多维度考核,期中期末笔试占50%SPOC项目实验和作业占20%MOOC视频学习占20%SPOC测试占10%

教师撰写翻转课堂实践报告,进行教学反思阶段总结,并对实验方法和课堂结构进行调整。

5.针对面向产出的教育模式要求的翻转课堂效果

借鉴以成果为导向的教学理念,围绕《编译原理》主要支撑的3个毕业要求(工程知识、问题分析、研究) 展开的翻转课堂教学模式的实施方案和混合式教学模式。以计科专业2016届学生为例,学生访问教学网站达58(教学班级60),课程访问次数达1336次,学生在线学习时间达508小时1247秒;13个学习小组平均访问教学网站103次,4次线上自测90-100分占比约72%6一分钟测试均分88;期末笔试成绩均分83.5

实践表明,混合教学模式提高了学生主动学习的热情,提升了学生深入理解基本原理的能力、自主构建知识体系的能力、自主训练基本技能的能力,特别是提升了学生应用所学知识分析和解决应用问题的能力,提高了学生的团队协作能力、写作表达能力等综合素质。