- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“编译技术”实践环节的质量管理体系及实践
摘 要:“编译技术”作为一门核心专业必修课,其实践环节对本科学生培养动手能力有重要作用。但在教学过程中,笔者发现对于这种软件类课程的实践环节而言,通常的题目设置和考核方案并不能真正确保学生独立完成、学有所获,在过程中加强监督和控制才是有效的办法。本文给出在教学实践中采用的质量管理体系,并通过两年来的应用情况分析了该体系的效果。
关键词:编译技术;实践环节;质量管理体系
中图分类号:G642 文献标识码:B
1 引言
“编译器的原理和技术具有十分普遍的意义,在每一个计算机科学家的研究生涯中,这些原理和技术都会反复用到”。为了让学生了解“编译技术”这个推动了计算机学科发展的重要研究领域,北京航空航天大学计算机学院将“编译技术”课程作为一门核心专业必修课。这门课不仅要求学生掌握有关编译的经典基础理论,还要其学会运用先进的软件开发技术构造实际编译系统的方法,是一门理论和实践要求都很高的课程,是学生在本科学习阶段培养动手能力的一个非常重要的环节,在教学中具有重要地位。
在教学中,“编译技术”课分为两个部分:理论部分和实践环节(课程设计)。学生学习了编译程序的基本概念、原理、方法和技术之后,要完成一个小型语言的编译系统。在教材[2]中,提供了由国际著名计算机科学家N.Wirth编写的“PL/0语言编译程序”和“Pascal-S编译系统”这两个经典教学编译系统实例作为参考,目的是通过对编译系统实例“小麻雀”的剖析,使学生较快地对一个高级语言编译的全过程建立起完整的概念。
但是在实践环节的教学过程中,笔者发现,虽然编译系统的构造在理论上已形成完整的体系,实现技术也相当完善,但要使学生从学习基本理论、理解原理、掌握编译器的构造技术到实现一个完整的编译系统却是十分困难的,是一门公认的难教难学的课程。对于一些学生来说,难度太大导致的后果就是完全放弃自己的努力,转而向其他学生寻求“舶来品”。另外,课程设计的题目大都是基于PL/0和Pascal-S两个教学编译系统的,这两个系统的源代码是完成课程设计的基础,因此,即便是自己独立完成的作业,在源代码上也有一些相似性,从源代码相似性的角度来甄别两份作业是否抄袭未免有些偏颇。这种现象在其他软件类课程的实践环节中也是类似的。笔者认为,要让学生在这类课程的实践环节中真正做到独立完成、学有所获,在题目的设置上不能“一概而论”,既要满足基本的教学要求,又要考虑各种不同程度学生的实际情况;同时,不能仅对最终提交的作业进行考量,还需要在实践环节的整个过程进行质量监控,才能达到预期的目的和效果。
从2005年开始,笔者在教学过程中设计了一套用于保证实践环节质量的管理体系,让学生在完成课程设计的过程中,自始至终受到督促和监控,帮助并促使学生在实践环节中真正独立完成。下面对质量管理体系及两年来的实践效果进行介绍。
2 质量管理体系
在“编译技术”课程的实践环节中,从布置题目到提交作业的时间跨度通常有3个月。为了让学生在这段时间内有计划、按步骤、保质量地完成作业,笔者从题目设置、题目分配和考核方案等方面考虑,多方位、多角度促进学生提高作业的质量。这套办法,本文称之为质量管理体系,如图1所示。
(1) 题目设置
设置不同难度的题目,让学生按需选取。为了避免因题目难度过大而让学生放弃自己的努力,将题目设计为五个不同的难度等级,每个等级有不同的难度系数(即最高分数),让学生根据自身的情况进行选取。在“编译技术”课程设计中,题目的总体要求为实现一个小型语言的编译器,难度的不同主要在于文法和生成的目标代码的不同。
(2) 题目分配
随机分配文法。同一难度的题目有多个不同的文法,这些文法是语法成分有所不同的类Pascal、类C语言的文法。借助于教学辅助平台,学生能够在选取难度等级后,获得一个随机分配的文法。
(3) 考核方案
区别于通常只对学生提交的最终作业进行考核,本质量管理体系中,在四个不同时间设置了考核点,规定了每次考核的内容和方式。
① 对教学示例系统的源代码阅读情况进行考核。教材上提供的PL/0、Pascal-S编译系统的源代码是学生完成课程设计的主要参考资料,对它们的深入理解和分析是学生完成课程设计的重要基础。这部分内容是让学生自学,为了不让自学的要求流于形式,本体系对此环节采用面试的方式进行考核,师生一对一让学生回答与示例系统源代码有关的问题。
② 要求学生提交详细设计文档,进行中期检查。为了让学生的课程设计有规划、有进展地进行,本体系要求学生在课程设计的中期提交详细设计文档作为考核内容。
③ 最终成果进行现场考核。当学生在完成课程设计后,通
文档评论(0)