- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于编译原理课程教学思考
关于《编译原理》课程教学思考
【摘 要】《编译原理》课程是计算机专业的核心课程之一,该课程主要讲解编译程序的构造和功能。本文主要探讨通过多种教学方法,激发学生的积极性,形象化抽象理论,改善课程的课堂教学效果,积极探讨实践改革,以实践促理论,在掌握理论知识的同时,通过实践,培养学生的软件开发、设计能力,提高学生的综合素质。
【关键词】编译技术;教学方法;实践改革
1 课程的性质和定位
从1946年第一台计算机产生至今,计算机的发展仅仅过去了不到70年的时间,从最初单一的仅由0和1组成的机器语言发展到现在的多种高级语言,编译技术起了决定性的作用,正是编译技术迅速、成熟的发展,人们才能摆脱繁琐的机器语言,走进和自然语言相近的高级语言时代。
《编译原理》课程主要是研究基于形式语言理论的编译技术,是计算机专业的专业核心课程之一,课程主要介绍编译程序是如何将高级语言程序翻译成机器能够执行的低级语言程序的工作原理和方法,编译程序经历的各个阶段,以及这些阶段的功能和构造。《编译原理》课程的先行课程主要有数据结构、离散数学、计算机组成原理、线性代数和程序设计基础等,该课程的目的是在于系统地向学生讲述编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术,使学生通过本课程的学习,既掌握编译理论和方法方面的基本知识,同时也获得设计、分析和移植编译程序方面的初步能力,进而提高学生设计多种软件的素质。[1]
《编译原理》课程是计算机专业中公认的难教难学课,课程的理论性强,抽象性高,但是鉴于其在计算机中起的决定性作用,各个高校的计算机专业都将其列为非常重要的专业课,而且在研究生期间还继续开设该课程。课程不但涉及了形式语言理论、自动机、编译技术等抽象的内容,而且也是程序设计、算法、数据结构、离散数学等知识的综合体现。课程帮助学生了解计算机的工作过程,认识计算机信息处理的实质,而且其中的一些算法也很经典,通过《编译原理》课程的学习,可以提高学生对计算机系统的总体认识,对理解算法、程序设计思??和编写更高效的代码具有重要的影响。
2 采用多种方式,注重理论教学
《编译原理》课程是一门理论性和技术性都非常强的课程,内容丰富而且抽象,而且不像一些应用类课程,除非是专业从事编译技术的人员,否则对于学生而言无实际应用价值,缺乏学习的积极性,而且学生在学习的过程中,容易忽略各章之间的连贯性,仅仅是掌握了一些独立的算法,分离的知识点,抓不住重点,分不清主次。要想取得良好的教学效果,首先要让学生认识到课程的重要性,再配合以合理的教学方法和手段。因此,在《编译原理》课程的教学中,可以采取多种教学方式和教学模式,较好的完成教学效果。
(1)讲授式教学法:课程理论性很强很多多,讲授法就是首选的最直观的的方法。但编译技术中涉及了大量的抽象概念,所以填鸭式的讲授法不能取得好的教学效果。对于抽象的理论,要尽量采用形象、生动、直观、具体的讲授方式,充分调动学生的积极性和兴趣,注重知识点的连贯和系统性,引导学生的思维,注重学生信息反馈,教学相长。比如说,讲到编译系统的组成和功能,为了将之后的词法分析、语法分析、语义分析、代码优化、目标代码生成等阶段连贯起来,可以在讲授的过程中制作一些动画,将各个阶段连贯起来。或者将编译过程和英翻汉的过程做对比讲解,英翻汉首先要搞清楚各个单词的含义,也就是词法分析过程,然后将句子的结构划分清楚,就是语法分析,接下来给出句子的意思,即语义分析,然后注意前后顺序,将句子的中文含义给的更贴合中文习惯,即代码优化,最后给出完整、准确的中文,就是目标代码生成了。这样的讲授方式,学生更能够接受,而且通过例子,学生充分理解了什么是编译过程。
(2)启发式教学法:这种教学方法主要是教师根据教学任务和学生的实际情况,以启发学生思考为核心,调动学生的主动性和积极性,促进学生主动学习。对于课程中出现的大量算法,可以采用这种教学方式,比如讲到文法的二义性,可以不要直接讲授定义,可以给出一个二义性文法,一个同样的句型,让学生自己推导,画出语法树,由于推导习惯和分析角度的问题,肯定会有不同结果,让学生自己分析,为什么会产生不同结果,产生不同结果会对句型分析造成的影响等等,然后再引出二义性的概念,通过学生自己的分析,得出了和二义性相关的结论,不但提高了学生的积极性,还加深了对抽象理论的理解。
(3)案例教学法:采用具体的案例,在讲解案例的过程中,将知识点贯穿其中,将抽象的问题具体化。案例教学主要是鼓励学生主动思考,变注重知识为注重能力,重视学生和老师、学生和学生之间的双向交流。在编译原理的学习过程中,预测分析是一种很重要的分析技术,但是学生常常将理论和应用联系不起来。因此,在教学过程中,可以先给出一个具体的预
原创力文档


文档评论(0)