KM 教学法在编译原理课程中的探索与实践
2021-04-15邹长军管莉莉易钰程
邹长军 管莉莉 易钰程
【摘要】针对《编译原理》课程教学中所面临的问题,本文将KM教学法引入编译原理课程的教学实践中。将编译原理相关课程知识体系结构化,以整体—部分—整体为教学模式。将编译器所涉及的相关知识点以逻辑思维导图形式呈现,用这种方式可以直观、简洁地进行抽象知识的传授,使得该课程的知识体系逻辑结构清晰、明了,使学生融会贯通。同时便于学生举一反三,将所学理论知识与实践相结合。
【关键词】KM教学法 编译原理 思维导图
【基金项目】国家自然科学基金(NO.62162027);九江市重点研发计划(项目编号:2020069)。
【中图分类号】G642.0 【文献标识码】A 【文章编号】2095-3089(2021)43-0192-03
编译原理课程是计算机专业中一门具有较强工程实践性的学科,主要包括算法和软件工程两方面内容。主要让学生掌握编译器基本原理的,从编译器的工作原理出发剖析编译器的基本构成和工作原理,培养学生从底层构造一个编译器的工程实践能力。由于计算机学科是一门快速发展的学科,相关工具软件更新换代频繁,学生普遍忽略对基础的掌握,反而热衷于当前的热点领域。且编译原理课程所涉及领域较多,如汇编语言、算法与数据结构、软件工程理论等。同时,该课程比较抽象、算法设计复杂,学生普遍缺乏兴趣。加之该课程相关章节之间联系紧密,一旦其中某个章节掌握不牢,后续章节不容易跟上节奏。因此,根据教学实践中遇到的以上诸多问题,提出将KM教学法[1-2]引入到编译原理课程的教学中。尝试构建编译原理课程的知识逻辑架构图以及相应思维导图,并将它们贯穿到整个课程的课堂教学中,促进学生对编译原理课程学习的积极性,提高课程教学质量[3-4]。
1.KM 教学法介绍
KM教学法是杨炳儒教授经过多年的教学实践总结出来的一种创新型的教学方法,基本思想是首先掌握课程的总体架构,然后再去了解课程中的每一部分,最后再从总体上去把握。KM 教学法中的KM分别是“知识逻辑结构”(Knowledge Logic Structure,KM)与“思维导图”(Mind Mapping,MP)的英文字母开头的缩写。其中知识逻辑结构区别于教材中固有的知识结构,是跨越章节的、横向的基本思维形式。MP是一种具有发散思维的表达转换过程,学生能够借助MP来提高思维的能力。并且随着学生思维不断的深入,可以逐渐建立一个有意义的思维导图。思维导图体现了大脑的自然思维方式,能让多种观点自然地在MP图上进行表达,加强记忆。可以在创建思维导图的过程中使用不同颜色、不同形状,使得负责逻辑思维、词汇表达、数字运算的左脑结合负责直觉、创造力和想象力的右脑,并进一步激发右脑的潜能。
KM教学法其本质就是:将知识逻辑结构与MP相融合的全新教学方法,是一种分类、推导、证明、反驳、归纳相结合的思维导图,并通过这种方式去组织整个教学过程的一种教学方法[5-9]。
2.KM教学法基本模式
KM教学法基本模式是按照搭建粗框架、展开填充、启发诱导、按照章节、跨章节的步骤展开。
(1)首先给出按章节的总体粗框架结构,展现各章节之间的内容联系。(2)本着精炼的原则,按照章节展开重点、突出难点、呈现关键内容。(3)遵循思维导图等形式,并开展启发式的诱导。(4)按照KM方法建立逻辑夹头,按照章节的形式凝练出总体架构,体现丰富生动的知识点,展示它们之间的复杂内在联系。(5)对于具有逻辑联系的章节进行对比,通过扩展性、跨章节的KM来加以实现。
该模式也体现了教学过程中交互的“薄-厚-薄”模式。即从加涅提出和发展的信息加工方面来看,先给学生“薄”的信息感受,快速建立全局的整体框架;再进行逐步展开予以扩充,启发诱导形成“厚”的涵盖核心内容(重点、难点、关键)的信息载体;最后使学生从厚重的载体中构建出充满了丰满内在联系的“薄”的总体架构[10-12]。
总括出的知识系统可以用“图表”的形式概括,具有结构清晰、融会贯通、直观形象等特点。通过它,可以使我们对知识的全貌有一个宏观的认识,并且厘清所归纳出的幾条线索;这样只要牵动一点就可以带动一串,便于记忆与运用。按照这种模式组织的教学过程,可以使学生不断取得认识上的“飞跃”[13-15]。
3.KM教学法在编译原理课程中的应用
编译原理是计算机专业的一门重要专业课,课程要求学生了解计算机高级语言流程序被计算机接受、扫描、词法分析、语法分析、语义解释执行的原理与过程;掌握编译的原理和基本算法、各种概念和语言描述。
以清华大学出版社出版的《编译原理》第三版为例,全书主要内容共分10章,按逻辑功能不同可将编译过程划分为五个基本阶段,分别是第一章的引论,第二章、第三章的词法分析,第四章~第六章的语法分析,第七章、第八章的语义分析和中间代码生成,第九章、第十章目标代码生成和优化组成,基本知识点的逻辑架构如图 1所示,通过该架构图可以非常直观地了解编译原理课程的整个知识点之间联系,方便学生建立整体框架,做到通过“薄”的内容建立骨架结构。与此相对应,我们将整个编译过程的编译程序划分为五个逻辑阶段(即五个逻辑子过程),如图 2所示。
其中,词法分析任务是分析和识别单词,并以某种编码形式输出。其中单词是语言的基本语法单位,一般语言有四大类单词分别为:①语言定义的关键字或保留字;②标识符;③常数;④分界符(运算符)。
语法分析任务是根据语法规则(即语言的文法),分析并识别出各种语法成分,如表达式、各种说明、语句、过程、函数等,并进行语法正确性检查。
语义分析任务:对识别出的各种语法成分进行语义分析,并产生相应的中间代码。生成中间代码的目的: ①便于进行优化处理;②便于编译程序的移植和重用。
由语法分析识别出赋值语句,语义分析首先要分析语义上的正确性。根据赋值语句的语义,生成中间代码。即用一种语言形式来代替另一种语言形式,这是翻译的关键步骤。
由中间代码很容易生成目标程序(地址指令序列)。这部分工作与机器关系密切,所以要根据特定机器进行。
通过该编译过程逻辑结构可以方便学生掌握在编译的每个阶段,编译器分别执行了什么操作、其对应的输入、输出分别是什么,每个阶段的前驱步骤和后继步骤分别是什么,达到进一步丰富骨架、填充肌肉而实现“厚”的目标。
所谓编译过程是指将高级语言程序翻译为等价目标程序的过程。根据编译程序各部分功能不同,可将编译程序分成前端和后端(图3)。编译前端:与源语言有关,与机器无关的优化。编译后端:与目标机器有关,与目标机有关的优化及目标代码产生。通过对编译前端后端的梳理,可以进一步梳理总结编译过程的逻辑结构,通过梳理厚的“薄”框架,让学生进一步建立基本框架。通过以上三个步骤实现了“薄—厚—薄”整个流程的闭环,建立整体形象;使学生从厚重的载体中构建出充满了丰满内在联系的“薄”的总体架构。
4.结论
针对理论性较强,学习难度较大的 “编译原理” 课程,文章创造性地提出了基于KM教学法的课程教学改革具体方法。KM方法更利于学生了解和掌握编译原理相关知识及其之间的联系,并且,今后的课程实践教学中,我们将更多地使用KM教学法来进一步提高该课程的教学质量。
参考文献:
[1]杨炳儒.KM教学论研究与实践[J].北京科技大学学报:社会科学版,2012(1):93-96+149.
[2]周法国,张帆,杨炳儒.基于KM教学论的面向对象程序设计教学研究[J].教育研究前沿:中英文版,2015(2):17-22.
[3]张帆,杨炳儒.KM教学法在“数据结构”课程中的研究与应用[J].基础教育研究, 2010(24):21-22.
[4]杨炳儒,张桃红.理工科课堂KM教学法研究[J]. 现代大学教育,2006(4):83-85.
[5]张艳明,桂忠艳,孙尧.结合微课的KM教学法在计算机基础教学的应用[J].微型电脑应用,2019,35;No.315(7):5-7.
[6]田毅,贾永旺.KM教学法在离散数学中的应用[J]. 计算机教育,2019,No.289(1):37-39.
[7]尹芝.知识可视化下KM教学法的研究和应用[D]. 沈阳师范大学,2011.
[8]舒文豪,钱文彬,杨珺.KM教学法在《软件工程》课程中的教学实践[J].教育教学论坛, 2017(51):191-192.
[9]李忠慧.结合认知结构的KM教学法在C语言教学中的应用[J].计算机时代, 2019, 321(3):68-70.
[10]Liu SH, Lee GG. Using a concept map knowledge management system to enhance the learning of biology[J].Computers&Education,2013(68):105-116.
[11]Hwang GJ,Yang LH.A concept map?鄄embedded educational computer game for improving students’ learning performance in natural science courses[J].Computers&Education,2013(69):121-130.
[12]Groth RE, Bergner JA. Mapping the structure of knowledge for teaching nominal categorical data analysis[J].Educational Studies in Mathematics,2013,83(2):247-265.
[13]Knowledge Visualization:Towards a New Discipline and its Fields of Application. Eppler M J,Burkhard R A. Cities, 2004.
[14]仲旦彥,陈玉荣.知识结构具象化的《会计学》教学创新实践研究——基于KM教学法[J].教育现代化, 2019(48).
[15]孟祥军,石瑾,张馨,等.提高结构化学课程教学质量的实用方法——基于“KM教学法”开发“知识逻辑结构呈现式”课件[J].高分子通报,2015(8):123.
作者简介:
邹长军(1987年-),男,讲师,博士,主要研究计算机图形学、虚拟现实技术。