“编译原理”研究性教学的探索与实践

时间:2022-09-02 11:06:33

“编译原理”研究性教学的探索与实践

摘要:研究性教学是当前教育教学研究的热点之一。本文在讨论研究性教学及其三种模式的基础上,结合我校“编译原理”课程的教学实践,重点探讨了“问题解决模式”下研究性教学的实施及其与研究性学习的关系,以利于充分发挥其在课程教学中的优势和作用,提高教学质量。

关键词:研究性教学;研究性学习;编译原理

中图分类号:G64 文献标识码:B

文章编号:1672-5913 (2007) 21-0028-03

传统的继承性教学模式已经深深地扎根于教育教学思想之中,成为人们习惯性的行为方式,用这种模式培养创新型人才存在严重弊端,不能满足大学生发展创造性学习能力的要求。为解决这一问题,研究性教学成为了当前教育教学研究的热点之一。但是,对于研究性教学模式所赋予的深刻内涵,特别是如何将这一模式有效地应用于具体的课程教学之中,仍是一个值得引起关注和深入研究的课题。本文在对研究性教学的概念、内涵研究的基础上,重点探讨了“编译原理”课程的研究性教学的实施,以有利于提高教学质量,培养学生创新能力。

1传统教学模式的弊端

传统教学多以“维持性”为特征,忽视了大学教学应具有的“研究性”和“创新性”。学生平时接受的教学常以书本为中心,缺乏对真理发现过程的揭示和与当代科学研究发展现状的联系,课堂活动常以教师为中心,教学气氛沉闷,教学原理简单,缺少现代多媒体原理的应用;教学评价的形式单一,缺乏对灵活运用知识的能力、实际动手能力以及创新能力的评估。在这种维持性教学的指导下,大学生的学习多成为继承性、模式化的,因此难以满足创新型人才培养的要求。

2研究性教学的内涵

现代教育原理认为,教学过程是教与学双边互动过程。教学是教与学的统一,教为学而存在,学又要靠教来引导,两者是相互依存,相互作用,不可分割的统一整体[1]。

研究性教学体现在教与学的双方,包括课内与课外两个方面,二者互为补充。前者指的是课堂教学的研究性,它要求教师在课堂教学中创设一种类似科学研究的情境或者途径,引导学生去探索和发现新知识,力图把凝结在知识背后的思想、方法和创新过程揭示出来,使学生既获取新知识,又受到知识创新和科学研究方法的必要训练。后者是指学生课外学习活动的研究性,即通常所说的研究性学习。学生在教师的指导下,通过拟定相关研究课题,以科学研究的方式主动搜集信息、获取知识、应用知识、解决问题的一种独创性学习活动,它是课堂研究性教学活动的延伸。研究性教学注重发挥学习主体的能动作用,把发展探索能力、实践能力、创新能力放在首位,所以它是一种现代型的教学方法[2]。

3研究性教学的三种模式

研究性教学是一种新型的教学组织形式。在高校,研究性教学有三种模式“问题解决模式”、“自主研究模式”和“课题参与模式”[3]。前者一般适合于课堂研究性教学,后面两种一般适合于学生课外研究性学习。

3.1问题解决模式

这一模式是结合大学生的身心特点和知识发展水平,借鉴前苏联的马赫穆托夫提出的理论总结出来的,即教师创设问题情境学生提出问题搜集科学事实探求解题方法得出科学结论运用新知识。

3.2自主研究模式

自主研究就是学生独立从事和完成某项课题的整个研究过程。其程序是:学生发现问题确定题目搜集资料并制定研究计划分析资料并实施研究计划撰写研究报告。指导教师不会直接参与其中,只是在必要时给予一定的原理指导。

3.3课题参与模式

这一模式是指学生参与教师的课题研究,从中进行科学学习、科学探索和科学实践的一种活动。在严肃缜密的科研氛围中,学生们可以获得在传统式教学中获取不到的宝贵经验和成长体验。

