浅谈在编译原理教学中知识意义的建构

时间:2022-09-26 05:48:24

浅谈在编译原理教学中知识意义的建构

摘要:在编译原理教学中,不仅仅应当注重正规式、上下文无关文法等描述文法规则的概念及相关判定算法,更重要的是培养学生根据规则给出判定算法的能力。后者在传统教学中主要通过知识传授灌输的方法实现,但效果欠佳。这种能力的培养需要在规则的意义及算法思想之间建立联系,可视为一种知识意义的建构。因此,本文尝试将建构主义教学模式和教学方法应用于这种能力的培养。

关键字:编译原理;知识意义;建构主义

中图分类号:G642.3 文献标志码:A 文章编号:1674-9324(2014)50-0208-02

编译原理是计算机科学与技术专业的一门重要专业课程。该课程的目的是让学生了解编译程序构造的一般原理、基本设计方法和主要实现技术,从而让学生了解将高级程序设计语言源程序翻译成计算机能处理的目标代码语言的整个过程。该课程兼具抽象程度高和实践性强两大特点。在教学过程中,其抽象性为学生的学习带来很大困惑。例如,编译原理采用正规式、上下文无关文法等形式概念描述词法规则和语法规则等。这种描述方式迥异于本科生在之前学习中接触到的规则描述形式,学生初次接触此类概念时较难将概念与其意义联系起来,形成直观而清晰的印象。另一方面,其算法借助自动机等概念予以刻画。对于学生而言,这些计算机领域的经典抽象概念的理解本身就较为困难,将其视为算法并据此实现程序则更为困难。上述种种导致学生较难建立规则与判定算法之间的联系,从而无法深入理解根据规则构造算法的基本思想,往往只能停留在牢记概念、牢记算法的层面,将描述规则的概念与其判定算法割裂开来,不能形成联系,无法实现自身对知识意义的建构,这使得编译原理的学习既显得枯燥乏味,又无助于学生程序设计思维能力的培养。有鉴于此,本文尝试将建构主义学习理论应用于编译原理的教学中,以期能够帮助学生实现相关概念、算法等知识的意义建构。

一、建构主义教学模式和教学方法

建构主义的基本思想早在18世纪就由哲学家维柯提出。他认为:人们只能清晰地理解他们自己建构的一切。建构主义在认知领域最早是由心理学家皮亚杰引入并将其发展为认知领域建构主义学派,一般将其称为日内瓦学派。皮亚杰指出,知识既非来自主体,也不完全来自客体,而是在主体与客体的交互中建构起来的。在此学派中,科尔伯格就认知结构的性质与认知结构的发展条件等问题展开了研究;斯腾伯格和卡茨等人深入研究了认知过程中个体的主动性作用,他们认为个体的主动性在认知结构的建构过程中会发挥关键作用。以维果茨基为首的维列鲁学派的研究对于理解建构主义也有重要作用。他们认为社会历史文化背景对个体的学习发展起到重要的支持和促进作用。他们将各种背景下获得的日常经验称为“自下而上”的知识,将课堂教学中的知识称为“自上而下”的知识,只有二者发生联系并相互作用才能真正成为个体所掌握的知识。建构主义认为,学习的最终目标是完成知识的意义建构,即理解事物的性质和规律,并建立事物之间的内在联系。因此,建构主义学习理论强调以学生为中心,要求教师改变原有的知识传授者与灌输者的角色,要求教师作为情景设计者为学生提供建构知识意义所必须的教材、媒体、环境,并据此构筑知识框架,要求教师辅助学生完成知识意义的建构;要求学生发挥更多的主体作用,从知识的接受者和灌输对象的角色转变为知识意义的主动建构者。基于上述思想,文献[1]中将与建构主义理论适应的教学模式概括为:“以学生为中心,在整个教学过程中由教师发挥组织者、指导者、帮助者和促进者的作用,利用情境、协作、会话等学习环境要素充分发挥学生的主动性、积极性和首创精神,最终达到使学生有效地实现对当前所学知识的意义建构的目的”。在这种教学模式的指导下,多种教学方法被提出,例如,支架式教学、抛锚式教学等。本文将介绍支架式教学和抛锚式教学在编译原理教学中的应用。

二、建构主义教育模式下的编译原理教学

(一)支架式教学方式的应用

支架式教学方式的理论基础来源于维果斯基的“最邻近发展区”理论。这一理论区分了学生当前的解决问题能力和教师指导下可能拥有的解决问题能力,维果斯基将这种差距称为最邻近发展区。按照这种理论,教学既要考虑学生当前的解决问题能力与期望其拥有能力之间的差距,要使得学生能够跨越这种差距;又不能一味消极地迁就学生当前的能力,而应当恰当为其树立更高的目标,不断地提高其能力。支架式教学方式主要用于克服学生当前能力与期望能力差距过大的困难。为此,建构主义者提出了概念框架的思想,为学生当前能力与期望能力之间建立若干概念节点,这些节点组成概念框架,学生可以沿着这个概念框架由当前的解决问题能力过渡提升获得期望其拥有的能力。支架式教学方式由以下三个环节组成:搭脚手架(分解问题,按子问题难易程度组合,使学生能够循序渐进),进入问题情形(让学生由简单问题入手,逐渐过渡到更深入的问题),独立探索(由学生自己总结已经获得的信息和知识,完成意义建构)。支架式教学方式可用于在上下文无关文法相关概念和推导能力的教学培养中。上下文无关文法作为一个抽象的语法规则描述形式,其概念及衍生而来的推导、二义性证明等对于初学者都是较难理解的。为此,按照“最邻近发展区”的思想,将上述问题分解为:自然语言的规则描述、自然语言句子的推导、程序语言的规则描述、程序语言的句子推导、上下文无关文法描述语法规则、上下文无关文法下的推导等若干由具体到抽象的问题。这些问题及概念就为该知识点构建了一个概念框架。进而,学生由自然语言的语法规则这个非常熟悉的领域和问题入手,逐步按照上述问题次序,步步深入问题情形,从而理解相关概念。在这个问题深入过程中,大多数问题的解决都可以由学生自行总结和完成。换言之,除了个别抽象概念的解释,学习过程的大部分可以由学生独立探索完成的,这样对于学生相关知识意义的建构有很大的帮助。

