面向科学思维培养的《编译原理》课程教学改革

2023-04-14 14:20刘禹锋杨帆刘健
电脑知识与技术 2023年6期
关键词:教学模式

刘禹锋 杨帆 刘健

摘要:以学生科学思维培养为目标,对《编译原理》课程的教学改革进行了研究。在课程知识体系方面,将课程各章节中涉及的形式化方法进行“体系化”融合,并增加其在软件工程、模式识别、自然语言理解、生物信息学等学科领域中扩展应用的内容。在教学模式方面,从培养目标与方式、教学与考核方式上进行了全面的调整。教学实践发现,基于调整后的知识体系和教学模式开展教学,学生的科学思维得到了有效培养。

关键词:编译原理;科学思维培养;形式化方法;课程知识体系;教学模式

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2023)06-0144-03

开放科学(资源服务)标识码(OSID):

1引言

随着深度学习、区块链等热门研究领域的迅速发展,相应行业内部的竞争日益激烈,对从业人员的综合能力提出了较高的挑战。在此背景下,高校不仅需要培养学生扎实的理论基础与实践技能,还要根据学生的实际情况培养一定的科研思维,使其能够对知识点融会贯通,将归纳、演绎等科学思想深化落实到具体的问题解决中,掌握终身学习能力,从而有效应对目前以及将来的各种技术浪潮。《编译原理》课程是计算机相关专业中的一门重要基础课程,具有较强的理论性和综合性,其知识体系可以较好地培养学生的抽象思维能力以及复杂问题解决能力[1]。然而,由于课程具有抽象性高,关联知识多[2],算法难以理解[3]等特点,《编译原理》也被看作计算机相关专业中“教难、学难、实验更难”[4]的一门课程。此外,《编译原理》课程在具备高度理论性与抽象性的同时也是一门综合性较强的课程,具有非常广的知识范围[5],其中的每个知识点均与其他课程甚至其他学科领域有所关联,而传统《编译原理》课程中缺乏这种关联性内容的传授,忽略了对学生思维能力的培养[6],导致学生在掌握了课程知识后由于不了解其实际价值,错误地认为课程缺乏实用性[7]而缺乏学习与钻研的兴趣和动力。针对这些问题,本文以科学思维培养为目标,从课程知识体系优化以及教学模式调整两个方面对《编译原理》课程进行教学改革,在实践教学中取得了一定的成效。总体而言,本文结构安排如下:第二节和第三节分别介绍了《编译原理》课程知识体系优化和教学模式调整方面的内容;第四节介绍了课程改革的初步成效;最后对全文进行了总结,并对今后的研究进行了展望。

2知识体系优化

《编译原理》的理论基础是乔姆斯基所建立的形式语言学,其通过形式化方法为语言的语法结构与语义模型提供了规范而严谨的描述手段。以形式化方法为基础,本节对《编译原理》课程进行知识体系的调整和优化,使原本穿插在各个章节中的形式化方法从“碎片化”走向“体系化”。具体而言,在词法分析、语法分析、语义分析等知识点中提取出与形式化方法相关联的概念,并对这些概念进行系统化总结。此外,在课程知识体系中增加一部分关于形式化方法在软件工程、模式识别、自然语言理解、生物信息学等学科领域中应用的内容。如图1所示,左图描述了传统《编译原理》课程的知识体系,主要包括了编译器开发的各个环节,右图虚线框内是课程新知识体系所补充的内容。课程知识体系的这种调整一方面可以激发学生对《编译原理》课程的兴趣,使学生了解编译技术背后的理论基础,更深入地理解计算机学科各知识点之间的脉络关系,另一方面可以有效地拓宽学生的知识面,使学生理解跨领域、跨学科应用的思维方法。

3 教学模式调整

