编译原理课程改革浅析.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

?

?

编译原理课程改革浅析

?

?

摘要:编译原理课程一直以来是计算机本科学生的专业必修课,实践教学环节是本科专业课程锻炼学生动手能力的主要途径,通过实践教学的培养可以加强学生对理论知识的理解,并极大的提高学生的动手能力。但是,就目前本科高校对编译原理课程安排的内容来看,大部分学校的实践内容较落后,甚至还有一部分高校没有安排编译原理的实践课。本文主要针对编译原理课程实践教学中存在的问题,提出具体建议和相关改进措施。

基金项目:重庆交通大学实验教学改革与研究基金项目“基于移动APP的实验评分系统开发”(编号:syj201629);重庆市教育科学“十二五”规划项目“基于MOOC的混合教育模式及其在《面向对象程序设计》课程中的教学实践研究”(编号:2015-GX-057);重庆市高等教育教学改革研究项目(173080);重庆市教育科学“十三五”规划课题(2017-GX-323)

编译原理课程作为计算机本科高校中学生的专业必修课,是一门不容忽视的重要课程,虽然目前几乎所有的高级程序语言编程工具都集成了编译器,但是,作为计算机专业的学生了解编译器的原理和工作过程有助于理解程序的整体架构和逻辑框架,可以更好的掌握高级程序设计语言的使用,能够更快的找出程序设计中的问题和不足。本人以这些年来从事编译原理课程的教学经验为基础,针对教学过程中实际存在的问题,主要从该课程实践教学的现状出发,提出一些实践教学方法的改进措施,以此来提高学生对该门课程的理解力和学习兴趣。

1编译原理课程安排的现状

1.1内容陈旧

讲授编译原理课程三年以来,学校只安排了理论课的学习,并没有安排实践课,而且理论课的内容仅仅是以Fortan、Pascal、Prolog(少部分提到了C语言)为例来介绍编译器的工作过程,时下流行的高级程序设计语言Java、C#、Python等教学大纲里面没有提及。而对于现在的本科生来说,理论课中涉及到的高级程序设计语言他们并未了解过,相反,他们系统学习过的语言反而并没有作为例子来进行实际的讲解。因此,学生觉得这门课程晦涩难懂,从教学过程中学生的反应来看,几乎一半的学生处于迷茫的状态。

1.2未安排实践教学

除了编译原理理论教学内容陈旧以外,很多高校没有安排编译原理的实践教学部分,这也是促使这门课程学生掌握不透彻的重要原因之一。理论来源于实践,运用于实践,实践课程是锻炼学生动手能力的重要途径,也是学生加深理解该门课程内容的主要方法和手段。因此,这门专业必修课是非常有必要增加实践教学部分。

1.3学生基础知识不牢

除了上面提到的两点原因之外,还有一个非常重要的原因就是很多学生的前期基础知识(需要掌握的课程内容)不牢固,编译原理课程的学习需要的先修课程有高级程序设计语言、汇编语言、数据结构、离散数学等,这些课程有一部分在大一开设,一部分在大二开设(一般编译原理在大三下学期开设),学生往往这些专业基础课没有掌握好或者已经遗忘了(比如汇编语言),因此,在这种情况下,学生再来学习编译原理难免困难。

2实践教学改革建议

2.1更新理论课教学内容

根据计算机科学发展的实际情况,更新编译原理理论课程内容,以学生实际学习过的高级程序设计语言为实际课程案例进行编译器原理的介绍,便于学生对知识点的理解和掌握,以前的经典程序设计语言可以适当的提及(比如Pascal)。同时,在讲解的过程中可以以一个实际的编译程序来进行编译过程的介绍。

2.2适当安排实践教学

在进行理论课程讲解的同时,安排相关的实践课程内容,锻炼学生的动手能力,加深对编译器相关知识点的理解。最好能让学生自己动手设计编译器,这样学生才能真正去理解高级程序设计语言编辑工具后台集成的编译器工作原理和过程,加深对高级程序语言本身逻辑结构的了解和框架的认识。

2.3课程时间的安排

把编译原理这门课程放到大三下学年学习相对而言有点晚,在学生系统学习过某一门高级程序设计语言、数据结构和汇编语言后,可以马上进入编译原理的学习,这样学生不至于遗忘太快(离散数学通常在大一学习)。有利于学生进行编译原理这门课程的学习和编译最后阶段目标代码生成的掌握(通常在介绍到目标代码的生成这个阶段,学生已经遗忘了汇编语言)。因此,有必须在教学大纲中对编译原理这门课程的学习所处的学年进行调整。

3合理选材

除了理论教学内容的更新和实践教学的适当安排,还有一个重要方面就是作为专业必修课教材的选取问题。一般来讲一本专业课教材三到五年需要一个更新,如果长期使用同一个版本的教材难免跟不上时代的步伐,因此,在教材的选取上也需要根据当今的科技现状选取合适的教材,不能一成不变。实践教材最好选择学生已学过的某种高级程序设计语言编写的案例进行介绍,从编译器最开始的词法分析器到语法分析器,直到最后的目标代码生成的每个阶段都有实例的案例。这样对学生理解编译

文档评论(0)

138****4229 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档