开篇:润墨网以专业的文秘视角,为您筛选了一篇课程设计在编译原理课程教学中的地位和作用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
【摘 要】 编译原理是计算机类专业的核心课程之一,具有抽象性强,学生难学、教师难讲的特点。鉴于此,国内外的高校提出了各式各样的编译原理教学新方法。然而实践证明,上述方法并没有从根本上解决学生掌握编译技术这一核心的学习目标。我们从课程设计在编译原理课程教学中的核心地位和重要作用的论述入手,阐述重视课程设计是使学生掌握编译技术、学好编译原理这门课的良方。同时,匿名式的网上问卷调查发现,学生们也肯定了这一观点。
【关键词】 编译原理;课程设计;地位;作用
【中图分类号】G632.07 【文献标识码】B 【文章编号】2095-3089(2013)20-00-02
为引导高校主动适应国家战略和地方经济社会发展需求,优化专业结构,加强专业内涵建设,创新人才培养模式,大力提升人才培养水平,江苏省教育厅和财政厅开展了“十二五”高等学校重点专业建设的工作(苏教高〔2012〕16号)。我校的计算机类(包含物联网工程、计算机科学与技术和信息安全三个专业)获得了该项目的资助(苏教高〔2012〕23号),并与2012年8月启动了该项目。为了响应本次计算机类综合专业的改革,我们有必要探索面向计算机类专业的“编译原理”课程改革方案,本次改革方案的重点不涉及编译原理课程的新教学模式、新方法及教材建设,而是强调课程设计在编译原理课程教学中的核心地位和重要作用。通过重视学生的课程设计,实现学生掌握编译技术这一核心的目标。
一、研究现状
近年来,国内外各大学从编译原理的教学内容、教学方式、教学手段以及实践教学环节制定等多个方面对这门理论性和实践性较强的课程进行了深入地研究和探讨,提出了一些效果较好的编译原理教学新模式和新方法。
国内编译原理课程的权威专家何炎祥教授提出了基于人本主义的教学新模式[1],它指的是以学生为主、师生互动的全新教学模式。即明确指出教师的任务不是教学生学习知识,也不是教学生如何学习,而是为学生提供各种学习的资源,提供一种促进学习的气氛,让学生自己决定如何学习。浙江大学的王强[2]提出形象化的教学方法,即通过多媒体的形式向学生演示复杂的算法过程。重庆理工大学的刘洁[3]把软件工程专业的特点融入到编译原理课程中,采用科学系统的教学和实验模式实现了激发学生学习兴趣、培养学生分析和解决问题能力的目标。首都师范大学的衷璐洁[4]以实例化的真实的编译器GCC来开展教学。该教学模式是一种与“概念-理论-应用”的传统教学模式完全相反的教学模式,它的教学思路是“案例-理论-概念”。理工大学的贺汛[5]针对编译原理课程的教学特点,提出从调动内驱力、提倡发散思维、提倡探究学习、培养抽象思维四个方面入手,加强学生创造性思维能力的培养,并给出了教学实施的具体步骤和方法。
通过跟踪最新的国内外有关编译技术教学改革的成果发现当前编译课程的改革在理论教学上已经实现了“学生轻松学,教师轻松教”的教学目标。然而,学生却普遍反映当前的教学模式使他们掌握了编译原理应试的技巧,却没有使他们真正理解编译技术各知识点的来龙去脉,他们仍然不会编写一个编译器系统。编译技术对他们而言,仍然是空中楼阁,遥不可及。这正是当前编译原理课程改革遇到的瓶颈。
二、课程设计在编译原理教学中的地位和作用
如图1所示,为课程设计在编译原理教学中的地位和作用。它是按照编译原理教学的五个阶段,实践教学的三个层次进行规划的,最终,通过课程设计将编译理论与程序设计相结合让学生去实现一个小型的编译系统。该体系从多个维度系统地进行学生能力的培养和知识与技能的传授。使得学生不会再有“编译是门难学、易忘,学后无用的课程”的感觉。
图1也解释了为什么当前的编译原理课程改革遇到了瓶颈,为什么只有重视编译原理课程设计才是解决这一瓶颈的唯一途径。下面我们对此进行论述。当前的课程改革只重视编译原理教学的前三个阶段:基本认知、基本理论和应用认知;实践教学中的第一个层次:上机实验。整体上是重理论而轻实践。这就是编译原理课程对学生而言,有一种空中楼阁、遥不可及的感觉的本质原因。而如果能在当前的改革维度上进行扩展,将编译原理教学扩展为图1中的五个阶段,把实践教学扩展为图1中的三个层次。通过将编译理论与程序设计方法相结合完成编译器这一综合课程设计,从而实现编译课程学习由知识点到知识平面,由知识平面到三维立体专业技能。也就是说,通过本次教学改革(更加重视课程设计和动手实践能力),教给学生的不再是能够解题的知识点、解题方法和解题技巧,而是他们将来能够到社会上赖以生存的专业技能。
三、课程设计在“编译原理”课程改革中的实施方案及效果
1.课程设计在编译教学中的实施方案
首先,编写编译课程综合实验指导书。编写原则是实验目标要适中,不要定的太高。任务和要求要明确,而实现方法不固定,为的是给学生更多的自由发挥空间。实验指导书的内容如下:
(1)实验目的
《编译原理》是理论与实践并重的课程,而其实验课要综合运用一、二年级所学的多门课程的内容,用来完成一个小型编译系统。从而巩固和加强对词法分析、语法分析、语义分析、代码生成和报错处理等理论的认识和理解;培养学生对完整系统的独立分析和设计的能力,进一步培养学生的独立编程能力。
(2)实验任务和要求
①词法分析器的作用是划词功能,产生的单词序列;
②语法分析器的作用是识别测试用例的语法是否正确,使用的算法可以是:预测分析法、递归下降分析法、算符优先分析法、LR分析法等;
③语义分析与中间代码生成器的作用是分析测试用例的语义并生成中间代码(四元式序列)。
然后,将学生分为五到六人一组,每组设置一个项目组长(ProjectManager,PM)。由PM负责为期一周半的综合课程设计,主要包括项目分工、项目实施、进度规划和组员间的协调等工作。
最后,每个小组提交可供演示的编译器系统、课程设计论文及答辩PPT。每个小组由PM用10分钟时间陈述课程设计期间的工作,之后,由其他同学进行提问,小组成员进行回答。
2.课程设计在编译教学中的实施效果
我们对2009级计算机科学与技术和软件工程两个专业的本科学生进行了课程设计方案的实施。图2为一名同学所完成的编译课程设计中语义分析的效果图。这里的语义分析采用了语法制导生成四元式,语法分析用的是自底向上的SLR文法。
在课程结束后,我们还对这两个专业的124名学生进行了匿名式的问卷调查,结果表明在编译教学中重视课程设计明显要好于重理论轻实践的的编译教学改革模式。表1从熟练掌握编译课程中的各知识点、理解编译课程中各知识点的来龙去脉、具备理论联系实际的专业技能三方面进行了教学效果对比分析。
通过对表1中数据的对比分析可知,重视课程设计的教学模式在各方面都明显优于重理论而轻实践的教学模式,特别是在培养学生的理论联系实际的专业技能方面,98%以上的学生表示满意。
四、结语
文章针对当前编译原理课程教学改革中“重理论轻实践”的现实问题,提出要高度重视编译原理课程设计。文章重点论述了课程设计在编译原理教学中的地位和作用;阐述了当前编译原理课程改革遇到的瓶颈,以及为什么只有重视编译原理课程设计才是解决这一瓶颈的唯一途径。之后,给出了编译原理课程设计的实施方案和考核方式。通过问卷调查发现,学生们普遍反映重视课程设计的编译原理教学更有利于他们掌握基本理论和基本技能,提高理论联系实际的专业技能,特别是他们不再感到编译原理是空洞的理论课、缺乏实用价值且学之无用。教师们也普遍反映重视课程设计的新教学模式使得教学质量和教学效果有了明显的提升。匿名调查结果达到了预期目标。
然而,匿名式的问卷调查也发现我们提出的编译原理课程改革存在学生无法理解知识点产生的来龙去脉这一不足之处。下面我们将在理论课中要加入一些通俗易懂、便于学生理解的案例作为引子,之后将教学内容重新梳理,使得学生了解编译原理知识点产生的出处,这将是下一步编译原理课程教学改革的重点。
参考文献
[1]何炎祥,伍春香.现代教学理论指导下的”编译原理”教学综合改革[J].计算机教育,2010(1):46-49.
[2]王强,冯雁.编译原理算法的形象教学[J].计算机教育,2010(3):30-32.
[3]刘洁,黄贤英,王柯柯等.软件工程专业中编译原理课程的教学探讨[J].计算机教育,2010(16):56-58.
[4]衷璐洁,吴敏华.编译原理GCC实例化教学研究[J].计算机教育,2011(11):13-16.
[5]贺汛,吴春寒.编译原理教学中创造性思维能力的培养[J].计算机时代,2010(4):54-56.