教学模式调整是课程教学改革的主体内容之一。本文从培养目标、培养方式、教学方式以及考核方式四个方面讨论《编译原理》课程教学模式上的改革内容,涵盖了一门专业主干课程在教学模式改革上所涉及的不同维度。圖2给出了《编译原理》课程的传统教学模式与改革后教学模式的对比。从两者的对比上可以看出,改革后的教学模式在吸取了传统教学模式可取之处的基础上以科学思维培养为目的进行了较为全面的调整。下面对主要调整内容进行介绍。

3.1 培养目标

《编译原理》课程的传统培养目标主要是使学生理解编译技术,并培养其使用编译技术进行编译器开发的能力。在改革后的教学模式中,培养目标更加注重知识的系统化,并充分考虑系统化知识和实际工程应用之间的关联性,基于清晰明朗的知识脉络使培养目的更加科学明确,即科学思维建立以及编程实践能力培养的有机融合。

3.2 培养方式

《编译原理》课程知识点具有较高的抽象性,学生学科基础和接受能力有所不同,因此在改革后的教学模式中使用分层培养的方式进行教学开展。对于基础较为薄弱的学生,以编译器前后端知识为主要教学内容,重点考查学生对基本概念的掌握情况,保证每个学生在课程结束时都具有小型编译器的开发能力。在这部分学生而言,扩展知识中的形式化理论及其与其他学科的交叉应用方面的作用在于其对于知识脉络的强化以及对科学思维的初步了解;对于基础比较扎实的学生,在掌握编译器前后端知识的前提下,鼓励其对所学理论知识进行进一步的总结和思考,尝试对现有方法进行改进,编程方面可实现相应的交叉应用,吸纳学有余力的学生进入相应实验室中开展具体研究。

3.3教学方式

在改革后的教学模式中,教学的实施以实际工程案例为基础而开展。具体而言,课前为学生构建应用场景,提出实际工程问题,并提供相关的参考文献供学生查阅;在课堂教学中,通过启发式教学引导学生思考并解决实际问题,可以尝试在课堂中使用互动式案例教学法[8];课后鼓励学生尝试对已有方法进行总结和改进。此外,加强实验考核要求,培养学生使用编程工具解决复杂问题的能力,学会根据实际需求进行严谨而有效的开发。

《编译原理》课程中大量知识点属于理论计算机科学的研究领域,因此可以对这些知识点进行归纳和总结,并探讨其实际工程应用。在词法分析中,对正规式与有穷自动机相关的内容进行延伸,使学生不仅可以掌握正规式与有穷自动机的原理,理解其在词法分析过程中的地位和作用,还可以触类旁通地将其应用于软件开发过程中。例如,在实现一个搜索功能模块时,正规式可以用来匹配字符串,实现模糊或精准查询;在语法分析相关知识点的教学中,学生不仅需要理解语法分析中的各种自顶向下与自底向上方法,还需理解乔姆斯基体系,了解语言与文法在计算机领域中的地位与作用,掌握形式化语言在工程中的应用方法,鼓励学生对现有方法进行总结和改进。例如,可以尝试使用形式化方法实现不同自然语言之间的翻译,并与基于统计学习的翻译方法进行性能上的对比。此外,还可以在课堂中设置部分开放式学术问题,鼓励学生使用科学的思维方法进行学术探索。

3.4考核方式

传统的《编译原理》课程的考核方式一般以期末闭卷考试为主(60%-70%),平时成绩为辅(30%-40%),考试题目由概念题为主,侧重考查学生对于词法语法分析过程的理解程度,平时成绩由出勤率、课堂表现等环节组成。由于课堂表现等方面存在量化方面的难度,学生的成绩主要取决于期末考试。通过与部分计算机专业学生的交流发现,在传统考核方式下,学生对于《编译原理》课程的主要学习方式以习题为主,对原理的掌握不够牢固,甚至有一部分学生为了应付考试而在没有理解知识点的情况下机械地记忆LR分析表等难点,从而背离了课程学习的初衷。与之对比,改革后的考核方式对平时与期末的学生表现进行完全的定量化考核。平时成绩中对出勤率、作业完成情况、课堂表现、实验报告等各环节均设置了相应的等级和分数。例如,课堂表现可以根据学生的参与度设置A、B、C三个等级,每个等级对应不同的分值。在期末考核中,试卷更加侧重于考察使用课程知识点解决实际工程问题的能力。例如,语法分析方法的考察并不要求学生写出所有分析表的所有内容,而要求学生在充分理解分析表的基础上分析该文法与分析方法的匹配程度并给出改进方向,更全面地考查学生对于程序语法分析方法理解深度和科学思维方法的掌握情况。

