当前位置:耘佑范文网 > 作文范文 >

编译原理课程的创新教学方式

| 浏览次数:

摘要:编译原理课程是高等院校培养计算机专业人才的核心课程,针对该课程在计算机本科教学中难讲、难学的特点,从理论教学、实践教学、教学手段等几方面对编译原理课程教学改革、创新进行研究、探索。

关键词:编译原理;理论教学;实践教学;多元化

编译原理是普通高等院校计算机科学与技术专业的一门专业核心课,主要内容包括程序设计语言编译程序的基本原理和实现方法。目标是通过本课程的学习,一方面使学生掌握和理解编译器构造的一般原理、基本设计方法和主要实现技术;另一方面培养学生的抽象思维能力、独立解决复杂问题的能力以及增强编写和调试程序的能力。

然而,编译原理被普遍看做是计算机本科教学中最难讲解、最难学习的课程。如何创新编译原理课程的教学内容、教学手段,从而提高教学效果,这是一个值得探讨的问题,具有较高的研究价值。

1优化教学内容

由于编译原理课程的理论教学内容涉及很多理论知识,如形式语言理论、正规式、有限自动机、语法制导翻译等,这些知识相对比较抽象,尤其是有限自动机理论,在今后学习人工智能时应用较多,这些内容学生理解起来相对困难;此外,该课程还包含很多算法,例如词法分析器和各种语法分析器的实现,特别是LALR语法分析器的设计,学生在实现过程中经常感到内容抽象、算法复杂、难于理解,而且编译程序规模较大,学生对编译程序各逻辑部分之间的接口和一些算法的实现感觉很困惑[1]。另外,学生普遍认为编译原理课程不实用,所以缺乏学习的热情、主动性和积极性。

1.1提高学习主观能动性

上第一次课时,我们首先给学生介绍编译原理课程的地位和应用市场。编译器的基本原理和技术适用于一般软件的设计和实现,而且在语言处理、软件工程、软件自动化、逆向软件工程、再造软件工程等诸多领域有着广泛的应用。对于将来从事编译系统设计工作的学生来说,编译原理课程将为其打下坚实的能力和知识基础;对于从事其他工作的学生,它也能够提高学生对计算机系统总体的认识[2]。此外,课程中介绍的经典的语言分析方法和工具,对于设计一些实用的工具和软件来说都是必备的基础。

其次,端正学生对本门课程的认识,肯定学生的能力,使其有信心学好这门课程。

1.2抽象内容形象化

编译系统中的一些概念很抽象,学生难于理解。在讲解的过程中,我们可以选用学生最熟悉的一些实例,通过类比使抽象的概念更容易被理解。

例如,从理论上来说,编译过程一般包括词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成这五个阶段。学生记住这五个阶段并不难,但理解阶段划分的依据有一定的难度。编译程序的功能是将用高级语言编写的源程序翻译成等价的用机器语言或汇编语言表示的目标程序。既然编译过程是一种语言的翻译过程,那么,它的工作过程就类似于外文的翻译过程,不同之处仅在于翻译的对象不同,但其原理是类似的[3]。

又如,自下而上的LR语法分析器的设计原理,在规范归约过程中一方面记住移进和归约出的整个符号串,即记住“历史”,另一方面根据所用的产生式推测未来可能碰到的输入符号,即对于未来进行“展望”。这个原理其实和每个人的成长过程很类似,只有记住历史,把握现在,才能对未来进行很好的规划和展望。

1.3复杂问题实例化

我们准备的实例是从实际程序编译和运行遇到问题中抽象出来的,学生用所学的知识对这些问题进行分析、理解,并加以解决。这种方式可以使学生深入理解高级语言的工作原理,知其然更知其所以然,从而能够更准确地运用各种高级程序设计语言,既能对前期课程起到复习巩固的作用,又能让学生切实体会到本课程的实际价值,从而激发学生学习编译原理和技术的积极性[4]。

2改革实践教学