对于模式而言,并没有适合于各门课程的学模式,在实施过程中,必须根据具体课程的特点作具体的分析和研究,以便采取有效的策略。

4研究性教学的实践

“编译原理”是一门专业基础课,是计算机学科的核心课程,理论性和实践性都很强。近几年,我们围绕如何提高教学质量,对开展“编译原理”研究性教学作了一些有益的尝试和探索。

4.1研究课程内容特点,构架科学的教学内容体系

教师应从初学者的角度,经过比较和分析,选择出一套适合初学,内容体系和结构相对合理,又能反映出学科水平和发展趋势的理想教材,这个过程本身就是一个研究过程。在教学内容上应不局限于一本教材,结合其他参考资料,认真研究、认真提取,构架本课程的教学内容和课程体系,内容上要体现基础性、先进性、前沿性,这是研究性教学的首要任务。

“编译原理”这门课程涉及的理论较为抽象,初学比较困难,因此我们比较和分析了国内外多种教材的内容,选择了初学较为容易,同时内容和结构比较合理的陈火旺院士编写的教材,结合其他国外经典教材,构建了科学合理的“编译原理”教学内容体系。

4.2组织教学内容,精心挖掘研究性问题

“问题”是研究性教学的载体,也是研究性教学的切入点,提出要研究的“问题”,充分挖掘可供研究的题材,是组织好研究性教学的首要环节。一般来说,凡是具有智力挑战和教育价值的问题,都可以作为研究性教学的题材。

“编译原理”课程在教学内容上适合建立“问题空间结构”,也就是将理论和原理产生的需求背景和所要达到的目标抽象为一个个“问题”。每一个“问题”又进一步划分成“子问题”。在此基础上安排教材章节、电子版素材和“问题”之间的对应关系。“编译原理”课程大致可从以下三个方面挖掘问题:

(1) 理论和原理出现的背景和联系。比如,“编译原理”课程的词法分析的理论基础是形式语言与有限自动机理论,这部分内容的教学可以引导学生思考为什么研究程序语言的形式化定义,形式语言与有限自动机之间的关系以及形式语言与有限自动机理论如何应用到词法分析过程中等一系列问题。再比如含有空串和不含空串的非确定有限自动机之间存在什么联系,为什么要转换为确定的,非确定的和确定的有限自动机之间有何联系,等。设计这些问题可以启发学生思考,加深对理论的理解,提高将理论应用到实际中的能力。

(2) 研究学科发展动态,了解前沿研究中涌现出来的新问题。“编译原理”包含的内容广泛,随着语言和计算机体系结构的发展,编译的新理论、新方法、新的研究领域不断出现。研究性教学要求教师不断跟踪学科的研究前沿,用前沿的研究成果来不断地更新和充实课程的教学内容,让学生掌握更新的知识,教师应尽量把前沿成果组织成为适应学生知识结构的研究性题材,比如现代体系结构下的编译原理以及当前流行的开发环境,等。教师要根据学科发展前沿给学生必要的指导,有兴趣的学生可以课后查阅资料学习。这种方式对学生的分流培养,构建不同的培养模式很有意义。

(3) 分析与其他课程内容的联系。随着科学原理的迅猛发展,学科之间的相互交叉与渗透日趋明显,“编译原理”课程与“数据结构”、“操作系统”、“高级程序设计语言”等先导课程关系密切,因此在进行“编译原理”课程的研究性教学过程中,适当组织一些与其他课程相联系的研究性题材,对于开阔学生的知识视野,丰富和完善学生的知识结构,培养学生联系的观点和发散性思维有着特别重要的意义。例如,“编译原理”课程自顶向下语法分析有两类方法:递归下降分析法和非递归的预测分析法。在对这部分内容的教学中可以结合程序设计语言的相关内容设计问题。在比较这两种方法在自顶向下语法分析中的不同点的基础上,引导学生归纳递归程序和非递归程序的设计方法,进而解决实际问题。

