编译原理教学方法探讨

前言:寻找写作灵感?中文期刊网用心挑选的编译原理教学方法探讨,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

编译原理教学方法探讨

【摘要】

编译原理》作为计算机专业的一门必修专业课程,在教学中占据着十分重要的地位。但由于其内容抽象,算法复杂,而且具有较强的理论性和实践性,故讲课和学习难度都较大。本文就该课程的教学方法总结出一些经验,以提高学生对该课程的学习兴趣,为学生更好的掌握计算机专业知识打下坚实的基础。

【关键词】

编译原理;教学方法

0引言

《编译原理》课程是计算机专业的主干课程之一。本课程讲述高级程序设计语言的编译程序构造的基本原理和实现技术,是计算机软件的核心技术之一。通过本课程的学习,学生应掌握文法和形式语言基础知识,具有分析和实现编译程序的初步能力,加深对程序设计语言原理的理解,并且提高中、大型程序的分析和开发能力。对于将来从事编译系统设计工作的学生来说,编译原理课程将为其打下坚实的能力和知识基础;对于从事其它工作的学生,也能够提高他们对计算机系统总体的认识。但由于该门课程内容抽象,算法复杂难懂,且传统的教学方法主要突出书本知识的传授,枯燥无味,晦涩难懂,导致学生对该门课程的积极性和学习兴趣不高。针对这种情况,本文对编译原理课程的教学方法进行一些初步的探讨

1理论教学

教师在讲授《编译原理》课程时,首先应该让学生明白该门课程的教学目标:对课程整体应该有较为全面的认识和了解,熟悉编程程序的构造过程和形式语言中的基本概念和理论;理解并能掌握编程程序过程中每个阶段出现的相应的重点算法,并能对该重点算法能够简单编程实现;能够使用课本中出现的理论知识和算法解决常见离散事件问题。

1.1分阶式理论教学

《编译原理》课程内容覆盖广泛,涉及到很多相关学科的知识,就目前教学的基本学时来说,基本无法满足教材中所有内容的详细讲授,故教师在课堂教学过程中,采用分阶式教学方法,把教材中得相关内容按基本内容和高级内容两个方面进行分类:对于基本内容必须要学生完成,而对于高级内容可由部分能力较强的学生带帮其他学生协作完成。以词法分析为例,《编译原理》课程中的词法分析部分的知识点包括正规表达式、正规文法和有限自动机。有限自动机和正规表达式以及他们之间的相互转换是学生必须完成的基本内容,而正规文法及其相关内容则属于高级内容,可以作为提高内容留给学习能力强的学生,然后由他们带帮其他学生协作完成,在这过程中,不但可以加深能力强学生对该内容的理解,而且可以加深学生之间的友谊,在他们讨论和带帮中也可以提高学生的学习积极性。

1.2典型式理论教学

《编译原理》课程中一些内容较抽象,算法多且杂,为了让学生掌握该门课程中的重点知识和算法,教师可以采用典型式教学方法。对每次学生做完布置的作业后,教师可以从中提取一些典型的作业:作业中做错的内容,该内容为什么错,错在哪里,怎么改正,其中有没有可以提取的好的方面;作业中做对的内容,该内容有没有值得学习的方面,有没有需要进一步改进的方面。

1.3讨论式理论教学

很多学生认为该门课程的理论只能用于编写一个编译器,而他们可能以后不会从事编译器相关方面的研究,所以认为该门课程对他们以后的学生生活没什么帮助,故学习兴趣不高,认为可学可不学。所以教师在讲授这门课程时不能采用以前那种满堂灌的教学方法,否则使得学生更加厌学,茫然。为了激发学生的积极性,教师采用讨论式教学方法,让学生参与到课堂中来,积极与学生互动。在课堂上,教师提出问题,讲解基本理论与思想,让学生积极参与课堂讨论与分析,找到问题的解决方法以及可能存在的不足;教师也可以根据时下计算机方面的技术热点,将其与《编译原理》课程相关的知识点先阐述自己的认识和观点,然后让学生提出自己的观点,这样不仅可以加深学生对所学知识的掌握程度,而且可以让他们认识到该门课程不仅仅只是用于设计一个编译器,该门课程涉及的相关知识跟很多计算机相关课程以及以后他们所从事的计算机方面的研究都有莫大的关系。

2实践教学

在实践教学中,教师应该循序渐进地引导学生在实践中开展研究,而不是一开始就要求他们完成很难的实践任务。例如,先要学生实现一个简单的词法分析器,该词法分析器功能简单,只能完成词法分析器的一些基本的简单的功能,等他们完成这个任务后,学生不但学习兴趣大增,而且对以后较难的实验也充满的信心。如果一开始就要求他们完成功能齐全的词法分析器,可能有很多学生做不出来,那么他们对后面的实践教学更加会产生畏惧心理。对于较难的实践研究任务,教师可以让学生分组来实现,这样既能更好的完成实践任务,而且更重要的是能培养学生团队精神和分工协作能力,实现计算机专业学生的培养目标之一。

3结束语

《编译原理》课程是计算机专业的主干课程之一,本课程讲述的高级程序设计语言的编译程序构造的基本原理和实现技术,是计算机软件的核心技术之一,所以该门课程对计算机专业的学生来说很重要。探讨该课程的教学方法,提高教学质量,才能使学生更好的将该课程所学知识应用到以后的科学研究中去。

作者:吴春辉 单位:湖北科技学院计算机科学与技术学院

参考文献:

[1]陈火旺,刘春林,谭庆平,赵克佳,刘越.程序设计语言编译原理[M].第3版.北京:国防工业出版社,2000.

[2]吕映芝,张素琴,蒋维杜.编译原理[M].北京:清华大学出版社,1998.

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

[4]王海文,林月,王辉《.编译原理》课程教学方法的探讨[J].黑龙江科技信息,2012(6):160

[5]肖楠.编译原理课程教学方法的改革与实践[J].牡丹江师范学院学报,2013(2):72

[6]余玛俐,张海《.编译原理》教学方法探析[J].九江学院学报,2005(4):114

[7]王朝坤.编译原理课程研究型教学方法探讨与实践[J].计算机教育,2013