“编译原理”课程的教学研究与探索.docVIP

“编译原理”课程的教学研究与探索.doc

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
“编译原理”课程的教学研究与探索 摘要:“编译原理”课程由于其理论难度及目前本科学生中普遍存在的各种思想误区,教学效果不理想。本文针对这一现状,从如何提高学生学习兴趣,搞好课堂教学,加强实践环节等方面入手,提出了相应的对策。br  关键词br本文来自:计算机毕业网 :编译原理;课堂教学;实践教学br      br  1“编译原理”课程教学现状br  br  编译原理作为计算机专业的一门核心课程,在教学中占据十分重要的地位。但由于其内容具有较强的理论性和实践性,学生在学习过程中感到内容抽象、算法复杂、难于理解,因此“编译原理”被普遍看作是计算机本科教学中最难讲解、最难学习的课程。总结起来理由如下。br  (1) 本课程涉及不少理论知识,如形式语言和自动机理论、语法制导的理论等。这些理论的学习有一定的难度,特别是语法制导定义(或翻译方案)的设计,因为它本质上是一种事件驱动的程序设计,这对于三、四年级的本科生来说还是较难掌握的。br  (2) 本课程包含了很多算法,大的有LL(1)分析算法和各种LR(1)分析算法等,小的有DFA化简算法、计算开始符号集合和后继符号集合的算法、各种数据流方程的迭代求解算法。这些算法要比数据结构中接触的算法复杂得多,学生在学习数据结构的时候,接触过很多算法,对于不理解的算法可以跟踪算法的执行过程,而跟踪编译程序中的算法则要麻烦得多,想深刻理解算法的思想很困难。br  (3) 编译程序规模大,不可能在一门课的时间内把所有的细节都讲清楚,这使学生对编译程序各逻辑部分之间的接口和一些算法的实现是模糊的。br  针对这种情况,如何提高这门课程的教学效果,是一个值得探讨的问题。笔者多年来一直从事“编译原理”课程的教学,对如何改进教学方法和提高教学效果做了一些研究和探索,并取得了良好的效果。br  br  2明确教学目标,提高学生学习兴趣br  br  很多学生认为“编译原理”只能应用在写程序语言的编译器上,而他们以后可能不会在编译器及其相关领域方面钻研,所以学习兴趣不高,其实这是一种误解。编译技术是计算机语言发展的支柱,也是计算机科学中发展最迅速、最成熟的一个分支。通过学习编译程序的构造原理和技术,将有助于深刻理解和正确使用程序设计语言。编译内容涉及到计算机的组织结构、指令系统以及操作系统,掌握编译技术有助于加深对整个计算机系统的理解。另外,由于编译程序作为系统软件在性能上具有严格的要求,这使得它所使用的算法经典、高效,而这些算法、思想和实现技术也可广泛地应用于一般软件的设计实现。如正规式和有穷自动机在文本编辑器中的广泛应用,有穷自动机在字符串查找中的运用,必经节点算法在网络中的运用,由文法来定义网络协议等。在教学中,可以鼓励学生尝试将编译程序中的各种算法和技术应用到各个应用领域,从而激发学生的创造性思维,培养学生的创新能力,为今后的学习打下坚实的基础。br  br  3优化教学内容,搞好课堂教学br  br  由于这门课程理论性强,内容丰富且抽象,具有严密的逻辑性,应用其他课程知识比较多,要在有限课时内很好地完成本课程的教学。教师首先必须吃透教学内容、把握课堂教学环节。这就要求教师对教材非常熟悉,掌握编译原理的主要内容及基本框架,对教材及教学内容作一定的优化。br  3.1选取合适的教材br  某些“编译原理”教材并不是完全面向学生的,可能是作为这门学科的大全来编写的。例如由美国著名计算机科学家编著的“龙书”《Compilers Principles, Techniques and Tools》,中文译名为《编译原理》,由机械工业出版社出版,这本书是最经典权威的编译教材,应该是教师教学的必备参考用书,但如果将其作为授课的教材,对大部分学生来说都不太适合,因为内容过多,难度过大。br  笔者总结了多年的教学经验,编写了一本《编译原理》教材,已由人民邮电出版社出版,我们在教学中采用这本教材。结合教材的特点,我们在教学中力求做到以下几点。br  (1) 考虑到学生对C语言较为熟悉,所讲授的主要算法、例题和习题均以C语言为背景。br  (2) 把编译原理和编译技术两方面有机地结合起来。将“PL/0语言编译程序”模型的实现过程贯穿于各个章节,这样使学生在掌握相关的编译原理之后,通过阅读理解和扩充此编译程序,加深对所学内容的理解,使所学内容融会贯通,能够建立一个较为完整的编译系统模型。br  (3) 对常用分析器的自动生成工具(LEX和YACC)的功能和使用方法做了详细的介绍,并给出了使用LEX和YACC实现的PL/0语言编译器的源程序,从而使学生真正掌握如何借助LEX和YACC实现一个编译器。br  3.2抽象内容形象化br  编译系统中的一些概念很抽象,学生无

文档评论(0)

kaku + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档