编译原理课程教学方法研究

2016-08-31 11:58
贵阳学院学报(自然科学版) 2016年4期
关键词:原理教学模式语言

刘 妮

(贵阳学院 数学与信息科学学院,贵州 贵阳 550005)

编译原理课程教学方法研究

刘 妮

(贵阳学院 数学与信息科学学院,贵州 贵阳 550005)

编译原理课程是计算机专业的一门非常重要的必修课程,课程内容抽象较难理解,教师难教学生难学。针对此现象,本文从课程教学内容、教学方法等方面进行了相应试探研究,分析了以往教学过程中存在的问题,引入了翻转课堂等多种教学模式相结合的教学手段,讨论了如何在实际教学过程中落实教学改革方案、培养学生实践能力、激发学生学习兴趣和全面提高教学质量等问题。

编译原理;教学模式;翻转课堂;实验方案

0 引言

编译原理课程是计算机科学与技术及软件工程专业的一门基础核心课程,在计算机本科专业教学中占有较重要的地位。本门课程主要是介绍如何将高级语言翻译为机器语言的编译程序的工作原理和方法。该课程建立在高级语言和汇编语言基础之上,综合运用编译理论及多门前修课程如“数据结构”、“面向对象程序设计”等课程的相关知识来解决高级语言在机器上运行的实际问题。该课程内容丰富,具有严密的逻辑性和抽象性,是一门“难教难学”的课程,但对提高学生计算机软件素质、逻辑思维能力、抽象思维能力和形式化能力具有很大作用,可以使学生真正了解计算机的工作过程,认识计算机信息处理的实质,并综合运用所学的软件设计技术来分析解决问题。

1 编译原理课程教学中存在的问题

编译原理课程涉及的前导课程较多,课程本身理论性较强,算法抽象难理解,一直以来被视为计算机专业最难学难教的课程。因此,在教学过程中存在一些问题。如: 教学内容比较偏重于原理,实践环节太薄弱,以致学生学习目标不明确,搞不太清楚研究编译原理到底有什么意义;再者,编译系统的实现涉及其他相关课程,所以综合性、连贯性强,课本提供的实验内容抽象缺乏实践性,即使在分模块设计的时候也存在较大难度,不利于提高学生的动手能力,使学生感到“编译原理”课程枯燥,望而生畏,甚至有学生感觉像听天书。而在毕业后的实际工作中,很多学生具体完成一个完整的编译程序的机会比较少,从而在一定程度上也影响了学生对本门课程的学习兴趣和对这门课深入学习的积极性。

2 教学模式

2.1 教学目标

针对编译原理课程目前教学中存在的一些问题,结合应用型人才培养的目标及学生的实际情况,本文将此课程教学的总体目标定为:通过本门课程的教学,让学生体验先进的教学理念和方法,在加强理论基础教学的同时加强实践环节的教学训练,介绍基本的编译理论的同时注重编译技术和系统软件开发的某些最新成果,要求掌握编译技术的同时强调与其他专业必修课程(如程序设计语言、操作系统、软件工程等)的融会贯通等方面进行大量探索尝试。通过本课程的教学研究,一方面使学生掌握和理解编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术,获得分析、设计、实现和维护编译系统的初步能力;另一方面,通过对编译技术的学习,能够提高学生对计算机专业相关课程,如程序设计语言、操作系统等课程知识的深入理解与运用。对毕业后可能从事编译系统设计的学生来说,学习编译原理课程将为其打下坚实的理论和实践知识基础。总之,通过本门课程的学习,能够提高学生对计算机系统的整体认识。

2.2 教学方法探讨

首先,在教学过程中改变以往的纯理论教学方式,通过引入客观事实提高学生的学习热情和兴趣。比如,在“编译原理”课程的第一章里,首先介绍的内容就是“什么是编译原理”,针对这样一个抽象概念,在学生对编译知识完全没有学过的情况下去理解是有一定难度的。因此,为了更好地讲述清楚这个概念,会选择通过导入法引入这样一个客观事实:生活中存在多种自然语言,如英语、日语、汉语等,不同语言的人之间交流必须在两种语言间进行互译。而计算机系统里所有信息都是由“0”和“1”表示的,在编写程序的时候,多数采用和人类自然语言相接近的C语言、JAVA语言等高级语言描述,如何让计算机读懂并执行这些代码,这里就存在一个翻译问题,即编译程序。这一客观现实在教学中的运用,达到了简化编译课程认识的目的,而且更容易被学生所理解和接受,在脑海中留下深刻印象,为以后学习更多理论作好铺垫。

其次,对教学方法进行适当调整。传统的计算机课程教学普遍采用“三段式”教学模式,即理论综述阶段、理论详解阶段和综合实验阶段。针对目前编译原理课程理论性较强、知识点较多的特点,以激发学生学习兴趣、提高动手能力和课堂的教学质量为目的,针对“三段式”教学模式存在的理论与实践相脱节这一问题,立足于微观环境,从“实验演示法”和“任务驱动法”演变出“五环式教学法”[1],如图1所示。

