编译原理课程教学改革和实践.docVIP

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

编译原理课程教学改革和实践   摘要:编译原理是计算机科学及相关专业的一门重要的专业基础课。但是长期以来,编译原理教学中存在学习目标不明确,课程理论性强,包含算法多等问题。经过多年实践,对教学方法从明确学习目标、启发式教学、抽象内容具体化、结合编译器实例教学和加强实验环节等五个方面进行了改革和舞践,取得了良好的效果。   关键词:编译原理;教学改革;启发式教学   编译程序是现代计算机系统基本的组成部分之一,它能够将用户编写高级语言程序翻译为计算机所能执行的汇编语言或机器语言那样的低级语言程序,从而实现用户程序的执行。     编译原理是计算机科学及相关专业的一门重要的专业基础课,主要介绍程序设计语言编译程序构造的一般原理、基本设计方法、主要实现技术和一些自动构造工具。通过编译课程的学习,学生可以认识高级语言程序在计算机中的处理本质,提高软件设计素质,开发更完善的应用软件,编译系统软件甚至操作系统。      一、编译原理教学现状及存在的问题      长期以来,由于编译原理这门课程具有较强的理论性和实践性,学生在学习过程中感到内容抽象、算法复杂,难于理解,因此编译原理被普遍看作计算机专业课程中最难学习的课程之一。总结起来,其原因主要是存在以下三个方面的问题。      1.学习目标不明确   不少学生认为学习编译原理的目的就是为了编写构造编译器,而在当前,各大软件公司都已经开发了非常优秀的各种高级语言的编译器,如果再去重复开发已无必要,所以很多学生认为编译原理这门课程缺乏实用价值。      2.课程理论性强   编择原理这门课程内容丰富且抽象,具有严密的逻辑性,除了具有自己的一套独特的理论体系,还涉及了大量的其他理论知识,如形式语言和自动机的理论、集合论、图论等知识。这些理论的学习对于本科生而言有一定的难度。      3.课程包含的算法多而复杂   本课程包含了大大小小十几个算法,如NFA的确定化,DFA的最小化,LL(1)分析算法,LR分析算法等。这些算法大都很复杂,比学生们以前接触的数据结构中的算法要复杂很多,学生们普遍感觉吃力。      二、编译原理教学改革与实践      通过结合多年的编译原理教学实践,针对以上问题,笔者从以下方面人手,进行了教学改革和创新,取得了良好的效果。      1.明确学习目标   有了明确的学习目标,有助于提高学生们主动学习的兴趣,增强教学效果。在编译原理课程开始学习的第一次课,我们就向学生们明确讲述了本课程的重要意义。   第一,能提高计算机思维的能力。对现实问题进行抽象化和形式化表示是进行计算机问题求解的基本途径,计算机科学与技术学科要求学生具有这种抽象化和形式化思维的能力,即计算机思维能力。编译技术集中体现了计算机的思维能力,它采用若干理论和算法解决了高级语言到低级语言的翻译问题,为计算机和人对话提供了可靠的接口。学习编译原理有助于提高这种能力,有助于学生深刻理解高级语言的本质,从而正确使用高级语言。   第二,编译原理对很多领域理论的研究具有深远的意义,如计算机软件技术领域,计算机系统结构领域,人工智能系统的机器学习领域,并行处理技术领域等。在讲解到具体内容的时候,我们注意对其应用的介绍,如:正规式和有穷自动机在文本编辑器中的广泛应用,有穷自动机在字符串查找中的运用,必经节点算法在网络中的运用,由文法来定义网络协议等。      2.启发式教学   在编译原理的教学过程中,我们采用了启发式教学方法,根据教学任务和学习的客观规律,从学生的实际出发,采用多种方式,以启发学生的思维为核心,调动学生的学习主动性和积极性,促使他们积极高效地学习。   具体做法是:改变传统教学中老师讲、学生听的填鸭式教学模式,对于内容较为简单的章节,采取问题解决式教学模式,事先就这些章节提出具有启发式意义的问题,学生在学习中通过解决问题,理解相应的概念、理论,建立良好的知识结构。对于学生在学习的过程中提出的问题,我们不是简单地回答,而是在课题上展开问题的讨论。在讨论的过程中让学生自己总结结论,从而进一步加深对理论知识的理解和认知。   比如中间代码优化这个章节,我们首先给出Z--个需要优化的四元式中间代码的例子,指出该代码程序可以由一个等价的、效率更高的、占用空间更小的程序来替换,启发学生思考怎样去优化。学生们经过思考和讨论,提出了优化的多种方法,这时候,教师对这些方法进行了总结和提炼,引出常用的六种代码优化技术,指明优化的重要意义。进而启发学生,这些优化是我们拥有智能的人类去做的,但是计算机没有智能,怎样设计数据结构和算法才能让计算机完成同样的操作呢?带着这个问题,我们开始继续深入探讨局部优化、循环优化等后续内容。      3.抽

文档评论(0)

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

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

1亿VIP精品文档

相关文档