(二)抛锚式教学方式的应用

抛锚式教学方式又被称为基于问题的教学,其关键在于确定一个对学生有吸引力的问题,这个问题一般来源于实际,而不是抽象的某个教学知识点。当这个问题确定,学生的兴趣被引导到问题中来,则教学内容和教学进程也将围绕这个问题展开。因此,这个问题被称为“锚”。抛锚式教学方式可以包含如下环节:创设情境,确定问题,自主学习,协作学习等。其中,最重要最核心的环节在于确定一个“有趣”的问题。所谓“有趣”的问题可能是在实际情景中遇到的问题,也可能是工作学习中困惑很久的问题。对于大学生专业课的教学而言,这种问题更多的是学生在教学实践或实习环节中遇到的问题。在编译原理的课程内容中,有很多算法都可以直接用于解决平常遇到的编程问题。但在传统的教学中,往往将重点放在算法的介绍上,而较少提及该算法在编译程序构造之外的用处,这使得学生对于相关算法的学习缺乏兴趣。所以,抛锚式教学方式可以在一定程度上解决这个问题。即,在介绍算法时,首先介绍一个日常编程所可能遇到的问题,然后围绕该问题将算法作为一种解决思路教授给学生,再由学生自行利用该算法解决实际问题。采用这种方法一方面可以吸引学生的注意力,使其对所学内容产生兴趣;另一方面,学生通过使用该算法解决问题帮助学生理解和掌握算法。这种方法可以用于编译原理教学的很多方面。例如,在词法分析相关内容学习中,正规式概念用于描述词法规则,而自动机用于描述算法。学生可能对于抽象的词法规则没有直观的概念,所以不感兴趣。为了克服这个障碍,在教学中提出了一个对学生有吸引力的问题:“满足什么规则的字符串是一个合法的用户名,如何判定?”这个问题在网站、信息管理系统等程序设计中经常遇到,对于学生是有吸引力的。基于此问题,正规式作为描述规则的概念被引入,确定型自动机作为判定算法的描述媒介被提出,在教授和学习过程中,步步紧扣这个问题。在介绍了正规式概念之后,由学生自己给出一个正规式用来描述合法用户名所应满足的规则;而后给出正规式到确定型自动机的转换方法后,交由学生自行完成描述合法用户名的正规式到相应自动机的转换;最后,学生根据该自动机独立完成判定程序的设计与实现。在上述过程中,除了部分抽象知识需要教授外,很多工作和内容都是由学生自行完成和实现的。这样做,一方面可以充分调动学生的兴趣和积极性,另一方面,通过实践可以使学生将抽象的概念与具体问题联系在一起,完成知识意义的建构。然而,需要指出的是,抛锚式课程对教师提出的最大挑战之一就是角色的转换,即教师应从信息提供者、转变为“教练”和学生的“学习伙伴”。当选择的问题超出教师的能力范围时,教师也变为了学习者。此时,教学进程将变得不可控,可能无法完成“教学大纲”对教学进度和内容的要求。因此,在选择问题时需要非常慎重,要顾及学生的学习经历和兴趣,既不能脱离教学内容太远,也不能超出学生能力太多,在这方面还需要更多的研究和尝试。

编译原理作为一门专业性抽象性较高的课程,一直是本科教学的难点。在其教学过程中,学生通常会有无法理解相关概念和算法的问题,也会有学习这些有什么用的问题。前者是由该课程的抽象性决定的,后者则是由于教学中侧重算法概念介绍而不介绍算法应用情形。为了解决这些问题,本文将建构主义教学理论和教学模式引入编译原理的教学中。采用这些方法,可以使学生将抽象的概念与具体现实问题紧密地联系起来,可以帮助学生更好地掌握相关概念和算法,并促进培养其根据规则给出算法的能力。在过去几年的实践中发现这些方法是切实可用的。甚至在毕业学生已经忘记具体概念和算法后,仍然能够回忆起其思想和方法,这对于面向程序的思维能力的培养而言是成功的。在这些成功的鼓舞下,我们将来的工作中将更多地尝试新的教学模式,使编译原理这门课程不再成为学生眼中的“天书”,而是一门可以帮助他们更好地理解计算机思维的课程。

参考文献:

[1]何克抗.建构主义的教学模式――教学方法与教学设计[J].北京师范大学学报,1997,(5):74-81.

上一篇:质性研究在我国护理学研究生学位论文中的应用... 下一篇:优化我国高职院校人才培养模式的建议