面向系统能力培养的编译原理课程创新教学与实践

2023-06-12 08:54:25王春梅王曙燕黄茹
电脑知识与技术 2023年11期
关键词:层次化混合式教学深度学习

王春梅 王曙燕 黄茹

关键词:系统能力;个性化;混合式教学;层次化;深度学习

0 引言

编译原理课程是计算机类大三开设的专业核心课,内容涵盖编译系统各组成部分设计原理和实现技术,编译程序自动生成工具、自动机理论、数据流分析、反编译技术等新技术领域中的关键知识。旨在让学生掌握编译器的构造原理和设计方法的同时,提高对计算机的系统认识,强化系统能力以及计算机复杂工程问题的解决能力。

1 主要面临的教学问题

1) 求解复杂工程问题的系统能力不足

“编译系统”是一个具有一定规模和复杂度的系统,学生很难深入、全面地站在系统层面了解编译器的系统性知识体系构成,无法将涉及的各类算法进行整合、调试和运行[1],不利于学生解决复杂工程问题的系统能力培养。

2) 抽象的理论内容难以与系统知识有机整合

编译原理相关理论宽且深,涉及的理论内容抽象复杂难以理解,传统的教学方法很难让学生理解理论内容与系统知识的关联,学生很容易停留在知识本身的记忆,无法真正明白计算机系统结构的工作原理,并将相关系统知识有机整合[2]。

3) 个性化学习需求不能被充分满足

编译所涉及的问题形式化描述及其系统的复杂性,即使学生已经掌握了基本问题的求解方法和处理思路,由于前期学习导致学生专业能力参差不齐,在进行实验系统的设计与实现时,实践教学无法充分满足学生个性化发展与学习需求。

2 创新思路

遵循OBE工程教育理念,以教师为主导、学生为主体,依托本课程在中国大学MOOC建设的线上资源,实施“MOOC+翻转课堂+讨论”的教学模式,面向学生系统能力培养,以Clang+LLVM编译器实例化教学内容,拓展方舟编译器、并行编译基础等,抽象内容形象化,因材施教分层实践,开展研究型学习等,如图1所示,采用课前设问、课中探究、课后研讨、动手实践、创新发展5环节系统教学法,依托中国大学MOOC等平台提供开放式讨论,利用现代化智慧教学平台、工具进行抢答、选人、课堂测试等多元化互动,使学生增加学习兴趣的同时,更容易深入理解和清晰把握课程知识点和具体应用,课后完成实验、拓展练习等,实现智慧平台下多维互动的混合教学新方法。

3 创新方法与途径

3.1 面向系统能力的实例化教学

如图2所示,以Clang+LLVM轻量级编译器为整体系统架构,架构中相对独立的子模块针对编译过程不同子过程,从整体到局部,为学生提供全局系统概念的同时使学生掌握编译系统各阶段的功能,促进学生理解编译器整体框架及編译一般流程,锻炼学生分析、解决问题以及优化编译算法的能力,同时提升学生系统设计能力[3]。

3.2 针对抽象理论内容的形象化教学

结合形象化教学,使学生更直观地理解和接受课程中抽象难以理解的理论内容。例如在讲目标代码在内存中存放和执行的过程,如表1所示,展示了目标代码生成与运行时的存储组织原理,同时把计算机组成原理与操作系统中关于程序执行的内容与“编译原理”课程进行有机整合,形象、生动、直观[4]。

3.3 满足个性化发展的分层实践

根据个人学习能力和需求,选择不同的操作系统,不同的设计语言,手动生成或自动生成工具,实施满足学生个性化学习发展需求的分层实践。

第一层——验证性实验。基于不同程序设计语言的分析过程及结果,验证体会他们的编译过程。

第二层——设计性实验。通过设计、编写并调试词法分析器,选择不同语法分析方法设计语法分析器,完成词法、语法分析的设计性实验。

第三层——分析性实验。通过对语法制导翻译原理的理解,完成语义分析实验,理解识别出的各种语法成分变换为中间代码的语义翻译方法。