4课程改革成效

基于课程知识体系的优化以及教学模式的调整,我们在《编译原理》课程的实践教学中取得了初步的成效。首先,背景知识的融入有效激发了学生对课程知识的兴趣,因此课堂的参与度(例如课程出勤率和课堂互动性)明显提升,在考试难度不变的情况下通过率稳步提高;其次,通过课程的关联知识学习,学生还对本学科其他研究方向有了初步的理解,學生的知识面得到了提高。最后,经过课程知识的深度挖掘和广度扩展,学生的科学思维得到了一定的培养,在面对新问题时,可以主动想到使用形式化方法解决问题的思路。例如,有些学生在做毕业设计时能够从当前主流编译系统所存在的问题出发,以解决用户痛点为目的,提出编译系统性能的优化方法并进行有效验证。

5 结论

在新工科背景下,人才培养模式的创新和改革是高校的一个重点任务,教师需要根据时代发展需要对传统教学模式进行变革。针对《编译原理》课程传统教学模式所存在的问题,本文基于科学思维培养的目标对《编译原理》课程的教学改革进行了研究,为课程知识体系以及教学模式提出具体调整方案。在知识体系方面,优化重点在于课程的深度和广度拓展,在原体系中融入形式化方法及其在其他领域中应用的内容;在教学模式方面,基于案例式教学,使用分层培养模式因材施教,并使用科学的量化考核机制,保证学生掌握正确的科学思维方法,学会将归纳、演绎等思想运用在实际问题的解决中,掌握终身学习能力。然而,目前课程改革也存在着不足之处:改革的成效主要体现在学习态度较为端正的那部分学生,而对于一部分学习态度有较大问题的学生而言效果不够理想。因此,在今后的研究中,课程改革的重点在于教学成效的全面性,尤其是对于后进生的帮助上,在端正其学习态度的同时注重其兴趣的培养,使其掌握正确的科学思维,在层出不穷的技术浪潮中保持良性发展。

参考文献:

[1] 袁宁,刘政.提高《编译原理》课程教学效果的思考与探讨[C].全国高等院校计算机基础教育研究会,,2012.

[2] 顾彬,郑关胜.《编译原理》教学方法的研讨[J].教育教学论坛,2013(15):64-65.

[3] 武瑛,张丽华.新工科背景下基于混合式教学的编译原理课程教学改革[J].电脑知识与技术,2019,15(1):169-170.

[4] 柴艳妹,马燕林.编译原理课程教学改革研究[J].计算机教育,2011(20):36-39.

[5] 侯惠芳.《编译原理》课程教改探讨[J].科技信息(科学教研),2007(17):406,447.

[6] 谌志群,王荣波,黄孝喜.以计算思维能力培养为导向的“编译原理”教学改革探索[J].智能物联技术,2021,4(3):29-32,50.

[7] 余玛俐,张海.《编译原理》教学方法探析[J].九江学院学报(自然科学版),2005,20(4):114-118.

[8] 张卓.互动式案例教学法在“编译原理”中的应用[J].工业和信息化教育,2021(2):61-65.

【通联编辑:王力】

猜你喜欢
教学模式
群文阅读教学模式探讨
“思”以贯之“学、练、赛、评”教学模式的实践探索
关于应用型复合人才培养的教学模式探讨
特殊教育学校在线教学模式探索与实践
“认知-迁移”教学模式在高年级阅读教学中的应用
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效
5E教学模式对我国中学数学教学的启示
PBL教学模式在中西医结合妇科临床教学中的应用
三元重叠教学模式分析