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

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

ID:25230635

大小:57.50 KB

页数:8页

时间:2018-11-19

“编译原理”课程的教学探讨_第1页
“编译原理”课程的教学探讨_第2页
“编译原理”课程的教学探讨_第3页
“编译原理”课程的教学探讨_第4页
“编译原理”课程的教学探讨_第5页
资源描述:

《“编译原理”课程的教学探讨》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、“编译原理”课程的教学探讨编译原理课程的教学探讨  计算机语言之所以能由单一的机器语言发展到现今的多种高级语言,就是因为有了编译技术,它是计算机科学与技术中发展最迅速、最成熟的一个分支。编译原理是计算机专业中一门非常有用的核心课程,综合运用编译理论及多门前修课程如数据结构、离散数学、操作系统等课程的相关知识来解决高级语言在机器上编译的一门课程。该课程的目的是在于系统地向学生讲述编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术,使学生通过本课程的学习,既掌握编译理论和方法方面的基本知识,同时也获得设计、分析和移植编

2、译程序方面的初步能力,进而提高学生设计多种软件的素质。  1当前教学中存在的问题  由于这门课程理论性强,内容丰富抽象,具有严密的逻辑性,使用到其它课程的知识较多,因此成为计算机专业诸课程中既难教又难学的一门课程。目前该课程在教学过程中主要存在以下问题:  1)课程内容抽象难理解  编译程序不同于一般的应用程序,是一个十分庞大和复杂的系统软件,它所包含的理论知识较多,抽象度也较高,要求教师在有限的课时内将课程内容讲解清楚,并使学生接受理解是有难度的。  2)基于面向过程语言的描述模型  目前,这门课程中的算法和模型描述是用PASC

3、AL语言或者C语言等面向过程语言。虽然个别教材加入了少量关于面向对象语言编译技术的内容,那也是稍加点缀而已,用途较小。然而,面向对象语言已经成了高校计算机教学的主流语言,社会上大量使用的也是面向对象语言,而我们的编译原理教学仍然沿袭旧的面向过程语言,这种现象严重脱离了计算机技术发展和社会实际需要。  3)课程实验设计不合理  目前,大多数高校在编译原理课程的实验内容上基本上都是要求学生能上机实现一个小型模型语言的完整编译程序,或者是分四个单独的实验(词法一个实验,语法三个实验),它们的目的是让学生加深理解一些编译理论与算法,这对于

4、一部分学生来说是不能完成的任务,也不能激发他们的兴趣(他们认为学习编译原理就是为了设计编译器),造成很大部分学生在动手之前就早早放弃了努力,也就不能达到预期的实验效果。  4)教学手段陈旧  目前,编译原理课程主要以理论教学为主,课时主要用于形式语言理论与各种语法分析算法、语义分析技术的讲授上,缺乏对实际编译器的分析。同时,在讲解的时候一般没有辅之以其它形象生动的教学手段,对学生是采用灌输式的教学模式,而没有采用启发式、讨论式等多种教学模式,因此学生觉得授课内容枯燥乏味,激不起他们学习的兴趣。  5)教学大纲统一  目前,每个高校

5、计算机相关专业包括计算机科学与技术、软件工程、网络工程等,学生也存在不同的层次包括统招的一本、二本学生,以及专升本学生等。不同专业有不同的培养目标,不同的生源造成学生知识背景和自身素质也有差异。在这种情况下,在编译原理课程教学过程中实行统一的教学大纲显然不合适。  6)学生学习兴趣不浓  目前,学生普遍认为学习编译原理就是为了设计编译器,而大部分学生今后从事编译器设计工作的可能性较小,因此觉得没必要学。另外,目前面向对象的程序设计语言已经成为了主流,认为课程主要讲授面向过程的程序设计语言的处理已经落伍,因此失去了学习兴趣。  形成

6、以上这些问题的原因既有主观的也有客观的,这些问题在我校的编译原理教学过程中也都不同程度地存在。为此,对编译原理课程的教学内容和教学方法进行探讨是十分必要的、有意义的。  2需要解决的问题  1)课程内容的调整  编译原理课程内容丰富抽象,理论性和逻辑性很强,所以很多学生在学习时普遍感到枯燥、乏味,难理解,激不起学习兴趣。为此,需要对课程内容合理安排以便收到较好的教学效果。  a)抓住重点,分清主次  由于课程内容涉及较多,学生往往抓不住重点,分不清主次,结果导致劳而无功。为此,需要根据专业的不同,学生层次的不同,在不影响对编译系统

7、理解的情况下,合理安排授课内容,切不可造成统一重点的教学、统一层次的教学、统一大纲的教学现象。  b)范例式编译器的剖析  为了帮助学生对编译思想和方法的理解,应在教学过程中增加一部分内容,即对一个范例式编译器进行剖析。该范例式编译器应采用教学中涉及到的典型编译思想与方法。学生在教师的指导下对实际编译器代码进行阅读,将使学生对抽象的编译理论与算法有更深刻的认识,从而达到较好的教学效果。  c)面向对象式语言的描述模型  当前,面向对象式语言已成为主流,而目前课程中的内容却是围绕面向过程式语言展开的。为此,需要在教学过程中增加一部分

8、内容,即选择某个对象式语言来描述典型的编译算法。但就目前来看,以面向对象语言作为源语言来重新组织编译原理的教学内容并不合适。在教学过程中应向学生指明这一点,使之有个正确的认识。  2)实践环节的设计  编译原理也是一门实践性较强的课程,只有通过实践

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。