图1 “五环教学法”组织结构与联系Fig.1 struction and relation of five-circles teaching method

最后,部分章节授课采用翻转课堂教学模式。“翻转课堂教学模式”是教师在课前安排学习任务,学生在课外自己进行知识的学习, 课堂变成了教师与学生之间和同学与同学之间互动交流的场所,包括解答疑问、知识的理解与运用等,从而达到更好的教学效果。通常情况下,学生的学习过程一般分为两个阶段:第一阶段是“信息的传递”,是通过教师和学生、学生和学生之间的互动来实现的[2];第二个阶段是“吸收内化”,是在课后由学生自己来完成的。由于缺少老师的指导和同学的帮助,“吸收内化”阶段常常会使学生有挫败感,从而丧失学习的动力。“翻转课堂”对学生的学习过程进行了重构。“信息传递”是学生在课前进行的,教师不仅提供了视频,还可以提供在线的辅导;“吸收内化”是在课堂上通过互动来完成的,教师能够提前了解学生的学习困难,在课堂上给予有效的辅导,同学之间的相互交流更有助于促进学生知识的吸收内化过程。由于编译原理课程不易被学生掌握理解,采用翻转课堂教学模式可以在一定程度上改善这一现象,提高学生的学习热情,达到更好的学习效果。翻转课堂的教学模式如图2所示。

图2 翻转课堂教学模式Fig.2 teachering method of flipped course

2.3 实验教学方案

编译程序的上机实验可加深对课堂讲授知识的理解,熟练掌握编译系统中常用的技术和方法,建立编译程序的整体概念。上机实验是对课堂教学很好的补充和完善,通过实验,使学生具备初步的研究、设计、编制和调试编译程序的能力。在开设编译课程之前,学生已经学习过高级语言程序设计,因此可以用其进行描述。在实验教学环节,我们将根据学生掌握知识的程度和兴趣,计划学时合理选择、安排和调整实验内容。为了包含编译技术中的核心内容,我们将实验安排为三个部分:1)给定一种具体语言,要求学生单独完成该语言的词法分析、语法分析、语法制导的翻译和目标代码生成程序,目的是使学生对编译程序的各个阶段有较深入的理解;2)将扫描器、语法分析器、语法制导的翻译程序和目标代码生成器组合在一起,使之成为完整的编译程序,实现一个程序设计语言子集的编译程序,有利于学生建立编译程序的整体概念;3)为了降低难度,避免进行较完整的编译程序中生成目标代码正确性的验证工作,可以用解释程序的方式实现,使学生灵活运用所学知识,从细节到整体对翻译程序的设计有较深入的了解。

3 结语

本文通过分析编译原理课程教学过程中存在的问题,讨论了如何将理论教学和上机实验相结合,采用多种教学方式,提高编译原理课程的教学效果,对其教学内容、教学方法以及教学模式进行试探性研究。多种教学手段相结合,既注重理论知识的学习,也考虑应用型人才培养的需求,达到激发学生的学习热情和主动性的目的。

[1]张熠,赵小明.五环法在《编译原理》课程教学中的应用研究[J]. 台州学院学报,2008(03).

[2]王雷,刘志成,周晶. 编译原理课程设计[M]. 北京:机械工业出版社,2005.

[3]何炎祥,伍春.现代教学理论指导下的“编译原理”教学综合改革[J].计算机教育,2005(03).

[4]Keith Cooper,Linda Torczon Engineering a Compiler[M]. Morgan Kaufmann,2011.

Research on teaching method of compiler principle

LIU Ni

(Guiyang University Mathematics and information science college, Guizhou Guiyang 550005,China)

Compiler principle is a very important professional compulsory course in computer science and technology specialty, the content of course is abstract and hard to understand , it is difficult to learn for students and to teach for teacher. Due to this phenomenon , this paper does some tentative research on teaching content, teaching scheme and other aspects, analyzes the problem which is discovered in the course of teaching, add variety of teaching methods such as flipped course, discuss how to implement teaching reform scheme, develop students’ practical abililty, inspire students’ learning interests and improve teaching quality in the course of teaching.

compiler principle; teaching model; flipped course;experiment scheme

2016-09-24

贵阳学院教学改革项目:“编译原理课程教学改革研究”(项目编号:201404651)。

刘 妮(1983-),女,贵州贵阳人,贵阳学院副教授。主要研究方向:软件工程,数据库技术。

TP311

A

1673-6125(2016)04-0067-03

猜你喜欢
原理教学模式语言
群文阅读教学模式探讨
基于包络解调原理的低转速滚动轴承故障诊断
了解咳嗽祛痰原理,有效维护健康
语言是刀
平均场正倒向随机控制系统的最大值原理
让语言描写摇曳多姿
化学反应原理全解读
累积动态分析下的同声传译语言压缩
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效