“编译原理”课程教学探讨.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
“编译原理”课程教学探讨   摘 要:本文分析了“编译原理”作为计算机专业核心课程在计算机本科教学中的重要地位,并探讨了如何把课程的难点用通俗、形象的方式讲清楚,同时又不降低理论的掌握:如何把学生的学习积极性调动起来,变被动的学习为主动的学习;以及如何使学生在这门课中得到实践训练,而不是流于形式。   关键词:编译原理;教学实践:实践训练   中图分类号:G642 文献标识码:B   文章编号:1672-5913(2007)17-0041-01      1 突破理论教学的难点      在教学中,我们感觉形式语言和自动机理论是“编译原理”课程的基础,其内容比较抽象,学生学起来难度大。该部分内容既是编译原理课程的难点,也是让学生接受这门课程的突破口。我们采用的教学方法是形式描述、直观描述(包括文字和图形)以及证明相结合。通过分析生活中熟悉的例子,找出其特点和规律,最后进行抽象。   例如,什么是有穷状态自动机,一开始并不直接给出其定义。先分析某种典型的串以及程序设计语言中标识符和整数的结构特点,试着把这些结构特点用状态转换的图形形式加以描述,最后对状态转换的图形形式加以分析,抽象出其共性,以自然的方式引出有穷状态自动机的定义。在教学中,注重强调一个概念、知识引入的来龙去脉,强调知识的总结和推演,尽可能把“为什么”的问题说清楚,而不仅仅停留在“怎样做上”,以达到学生深入领会知识的目的。例如,为什么要引入有穷状态自动机,首先以实例说明正则文法在识别语言上的局限性,从而引出识别系统,并抽象为有穷状态自动机。   在教学中,教师既应有丰富的知识,站在一定的高度,同时又要与学生多交流,了解学生的思维,使抽象的理论易于同学掌握。      2 面向应用,开拓学生的视野      编译技术作为一门成熟的理论技术,不仅用于构造编译程序方面,还广泛应用于其它的领域。让学生了解编译技术在其它领域的应用,不仅能使学生加深对编译知识的理解,还可以让学生从心理上接受这门课的重要用途。   为此我们结合Visual C++的集成开发环境(特别是调试环境),阐述VC中C++/C语句(包括函数)经VC编译器编译后生成的汇编语言代码,即以具体例子给出源语言(C++/C)程序经编译后生成的目标语言程序,使读者进一步增强对编译技术的感性认识。通过编译原理的学习,既掌握理论,又从实践上指导读者如何编写高质量的程序代码,如何在程序设计中消除程序的逻辑错误。   在教学中,始终坚持以高水平的科研促进教学,我们依托计算机系自然语言处理研究室的科研工作,给出编译技术在自然语言处理、机器翻译中的应用实例,使学生对形式语言、有限自动机理论的理论与应用价值有更深刻的认识。   为了提高学生的学习积极性,扩展优秀学生的学习能力,并以此带动班级同学的学习,在教学中还鼓励学生把所学的知识用于实现一些小的实践题目,例如正则式用于email地址、网址等串的匹配问题,编译原理在通讯协议中的应用等。鼓励学生查找编译在其它领域应用的文献,增加讨论课,学生课外报告课。对于这些扩展活动,虽然不可能要求学生在有限的时间内做的完美,但可以促进学生自觉地、有积极性地学习,变被动学习为主动学习。更重要的是扩展了学生的思维,为今后的深入学习和科研工作打下一定的基础。      3 加强实践环节的过程控制      “编译原理”课程对实验环节要求很高,实验环节的设计将充实理论教学内容,加深对理论的理解,培养学生的工程实践能力与科研素质。   本课程的实践环节给出了小型编译器的构造方法和具体实现的程序样本。本课程提供了两个样本语言,一个样本语言中包含基本的程序设计语句,但不包含过程语句,也不包括变量的嵌套声明。针对该语言,提供了词法分析、自顶向下的递归子程序和自顶向上的SLR(1)语法制导分析方法的程序样本,最终生成源语言的四元式中间代码形式。第一种语言比较简单,重点是让学生把精力放在编译器实现的核心部分上。另外一种语言在第一种语言的基础上增加了输入语句、输出语句和变量的嵌套声明。针对该语言,还提供了对中间代码(一种抽象机代码)的解释运行程序,以便给学生一个完整的概念。   在实践环节,要求学生在读懂样本语言的基础上,根据扩充的样本语言的某些功能,上机加以实现。为了严格要求学生,避免作弊,需要对实践环节进行过程控制,其主要方法是上机抽检、课堂答辩、提交实验报告和程序。   在教学中,前辈老师的宝贵教学经验和丰富的教学财富、兄弟院校的教学改革经验使得我们的教学不断进步。学习无止境,研究无止境,不断进取,深化教改是我们始终追求的目标。      作者简介:赵晶,大连理工大学计算机系 4

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档