新工科背景下编译原理教学改革研究
作者: 高雪瑶 张春祥
摘 要:该文剖释传统编译原理教育教学的缺陷,指出为适应计算机人才能力培养和行业需求,在新工科背景下,面向OBE理念,突出交叉融合,充分利用多种教学平台和教学软件,融合案例教学、启发引导、项目驱动和翻转课堂等教学方法进行线上、线下混合教学。培养学生使用编译知识来解决复杂工程问题的能力和主动学习意识,提高课程教学质量,促使学生专业、素质全面发展。
关键词:编译原理;新工科;案例教学;项目驱动;翻转课堂
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2024)01-0035-04
Abstract: This paper explains the shortcomings of traditional compilation principle education and points out that in order to meet the needs of computer talent development and industry demand, cross-fusion is emphasized under the background of new engineering and oriented to OBE. Multiple education platforms and softwares are combined in which case-based teaching, heuristic guidance, project-driven and flipped classroom teaching are used for a blended online-offline teaching. The aim is to cultivate students' ability to apply their knowledge of compiler theory to solve complex engineering problems and active learning consciousness, improve the quality of course teaching, promote students' professional and overall development.
Keywords: compilation principle; new engineering; case-based teaching; project-driven; flipped classroom
自2017年2月以来,教育部先后开展了“复旦共识”“天大行动”和“北京指南”行动,发布了“新工科”改革的相关文件,推动探索了中国工程教育模式和中国经验[1]。哈尔滨理工大学立足“双一流”,在新工科背景下,按照持续改进的工程认证思想要求,开启了新工科建设与实践探究。编译原理是计算机专业的一门重要的专业课程,对于培养学生利用计算机语言处理技术进行系统分析和软件设计的能力具有重要的作用[2]。在新工科建设中,对编译原理教学提出了更高的要求。在教学过程中,需要培养学生的计算机实践创新能力和灵活应用编译知识解决现实生活中实际问题的能力,满足专业应用需求。
一 传统编译原理教学中存在的问题
编译原理是计算机专业一门重要的专业课,也是后继课程学习的基础。计算机本科生都需要学习这门课程。在公司招聘和学术研究中,编译技术是必不可少的。编译原理课程难度大,知识概念多,内容抽象,算法复杂。很多同学都反映,编译原理是有用的,但就是学不好。其原因是该课程是偏理论的计算机专业基础课,教学方式有别于一般课程[3]。编译原理理论性较强,内容抽象繁杂,导致学生缺乏信心,畏难不前,降低了学习兴趣。在实践环节中,学生不了解其中的原理,不知如何应用,不知为何而学。在教学过程中,发现学生学习缺乏主动性和积极性,课外缺少探索和自主训练。虽然通过了课程考核,但是未掌握编译原理的实质和精髓,只是了解到了一些零碎的知识点,不具备运用编译技术来解决现实生活中的实际问题的能力。其主要原因是理论实践教学内容与学生能力培养目标不适应。主要体现在教学过程缺乏工程性方法和系统性实践与创新[4]。
二 新工科视域下编译原理教学改革
新工科人才的突出特征在于其解决复杂工程问题的能力[5]。根据新工科建设理念和要求,哈尔滨理工大学计算机科学与技术专业编译原理教学团队积极开展课程研究和实践。根据产业转型升级和社会发展的要求,以培养学生解决复杂工程问题为目标,根据课程目标重构和优化了编译原理课程的教学内容;综合网络课程资源和教学软件,构建了线上、线下一体化教学模式;面向OBE理念融合多种教学方法进行有效的教学组织,实现了从教师中心向学生中心的转变。
(一) 重构和优化编译原理课程的教学内容
新工科是高等工程教育教学改革的新范式,其核心目标是提升高等工程人才培养质量,积极回应新时代对于卓越工程师的迫切需求,旨在培养造就一大批多样化、创新型卓越工程科技人才,支撑产业转型升级。为了适应新工科人才培养的要求,应该在OBE理念的指导下,以学生获得的最终能力为中心,反向推导制订所需的教学内容。在编译原理课程的教学设计中,教师的教学内容应该满足学生最终获得能力的要求。在编译原理课程开设之前,学生已经学过程序设计语言、计算机基础和组成原理等课程,有一定的程序设计能力,具备了一定的计算机存储分配与管理知识[6-7]。对于能力培养目标贡献较大的内容,应该分配更多的学时进行讲解。对于简单和已经具有前期知识铺垫的内容,在教学上可以采用学生自主学习或引入案例进行做中学或做中复习的方式。课前,教师布置任务让学生查阅资料进行自学。课堂上,采用翻转授课方式让学生去讲解,然后教师进行点评。区分知识重要程度,突出重点,避免课堂上知识的简单重复性学习,以提高学习效率。同时,以学生为中心,不断调整优化教学内容,以适应培养目标和毕业要求,保证满足人才培养的要求。
编译原理是一门原理抽象,实践性强,知识模块关联紧密的课程,刻画了编译的整个流程。选用合适的案例进行讲解能够将编译技术的抽象原理形象地展示出来,便于学生更好地去学习,同时对于培养学生综合运用课程知识解决复杂问题是很有好处的,可以帮助学生形成更加完整紧凑的知识体系。在教学过程中,通过演示案例来讲解对应的编译知识点。根据教学内容来选择典型性、可行性和浓缩性的案例。与学生一起分析、讨论和扩展案例,让学生亲自动手去操作和实现案例,启发学生改进和创新案例。鼓励学生大胆尝试,学以致用。根据学生掌握的情况,完善教学案例,调整教学方法,激发学生学习编译原理的兴趣。通过演示案例程序吸引学生的注意力,让他们体会到如何利用编译技术来解决实际问题。同时,提供案例实现代码,让学生通过比照代码来提高自己的编程能力。
(二) 构建线上、线下一体化教学模式
在线课程为教学过程提供了一个融合丰富学习内容的基础性教育平台。MOOC平台提供了很多编译原理的在线课程,可以作为学生自主学习的资料。在教学过程中,借助MOOC平台和网络资源,整合不同教学方式,使学生学习更具灵活性和主动性。
科学建设线下资源如教材、辅导性学习资料、习题集等,丰富学生的学习资源,提高学生的学习效率。同时,着力对线上资源进行系统化的建设和优化。线上资源包括MOOC课堂、教学视频、知识图谱、教学大纲、教学进度表、教案、教学PPT和教学案例、微信群和腾讯课堂等。在教学时,教师选择已有的名师慕课、自建课程和在线直播会议等形式进行线上教学和互动讨论,学生也可以进行自主在线学习。教与学变得更加灵活,不受时间和场地对教学的限制。教学资源主要由教师提供,学生可以参与其中。教师录制教学视频,分享到课程群中,让学生进行课前自主学习。为了便于学生学习,每一段视频不要过长,最好是2~3个知识点就录制一段视频。增加一个小测验,以检验学生的学习效果。针对编译技术的迅猛发展,教师可以录制视频介绍其最新进展,将课程内容与现实应用紧密结合,提高学生学习兴趣。融合多种网络课程资源和教学平台有效开展线上教学活动,如图1所示。
教师在腾讯会议、钉钉中直播课程,和学生进行课堂研讨、对话互动。同时,利用MOOC课堂发布预习PPT和教学视频,进行课堂测试、课后测试,使用MOOC课堂的签到功能来管理课堂。借助MOOC课堂的统计功能观察学生实时学习情况,及时调整教学内容和教学方法。运用腾讯QQ与微信群来通知消息,进行讨论和一对一的答疑等。
课前、课中和课后综合利用多种教学平台,有利于取长补短,最大效率地发挥各种平台的优势,提高教师授课质量。综合运用纸质的、电子的、文字的、图片的和视频的教学资料,从不同视角全方位传授教学内容,丰富授课形式,可以最大限度地调动学生的学习主动性,提高学生的学习效果。一种教学资料在不同的教学平台上会有着不同的教学效果。一种教学平台在使用不同的教学资料时会有着不同的授课质量。在一种教学平台上,可以使用多种形式的教学资料。一种形式的教学资料,可以在多种教学平台上使用。在实际教学过程中,应该认真总结教学经验,寻找每种教学平台上适用的多种教学资料。将要讲授的教学内容,按照章节组织。根据各部分内容的特点,选择适用的教学平台和对应形式的教学资料。课前、课后可以实现教学平台和资料形式的频繁切换,以调动学生学习的积极性。在授课过程中,应该尽量减少教学平台和教学资料形式变换的次数,在最短的教学时间内传授更多的教学内容。多种教学平台和多种教学资料需要相互结合,最大程度地发挥出平台与资料的教学效果。在授课过程中,应该经常召开课程组内教师的教学研讨会,针对教学平台和教学资料问题开展讨论。根据学生的反馈情况,进行适时的调整。
(三) 融合多种教学方法进行有效的教学组织
为了培养出合格的创新型新工科人才,需要对现有的教学方式进行升级[8-9]。线上线下教学采用什么样的教学方法是教学成败的关键所在。要围绕学生达成学习成果来进行整个教学设计与实施,了解学生学什么和如何学,引导学生进行有效学习。针对编译原理课程的特点,分阶段有效利用线上、线下教学资源,综合使用多种教学方法来提高学生自主学习能力和学习效果。使学生从知识被动获取者变为主动获取者,满足新工科人才培养的要求。将翻转课堂教学法[10]、启发式教学法、案例教学法、自主学习法、对比教学法、练习法、讨论法、录播教学法、直播教学法和阅读指导法渗透于各个阶段。编译原理的重要知识点及对应的教学方法,如图2所示。编译原理包括文法和语言、词法分析、语法分析、语义分析、符号表和存储组织等部分。每部分又包含多个知识点。针对每个知识点的具体情况和学生的程度,选择合适的教学方法。综合运用这些教学方法,使其相互渗透,取长补短以充分发挥它们的优势。在教学实践中,总结教学经验,根据学生的反馈,不断更新优化编译原理知识点与教学方法之间的对应关系,以达到理想的教学效果。
课前预习是课程学习之前的必要环节,除了预习教材上的内容,线上资源也是预习的学习资料。在上课之前,老师可以上传课前导学内容,引导学生根据教学目标进行有效的自主学习,学习上传的资料,学习上传的视频资源等。教师采用讨论法引导学生在QQ群和微信群中讨论。教师指导学生阅读学习资料和观看教学视频进行课前预习,要求学生绘制出这堂课的知识结构图,注重激发学生学习兴趣,培养学生发散性思维、归纳及总结能力。鼓励学生自主预习课程内容,利用小测试来检验课前学习效果。
课中采用直播教学法讲授编译原理的知识点。采用翻转课堂教学法让学生讲解简单知识点,使用讨论法引导学生思考发言,教师进行点评。对疑难和重要的知识点,采用启发式教学、案例教学和对比教学方法进行精讲、慢讲和重点讲,可以随时向学生提问,学生也可通过教学平台即时反馈。借助案例将编译原理的理论授课与实践教学相连通。将案例转化为通识性教学知识点,引导学生理解所使用的编译技术和具体应用方式。在向学生解析案例的过程中,梳理技术路线,从而降低学生掌握知识点的门槛,提高人才培养兼容性。同时,串联前期基础案例,实现案例设计性复现,注重“学”与“用”之间的关联,提高了教学实用性。在不破坏人才培养方案的情况下,授课过程采用案例教学法,丰富扩展了教学内容,使所传授的内容与学生能力培养相适应。