当前位置:首页 - 教学促进

《编译原理》课堂教学心得体会

一、编译原理是一门好课程,在学科建设中非常重要

编译原理是计算机专业中非常重要的一门基础课程,对计算机科学与技术专业的学生非常重要,除了编译原理中基本的理论方法外,其中更有很多基本的问题求解方法、处理问题的思路,这对培养学生的计算思维、程序设计与实现、算法设计与分析、计算机系统的认知、开发和利用等基本能力非常重要,是在程序设计、数据结构与算法等课程中受到一定的锻炼后,从系统的级别上对程序、算法的认识进行再提高。

二、根据学生状况,结合本校实际,合理安排内容和教法

编译原理课程理论和实践性非常强,由于学生之间的差别比较大,所以不同的学校应该根据自己的实际,合理地制定教学计划和教学大纲,教师也应该根据学生的基本情况,合理地安排教学内容和教学方法。对于我校来说,我们应该认识到学生的基础知识相对于重点院校的学生还存在着一定的差距,所以在课程内容选取上要根据学生的特点做一定的筛选,使教学内容更贴合我们的实际。所以在我校的编译原理课程教学中,教学内容的选取不宜采用大、精、深,面面俱到的做法往往会面面不到。再一点就是根据学时安排,合理分配理论授课和实践课的比例。在教学方法和教学内容上真正摆脱枯燥的理论教学,使理论和实践紧密结合,提高学生分析问题、解决问题的能力,培养学生实际工作中对知识综合应用的能力。

1、教学内容的组织

本课程采用的教材是陈火旺院士编写的经典教材《程序语言设计编译原理》,这是编译原理方面的经典教材,被全国80%以上的高校选用,发行量已突破百万册。虽然这本教材对我们的学生来说有一定的难度,但是通过合理地组织教学内容,删繁就简,切中重点,同时多进行方法和应用的训练,少进行深奥理论的探讨,实践证明在实际教学过程中起到了良好的效果。该教材比较全面、系统地介绍了编译程序构造的一般原理和基本实现方法,内容包括词法分析、语法分析、属性文法与语法制导翻译、语义分析与中间代码产生、符号表与运行时存储空间组织、优化与目标代码生成、并行编译技术。全书分12章,各章内容如下:

第一章 引论

第二章 高级语言及其语法描述

第三章 词法分析

第四章 语法分析——自上而下分析

第五章 语法分析——自下而上分析

第六章 属性文法和语法制导翻译

第七章 语义分析和中间代码产生

第八章 符号表

第九章 运行时存储空间组织

第十章 优化

第十一章 目标代码生成

第十二章 并行编译基础

       结合我校学生实际和在上几届教学中的经验,特对教材内容按如下几个原则做出处理:

1)        简化教材,偏重于基本的理论和方法。

2)        注重应用和方法,淡化理论推导。

3)        注重和其他课程的联系交叉。

4)        引入最新的科研应用技术和方法,增强学生的学习兴趣。

基于此,课堂教学中主要讲授编译原理的基础知识(第一章),词法分析中的形式语言和自动机(第二、三章),语法分析中的LL(1)分析法、算符优先分析法及LR分析法(第四、五章),属性文法、语义分析及中间代码的生成(第六、七章),简单优化及目标代码的生成(第十、十一章)。其中第八、九、十二章基本不讲授,第二、六、七、十、十一章讲授部分内容,第一、三、四、五章是编译中用到的主要理论和方法,是本课程的重点,这几章基本全部讲授。

教学内容经过这样的重新编排及组织,既能很好地覆盖编译原理的所有知识点,又能将编译原理的词法分析、语法分析、语义分析、中间代码的生成、优化及目标代码的生成这几个阶段都涵盖进来,使整个知识系统连贯,主次分明,详略得当。在正常的教学进度中,能保证在36个课时左右讲授完毕,剩下16个课时左右去做实践教学部分。通过几年的摸索与总结,这样的教学内容组织非常适合我校学生,大家对编译原理课程的学习有浓厚的兴趣,部分学生也在实践和科研方面做了基本的探索,取得了一定的成绩。

2、教学方法

在编译原理的课堂教学中,可以借鉴中医中“望闻问切”的诊疗方法。 望闻问切”是中医用语,望,指观气色;闻,指听声息;问,指询问症状;切,指摸脉象,合称四诊。在日常教学活动中,合理地借鉴和引入中医的“望闻问切”方法,并与传统的教学方法进行融合贯通、适当改进,实践证明这种方法大大提高了课堂的教学质量。

1)       

课堂教学中的“望”就是根据课程的特点、教学目标以及课程在学科建设中的地位,同时结合学生的知识能力,先修课程等,去合理地选择教材,组织教学内容,把握教学进度,做好课堂教学前的准备工作和观察课堂教学中的细微动作。所以这里的“望”,一方面是在课堂教学前要充分了解学科,了解教材,了解学生,对此教师要做大量的实践调查、资料查阅工作和充分备课。另一方面是在课堂教学中要细心观察学生的表情、眼神、动作、状态等去合理地调整教学进度或教学方法。比如看到多数学生表情茫然,状态低迷,一般说明学生对所教内容似懂非懂或完全不懂,这是就要调整方法,是不是太难了或者太理论化了,还是没讲清楚异或进度太快了。总的来说,“望”就是全面观察了解,小到一个动作,大到整个学科,我们都要根据实际情况来灵活变通课堂教学方法。

