
数字技术与应用
编译原理课程教学探讨
(1.河南农业大手信惠与管理科学学院
夏
河南郑州
刘
艳
·数字教育,
450002;2.中州大季信息工程学院
河南郑州
450044)
摘要:端译原理课性是高梗计算机专业的一门重要专业基瑞课,针对这门课程内客轴象,理论性强,难教难学的种点,本文结合款学实践,提出和总结了一要行之有效的教学方法,在教季中取得了良好的效果。
教学方法教学效采
关键调,搞译原理
中图分类号:G642
文献标识码:A
引
编译原理是高等院校计算机专业维,后的又一门重要的专业基础课,以形式语言与自动机理论为茶础,讨论编详程序构造的基本原理11、基本设计方法和主要实现技术。通过本课程的学习,能深化学生对计算机信息处理本质与计算机工作过程的认识,加深对程序设计语言的理解,为后继专业课程的学习莫定坚实的理论基础,并将编译程序构造的基本原理和技术应用于一般软件的设计。因此,努力提高达门课的教学效果,使学生真正掌提这门课的精髓,并应用到实践中去,具有非常重要的现实意义。
编译原理课程现状与问题
编译原理课程由于理论性强,其有严密的逐辑性,应用其他课程的知识较多,学生在学习过程中感到内容拍象、算法复杂、难于理解,学习起来有一定的难度,此,编译原理被普遍看做是计算机专业本科教学中最难讲解,最难学习的课程之一,在教学上不同程度的存在以下几个间题,
理论知识抽象难懂,学生有畏惧心理 1.1
这门课程主要讨论编译的基本理论和编译器构造的基本方法,涉及的理论知识抽象,难情,如形式语言与自动机理论,语法制导翻译以及各种算法,又综合运用到前面所学的相关课程的知识,确实其有相当的难度,使得学生产生了畏惧心理。此外,不少学生认为学习这门课将来只能用于编译器的设计上,而大多同学将来都不太可能去从事编译器的设计工作,因此普遍认为这门课没有用,学习热情不高,
1.2理论课教学方式陈旧单一
目前,编译原理的理论课大多以老师讲解为主,很少辅之以其他形象生动的教学手段,教学内容又大多是抽象的概念和复杂的算法,老师和学生之间的互动很难形成,学生觉得枯燥乏味,慢慢就失去了学习的兴题,难以达到良好的教学效果(2]。
1.3实验内容脱离实际,不够合理这门课程的实践环节大多要求实现一个
小型语言的编译程序,而实现一个编译程序不仅要有相关的理论知识,更需要丰富的实践经验,熟恶硬件系统和操作系统的功能,对于大多数同学来说,编程能力都相对欠缺,实现编译程序基本是不可能完成的任务。因此,大多同学在实验时碰到的围难太多,无从下手,干晚放弃努力,也就失去了实验的意义。
2数学探讨
2.1帮助学生克服畏惧心理,培养学习兴趣根据这门课程抽象难懂的特点,首先
要帮助学生克服畏惧心理,才能发挥他们的学习主动性,这门课的先行课程如“数据结
数字技术与应用
104
万方数据
文率编号:1007-9416(2010)10-0104-02
构”,“离数学”、“高级程序设计语言"等部是学生已经学习过的课程,学生实际已经具有相应的能力,老师需要的是希助学生分析他们已经掌握的知识,让学生对自己有足够的了解,明白以他们已举掘的知识为基础,有足够的能力学习掌握编译原理这门课程,在学习之前首先消除畏惧心理。
编译程序涉及的算法,思想和实现技术除了设计编译器以外也可广泛应用于一般软件的设计实现3),如文本编辑器、信息检索系统、模式识别器等,对提高学生程序设计能力和开发大型软件的能力是十分有益的。教师可以鼓励学生会试将编评程序中的各种算法和技术应用到各个领域,以培养学习兴题,激发学生的创造性思维,培养学生的创新能力。
2.2采用案例式教学,把抽象问题具体化编译原理中涉及的大量概念和算法部
过于抽象,学生理解起来非常围难,要想获得良好的教学效果,必须借助实例,使抽象间题具体化。例如,词法分析部分主要阐述词法分析器的工作原理和构造方法,相关概念和算法较多,可以通过一个具体的程序范例进行教学。通过编写一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识荐,常数、运算符、分隔符五大类,并做次输出各个单词的内部编码及单调符号自身值,在课堂上通过程序的运行来展示调法分析器的工作过程,通过实例教学,学生既加深丫对理论知识的理解,也提高了学习的积极性
2.3注重启发式教学,培养学生独立思维能力
传统的教学注重教师的讲解,学生被动的接受知识,不利于学生思维能力的培养间,我们在教学中,特别注重启发式教学,引导学生去思考探讨,启发式教学需要教师有目的的设计间题,有意义的提出问题,通过间题把知识点引导出来,学生通过考同答间题,导找解决间题的途轻和方法,加深对知识点的理解。例如,LR分析法是语法分析中较难的部分,其中包含了四种不同的分析表构造方法,学生不好理解。在讲解时先给出LR(0)分析表的构造方法,引导学生发现其中的不足并进行改进,从面引出SLR分析法,再进一步引导学生发现SLR方法的不足,引出LR(1)分析法,同样的方法引出LALR分析法。通过达样的启发式教学,不仅破解了教学难点,也引发了学生探究的兴题。
通过启发式教学,培养了学生独立恶考问题、发现间题,解决间题的习惯和自主能力。学生也在这个过程中通过自己的学习括动获取知识,发展能力。
2.4现代化教学手段和板书相结合.提高学习效果
编译原理课程内客抽象,知识点多,要想取得良好的教学效果,必须借助形象化的教
学手段,构建多媒体环境下的教学环境。利用多媒体设施,电子教案、教学网站等多种途径把知识化静为动,离教于乐。为此,我们精心编制了多媒体课件,用Flash技术制作了动西,可以生动形象的演示抽象概念和复杂算法。这样不仅激发『学生的学习兴题,也加深了学生对理论知识的理解。但是采用多媒体教学也不能完全抱弃板书,因为板书灵活,可以随时补充,所以在教学中应做到多媒体教学和传统的板书教学相结合。
2.5精心设计课程实验,加强学生实际应用能力
编译原理是一个理论和实践并重的课程,但是如何组织实验内容始终是教学中的一个难题(,日前替追的做法是实现一个小型语言的编译程序,而这并非一件容易的事情,对于编程能力都还欠缺的学生来说,实现完整的编译程序基本是不可能完成的任务。因此,大多同学在实验时碰到的图难太多,无从下手。对此,我们的做法是提供给学生程序源代码但是空出关键模块,学生八需完成关键模块的编写,大大降低了实验的难度,也使学生可以集中精力解决关键间题,在实践环节中,根据学生的能力、性别,采用互补的搭配方式把学生分为若干小组,每组设小组长负责实验的学习讨论并对各成员进行分工。每一次实验结束后,各个小组以小组长为代表汇报自己的作业,由其他小组自由提间,实现各个小组之间的交流,分享各组的实践成果,互相借鉴,很好的发了大家的学习兴题。
3结语
编译原理课程作为计算机专业的一门重要专业基础课,对于提高学生的计算机专业素养具有重要的作用。本文分析了目前教学中存在的间题,并从教学实践出发,对如何调动学生积极性从面真正提高教学效果总结出了一些有效的教学方法,在实际教学中也取得了良好的效果。由于课程的复杂性和抽象性,还需要不断地探索更
合理的教学方法,提高教学质量。参考文献
[1]朱文华,王荣波,基于建构主义的编译原
理实践教学研究[J].杭州电子科技大学学报:社科版,2008(4):67—70.
[2]舒忠梅,李文军,周晓聪,编译原理教学改革卖践初探[J].中山大学学报:自然科学版,2007(S2):101104.
[3]莫雷.教育心盟学[M].广州:广东高等教
育出版社,2003,
[4]何炎样,现代教学理论指导下的"编译原理"教学综合改本[1].计算机教育,2005(03)。[5]姚雪构,《编译原理》课程的教学探索[].重庆交通学院学报(社会科学版),2003(02).