4.3学生的研究性学习与实验教学相结合

研究性学习在大学教学中的实施一般可分为三个阶段[4]:进入问题情景阶段、实践体验阶段和表达交流阶段。

我们注重学生自学和动手能力的培养,把学生的研究性学习与实验教学进行了结合。实验教学是教学的重要组成部分,是学生深入理解课堂教学内容以及掌握实践技能的重要环节。在深入研究实验教学的内容体系、实验过程和实验方法的基础上,我们将实验分为三种类型:一是验证知识型实验。这部分实验内容,强调基础性和系统性,以验证知识、帮助理解课程基本知识和实验基本技能为主。二是设计型实验。这种研究设计过程既是理论与实践相结合的过程,又是自己进一步学习的过程。引导学生分析问题、解决问题,逐步培养学生的科研能力。三是分析综合型实验。利用流行编译器的开放源码,使学生分析编译器的整体结构,学生可以对其中的子程序进行修改,从整体上加深对整个编译程序的理解。最后,学生与学生之间、学生与老师之间对出现的问题相互讨论,使学生更全面的思考和理解问题。

4.4研究教学方法,实现教学手段的多样化

我们在“编译原理”教学中,主要从以下几个方面尝试和探索教学方法的改进:

(1) 开展多媒体教学,实现教学手段的现代化。首先“编译原理”课程内容讲解采用以“问题”为导向的递进式,首先将各个基础层次的内容讲清楚,引出“问题空间”,其次分析同类方法的异同点。比如自底向上语法分析包括算符优先分析、LR(0)分析、SLR分析、LR(1)分析和LALR(1)分析。这些分析方法的模型大体相同,均采用移进-规约思想,不同点在于构造分析表的方法不同,通过多媒体教学,以动画的方式形象生动地对工作过程进行演示,从而把过程讲清,把原理讲透。

(2) 探索网络教学方法,提高教学水平。根据“编译原理”课程的特点,进行网络教学资源平台的建设,为学生的学习提供丰富的参考资料和教学指导。通过网络教学平台综合学生问题,在归纳分析的基础上,不断改进教学。

(3) 开展丰富的课外教学活动,提高学生的综合能力。比如引导学生课下收集当前流行的编译器的资料,分析不同开发环境下的翻译原理的区别。通过这种方式不仅使学生在搜集资料的过程中,锻炼了自学能力,同时也为今后的工作就业打下了基础。

开展研究性教学的效果,主要依赖于教师的主导作用和学生的主体作用的发挥。因此,在开展研究性教学的过程中,教师一方面要注意研究性教学的具体实施策略;另一方面要注重学生的研究性学习,调动学生参与探究活动的热情和积极性。总之,在实践培养创新人才的研究性教学模式中,我们要不断探索,努力把研究性教学模式对于激发学生学习兴趣、增强学生创新意识、提高学生创新能力所具有的积极作用挖掘和发挥出来,更好地提升人才培养的质量。

参考文献

[1] 潘懋元,王伟廉主编.高等教育学[M].福建教育出版社,1995.

[2] 龙跃君.高校研究性教学的价值反思与内涵解读[J].中国大学教学,2006,(6):22-23.

[3] 曹娟.关于高校实施研究性教学的理性思考[J].现代大学教育,2002,(6):111-112.

[4] 李浩.研究性学习在大学教学中的探索和实践[J].河南教育,2006,(6):27-28.

收稿日期:2007-07-06

作者简介:

刘兵(1981-),男, 河南永城人,讲师,硕士,研究方向:图像压缩、数字水印、编译技术。

姜淑娟(1966-),女,山东莱阳人,教授,博士,研究方向:程序设计语言、编译技术。

上一篇:计算机基础课实践教学改革探究 下一篇:操作系统课实验项目分析