实践教学是培养学生动手实践能力的重要环节,也是巩固和验证所学理论知识,培养学生分析问题、解决问题能力的重要环节,编译原理课程对实践的要求更高。

目前,实验环境不仅局限于Windows操作系统,学生可以尝试拓展到Linux、Unix等环境,实验内容除了以手工构造的方式实现,也可以使用现在较为流行的LEX、YACC等自动生成工具,体会软件自动化的基本思路。

1) 阶段化实验内容。

第一阶段——验证性实验。

验证不同结构,如C、Java程序的分析过程及结果,从而体验不同语言的编译过程。

第二阶段——设计性实验。

通过设计、编写并调试词法分析器和语法分析器,加深对词法、语法分析原理的理解。

第三阶段——分析性实验。

通过语义分析实验,加深对语法制导翻译原理的理解,掌握将语法分析所识别的语法成分变换为中间代码的语义翻译方法。

第四阶段——综合性实验。

综合性实验将以编译的原理、技术为基础,结合前期课程,加上实际需求和学生自己的设计才能完成。这些前期课程包括离散数学、数据结构、高级程序设计语言、操作系统、汇编语言、数据库原理等。通过综合性实验使学生设计制作出有一定水平的编译程序,使学生更好地掌握编译原理和基本技术,充分发挥学生运用知识和编程技巧的能力。

2) 基于多种操作系统。

学生可以自由选择基于windows、Unix或Linux等操作系统,分析并实现相关实验内容。

3) 使用自动生成工具。

除了以手工构造的方式实现词法、语法分析器外,学生也可以使用词法分析器自动生成工具LEX、语法分析器自动生成工具YACC或类似工具,掌握其基本原理与使用方法,从而学习如何编写类似工具的源文件以解决词法分析、语法分析等问题,体会软件自动化的基本思路。

4) 成果展示。

实验结束后,每班推选2至3位实验结果较好的同学,讲解展示自己的设计思路、源代码以及运行结果。一方面,给本次实验一个良好的示范,另一方面,刺激并鼓励同学们更好地完成今后的实验。

3多元化教学手段

1) 讨论式、启发式的课堂教学方法。

以讨论时、启发式课堂教学法取代满堂灌的教学方式,它可以活跃课堂气氛,激发学生创新意识。对学生实验的验收采取演示、讲解和答辩相结合方式,为学生提供综合运用知识、培养科研素质的机会,锻炼学生的自主性,使学生的科研能力和人文素质得到全方位的锻炼。

2) 数字化的教学资源。

数字化的教学环境为课堂教学提供多种媒体的刺激,有利于学生知识的获取和兴趣的保持,有效激发学生学习兴趣,使学生产生强烈的学习欲望,同时,它可以作为“知识的灌输者”,也可以成为“学习的辅助者”,为提高学习效率,完成复杂研究任务提供帮助。

建立课程网站,随时更新、补充网上教学资源,供教师和学生使用。教学内容不断更新完善有助于实现分层次教学、个别化学习,为每个学生提供尽可能的选择学习的空间,利于实现学生的协助式学习,实行合作和交流。教师还可以利用信息技术创设生动、逼真的教学情景,引导学生进入自主学习状态。

3) 多样的考核手段。

期中考试采用“一页纸”半开卷形式;作业增加课外报告等内容;实践环节以老师考评和学生互评相结合的形式进行。

4) 丰富的课外活动。

鼓励学生参加课外兴趣小组,互相讨论和学习相关技术。例如,兴趣小组的同学,通过分析UCC编译器源代码并加写注释,使学生进一步加深编译器的设计思路和实现方案。

4教学与科研紧密结合

加强教学和科研的结合,扎根于科研,以相关科研成果为背景和基础,紧密跟踪国际学术前沿,不断更新教学内容,以保证教学内容的先进性。将科研中遇到的问题作为教学的典型案例在课堂中进行讲解,并且将科研项目进行必要的分解,组织部分优秀的学生参与项目开发,使学生切实体会到理论成果在技术实践中的完美应用,深刻理解理论与实践相结合的意义和具体途径。