2)       

课堂教学中的“闻”就是听,这里指在教学过程中,要听取各方面的意见和建议,比如学科知名权威专家的,经验丰富的老教授的,全国名师以及同事的,特别是学生提出的意见和建议,包括在与学生交流过程中获得的学生的想法,看法等等,从各个方面了解学生对本课程的掌握情况,熟练程度,以及对重难点知识的接受能力、理解能力、对教学内容的选择有无建议或意见、对教学方法是否认同、教学进度是慢还是快、符不符合学生的需要等。“闻”虽然主要是被动地听取学生的意见和建议,但我们可以把被动变主动,开辟多个渠道获取学生的想法。比如可以让学生随时以小纸条的形式给老师传递建议,或者留下自己的电子信箱和其他联系方式,让学生可以以写电子邮件、打电话、发短信、留言等各种方式反映学习中的问题和建议。这样我们就能更多地综合学生的想法,实时调整教学思路,提高教学质量。

3)       

课堂教学中的“问”就是提问,沟通交流。要想及时充分了解学生对知识的掌握程度,课堂提问和课下交流沟通是最切实有效的方法。一方面,在课堂教学中,我们要尽量避免一问一答的形式,应充分调动所有学生的积极性,使课堂成为沟通交流思想和看法的主要阵地,让学生随时可以提问或者提出质疑,引导学生对疑问进行分析处理,提高学生解决实际问题的能力。另一方面,不必拘泥于老师讲台上问,学生课桌前答。有些时候老师可以走下讲台,会显得更贴近学生,能给学生更多的亲切感,同时也能更好地集中学生的注意力,调整学生的状态。这种问答方式尽量找学习程度好,对这个问题能回答正确的同学去提问,这样相当于让回答问题的同学重新对全班同学讲了一遍,一般情况下比老师重讲一遍的效果要好。再者是课下的沟通交流也非常重要,可以利用课间,也可以安排特定的时间和地点,去解决学生提出的问题。在这几年的教学中,对于编译原理课程,每周我都会安排至少2个小时去回答学生提出的各种问题或与学生做沟通交流。实践证明,这既提高了教学质量,也增进了师生之间的感情。

4)       

中医中的“切”指切脉,摸脉,课堂教学中的“切”和中医中的“切”相去甚远,这里主要是指找到一种切合实际的教学方法和切实有效的教学评价方法,藉此来促进教学。所以,其一:“教无定法”,不同的学生,不同的班级在实际教学中可能会遇到不同的问题,这就要求教师的教学方法要灵活多变,因材施教,不能固化。课堂教学内容基本固定,而教学方法要综合运用,合理选择。其二:教学评价,一般情况下我们都是根据学生的考试成绩来评价学生的学习情况和教师的教学效果。虽然这是普遍采用的方法,但其中的弊端显而易见,比如考试试题的难易程度、题目的多少、知识的覆盖面、考场纪律、评分标准等等因素都会影响到考试成绩。所以我们要将学生的平时课堂表现、作业完成情况、对课程的兴趣度、有无进一步探究知识或做相关科研的想法、实验课中的动手能力,熟练程度、对相关课程的理解认识程度等等都作为教学评价的一部分,这样就能更好地进行教学评价。好的评价标准,能更好地促进学生学习,促进教师教学,促进科研能力的提升,在整个教学过程中是最重要的一环。

三、编译原理实验课在整个教学过程中举足轻重

实验课在编译原理中占有非常重要的地位,也是学好编译原理课程的重要环节, 实践课应该根据学生情况,安排能使学生对编译原理的理论有更深理解,对编译原理相关的课程有更多深入认识,对编译原理课程有更大学习兴趣的实验。所以设计一组与理论内容相适宜的实验课程是整体上提高编译原理课程教学质量的关键因素。对于我校的学生来说,由于学生的基础理论不是很扎实,所以一定要通过实验课来加强学生对理论知识的理解和运用,培养学生的实际动手能力,为应用型人才的培养打下基础。在实验课的内容安排上,也要根据学生的特点,安排合理的实验内容,从最初词法分析器的构造到最终目标代码的生成,可以有选择的选取34个实验项目,如果学生独立完成实验有困难,可以让学生分成小组的形式进行实验,教师给予必要的指导,最终让学生形成实验报告,作为成绩的一部分。这样学生既能对编译原理课程更加重视,也能通过动手实验更好地体会理论知识,同时对其他课程也能有更深入的认识,比如离散数学、C语言、数据结构、算法、汇编语言、计算机组成原理、操作系统等。当然也可以根据实际情况组织学生学会利用编译原理工具自动生成词法分析器或语法分析器。

总之,任何一门课程都有其独特的特点,但也有很多与其他课程相似的特点,所以这种引申过来的“望闻问切”的教学方法也可以融入到其他任何一门课程的教学中去。当然,课堂教学中没有固定的方法,在实际的教学过程中,我们要综合方方面面的因素,去寻找最适合自己,最适合学生的方法,努力提高我校的教学质量。同时,我们也应该在教学方法上多探究,多改进,有机会的话也应该走出去,与学科大师交流,与广大的同行探讨,这样才能更好地促进教学,提高教学质量,同时也可以避免“闭门造车”的无奈。