- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简析计算机专业知识在编译课程教学中的渗透与融合.doc
简析计算机专业知识在编译课程教学中的渗透与融合
简析计算机专业知识在编译课程教学中的渗透与融合
编译原理、操作系统和计算机体系结构是计算机专业的三门核心课程,在计算机科学的教学体系中占有重要地位。学生对于这三门课程的掌握程度在一定程度上反映了他们对计算机专业知识的掌握情况;进一步讲,能否确切理解编译程序、操作系统和硬件系统之间的关联及它们在计算机系统中的层次地位,直接反映了学生对专业知识的整体把握程度。遗憾的是,受限于目前的教学大纲和学时,这三门课程的教学很少涉及对相关课程的介绍和联系,只注重课程自身教学内容的讲解和分析,导致学生无法理解所学知识的应用背景,产生学无所用的想法。
由于编译课程内容具有较强的理论性、逻辑性和实践性,学生在学习过程中感到过于抽象和难以理解。编译教学内容涉及到程序设计、操作系统和计算机系统结构等相关课程,掌握编译技术有助于加深学生对整个计算机系统的理解[1]。目前,编译课程的教学更多关注自身内容的讲解和传授,与其他课程横向联系的内容相对较少。许多学校虽然开设了实验课及相应的课程设计,但只对编译理论中的某些算法或编译系统的某一阶段功能进行单纯的实现与验证,缺少实际背景。另外,现行的编译教材大部分都是从编译技术本身的角度撰写的,为的是让学生掌握编译的基
本理论与思想[2]。所有这些最终导致学生无法对高级语言程序设计每条指令的执行过程有清晰的认识和理解,因而不能实现专业知识的融会贯通。计算机专业的理论基础对培养学生的计算机专业素养具有非常重要的作用[3],因此课程间封闭的教学方式不利于专业素养的培养和提高。
目前,这一现状在短时间内很难改变。笔者认为应以编译课程为切入点,在教学过程中加强相关课程的联系,促进计算机专业知识的交叉融合。
1以编译课程为切入点,强化专业知识融会贯通
编译程序在计算机系统不同层次中处于核心地位,在程序设计及运行过程中起到桥梁和纽带作用,因此应以编译课程为切入点,促进专业知识的融合。按照教学大纲安排,学生入学后首先要学习程序设计的相关课程,进入高年级后,主要学习操作系统、计算机体系结构和编译原理等核心专业课程,它们之间的关系如图1所示。由图1可以看出,编译程序在从程序设计到程序运行产生输出结果这一过程中处于核心地位,编译系统对用程序设计语言编写的源程序
进行编译,编译过程中会用到源语言自身的规范和库程序,需要操作系统提供的库程序和接口以及目标体系结构的相关信息生成可执行的二进制程序。可执行程序根据用户的需要,由操作系统调度运行,并与下层的硬件系统产生密切的关系。本文由.L.收集整理为此,编译课程的部分内容需要程序设计语言、操作系统和体系结构等课程作为支撑,这样学生才能更好地理解计算机系统从软件设计到程序执行的完整过程。
正是由于编译系统在计算机系统中处于重要地位,以编译课程为切入点,在教学过程中加强核心课程之间的横向联系,不仅有助于实现编译课程抽象内容形象化,也有助于加强学生对整个计算机系统的认识。另外,随着计算机系统结构的不断发展与更新,嵌入式计算、并行计算与可重构计算系统逐渐得到发展和普及,这些都使编译系统和计算机系统结构之间的关系变得比以往更加密切。一种新结构的出现需要新编译系统的支持才能真正发挥作用,因此在编译课程的教学中加强与其他课程的联系,也是符合计算机系统发展的大趋势。
2以编译课程为切入点的可能性分析
以编译课程为切入点,强化各个核心专业课程之间的关联,其可能性概括如下:
(1) 编译原理是计算机专业重要的专业课程,且在计算机系统中具有重要地位。
(2) 编译课程开课的学期较为合适。我们查阅了国内部分高校的教学计划,研究了计算机核心专业课程的课程安排。如表1所示,在我们调查的高校中,除北京大学、北京航空航天大学和西安交通大学外,近一半高校编译课程的开课学期多位于程序设计、操作系统和计算机体系结构等课程之后,或与操作系统和体系结构等课程同时讲授,因此在编译课程的讲授过程中穿插联系相关课程的内容比较合理。通过对相关知识进行整理归纳、巩固与提升,能够取得较好的教学效果。
(3) 编译课程多次涉及其他专业课程的内容,例如编译原理教学引论部分要讲授程序设计语言的发展历史、编译程序在计算机软件系统中的重要地位等内容;讲授编译运行时的环境部分时,一定学时用于讲述存储分配,特别是基于栈的运行时环境的动态存储分配和基于堆的运行时环境的动态存储分配部分,与操作系统相关内容相互渗透;在代码生成和优化部分,尤其是过程(函数)调用的翻译部分,针对目标系统结构的优化部分,亦需要体系结构相关知识作为支撑。反观操作系统和体系结构等课程的教学内容,与其他课程的联系则相对较少。
基于以上几点认识
文档评论(0)