例如,软件测试中的测试用例自动生成技术,其中涉及到的插桩、跟踪等内容就用到编译中的词法分析、语法分析、中间代码等相关知识。

5结语

我们结合实际教学情况,提出创新编译原理课程的一些方法和手段的探索,实践证明,该教学方法在编译原理教学中取得了一定的成绩。然而,如何使该门课程取得更加高效的教学成果,还需要我们不断的思考、探索、实践和积累。

参考文献:

[1] 编译原理课程的教学研究与探索[J]. 教育信息化,2005(10):10-12.

[2] 张昱,陈意云,郑启龙. 编译原理课程的教学方法和教材建设[J]. 中国大学教学,2005,(7):61-62.

[3] 胡作进,胡林生. 编译原理课程教学改革刍议[J]. 安徽广播电视大学学报,2006,(4):55-57.

[4] 阎立钦. 创新教育[M]. 教育科学出版社,1999:23-25.

Innovational Teaching Methods on The Course of Compiler Theory

WANG Chunmei, WANG Shuyan

(Department of Computer, Xian Institute of Posts and Telecommunications, Xian 710121, China)

Abstract: The course of compiler theory is the core course of Computer science and technology in University, but it is viewed as the most difficult to construe and learn on undergraduate course teaching.The paper puts forword the direction of research and exploration of innovational teaching on the course of compiler theory from theory teaching、practice teaching and teaching methods.

Key words: compiler theory; theory teaching; practice teaching; diversification

(编辑:郭小明)


推荐访问:编译 教学方式 原理 课程 创新

热门排行

春节晚会观后感600字14篇

春节晚会观后感600字14篇春节晚会观后感600字篇1晚上八点,吃完年夜饭后,我们一家人整整齐齐坐在

2020央视春晚观后感3篇

2020央视春晚观后感3篇2020央视春晚观后感篇1“爆竹声中一岁除,春风送暖入屠苏。千门万门曈曈日

2023特殊符号图案大全(全文)

๑• •ั๑๑฀฀๑♬✿ 。 :*★☆⊙☺☻☼♠♥♡♣♤♥♦♧♨♩ิε฀฀䁠iddot;฀bull;●○●ゃ卣䁠hearts;♡๑฀฀☜☞☎☏♡⊙◎☺☻✖╄►◄▧▨♨◐◑...

2022央视虎年春晚观后感高中作文7篇

2022央视虎年春晚观后感高中作文7篇2022央视虎年春晚观后感高中作文篇1时间匆匆流逝,已经到了农

积极分子谈话记录30篇_确定入党积极分子谈话会议记录

确定入党积极分子谈话会议记录篇一谈话时间:XXXX年6月19日谈话地点:谈话对象:入党联系人:记录人

春晚观后感300字4篇

春晚观后感300字4篇春晚观后感300字篇1春节是每个中国人都颇为期待的一天,它不仅仅代表家庭团圆的

幼儿园谈话记录:幼儿园晨谈记录100篇

坦直幼儿园党团结对谈心记录(2010年)序号时间去谈心人姓名被谈心人姓名谈心内容备注110 2 26

2020年医院党员谈心谈话记录_2020年谈话记录

职工医院谈心谈话记录单位:职工医院谈心交心对象签名年月日

2022年党支部领导班子“迎盛会、铸忠诚、强担当、创业绩”主题教育专题组织生活会对照检查材料(思想学习工作生活四个方面)【完整版】

2022年党支部领导班子“迎盛会、铸忠诚、强担当、创业绩”主题教育专题组织生活会对照检查材料(思想学习工作生活四个方面)【完整版】下面是小编为大家整理的《20...

【幼儿园谈话记录】 幼儿园晨谈记录100篇

坦直幼儿园党团结对谈心记录(2010年)