第四层——综合性实验。以编译的基本原理和技术为基础,结合数据结构、操作系统、汇编语言等课程,设计完成针对某一种语言的编译器[5],提升程序设计能力,加强系统设计能力。

3.4 促进深度学习的多任务课外研讨

将教学过程中无法涵盖和讲授的课程内容进行概括和引导,提供给学生课后自主进行开放式研究和深度学习。如实验项目中实验型语言的扩充、错误的检测与处理、符号表的管理等,在学习了理论基础、原理方法之后,尤其是理解和掌握了编译程序设计思想后,这些内容的学习完全可以通过自学完成,特别感兴趣的学生,还可以进一步研究编译在自然语言处理等相关领域的应用。

组织学生建立课外兴趣小组,互相讨论和学习相关技术,定期进行交流研讨。例如,通过分析UCC/GCC编译器源代码并加写注释,每两周提交一次学习笔记等方式,使学生掌握优秀编译器的实现过程。团队完成大作业,并组织讲解设计思路、源代码以及运行结果,提升学生的团队合作以及沟通表能力。

3.5 全过程多元考核与评价

基于“学本评价”[6],依托中国大学MOOC、超星学习通,结合过程性评价与期中、期末的结果性评价,利用组间、组内、自我以及教师、助教评价等方式,考评覆盖学习全过程[7],如表2。由于编译课程具有纷繁复杂的知识点,因此对知识点的考核以促进学生主动学习、研究性学习为目的,注重对学习过程的考查。通过课堂讨论、上讲台活动、实验验收答辩、学生的自评与互评、提交阶段性学习报告、“一页纸”半开卷形式等多种方式进行考核评价。

4 创新成效

如图3第一期计科2016级试点3个班比非试点4个班的期末和总评均高近2分;第二期由于2020年疫情的原因,2017级均采用线上教学以及线上考试的方式;如图4第三期计科2018级相较计科2016级试点班,期末成绩高出4.6分,但由于加大平时过程考核后,总评仅高0.6分;如图5软件2018级试点班相较2016级非试点班,期末和总评成绩均高出近6分;如图6计科、软件2018级试点班的优秀率占比较2017级线上教学有所提升。满足学生个性化、多元化、创新性的学习需求的同时稳步提升学生解决复杂工程问题的系统能力。

课程2018年3月上线学堂在线平台,开设随堂模式和自主模式,现已开设7期,累计选课人数近0.7万;2018年9月上线中国大学MOOC,开设6期,累计选课人数近2.5万,包括视频53讲,单元测试120道,结业考试一套,讨论话题及其他资源23个;2020年在学银在线建立“示范教学包”,目前有161所学校、210位老师引用,410个班级、9507位学生使用。

5 结束语

目前针对复杂工程问题解决的系统能力的评价、考核方法以及系统能力的教学与指导方法还需要进一步探索。另外,教学改革中对学生的工程能力培养欠缺,今后需要将工程能力培养融入学习过程中,否则会出现由于工程难度增加导致实验完成率低等问题[8]。最后,地方高校大班教学普遍存在,如何在大班有效实施混合式教学也需要关注和探索。

猜你喜欢
层次化混合式教学深度学习
面向量化分块压缩感知的区域层次化预测编码
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于SPOC平台的混合式教学模式研究和实践
科教导刊(2016年25期)2016-11-15 18:36:50
基于SPOC模式的《大学计算机基础》课程改革的研究
考试周刊(2016年85期)2016-11-11 00:35:30
浅论在混合式教学模式下高职思政课评价体系的构建
深度学习算法应用于岩石图像处理的可行性研究
软件导刊(2016年9期)2016-11-07 22:20:49
基于深度卷积网络的人脸年龄分析算法与实现
软件工程(2016年8期)2016-10-25 15:47:34
《C语言程序设计》课程的教学改革与实践
科技视界(2016年22期)2016-10-18 16:12:24
铁路传送网OTN设备互联互通开销层次化处理研究