北京工业大学 编译原理 国家级精品课程

北京工业大学 编译原理 国家级精品课程

  蒋宗礼

 

北京工业大学为北京市属的国家“211工程”建设大学,旨在为北京市的建设培养高水平的工程应用型人才。计算机科学与技术专业致力于培养计算机专业的工程应用型人才,学生将具有较扎实的基础理论、专业知识和基本技能,具有良好的可持续发展能力。所以特别强调编译原理中抽象和设计形态的内容,淡化推导等理论形态的内容,着力培养学生的系统能力,以及理论结合实际的能力,而且要强调对学科基本特征的体现。

  计算学科问题求解的基本思路是“问题、形式化描述、计算机化”,以抽象、理论、设计为其学科形态。编译原理涉及的是一个比较适当的抽象层面上的数据变换,既有明确的、便于抽象的问题,又有较成熟的理论,而且在限定规模下又容易实现(设计),所以编译原理是计算机专业本科生的重要专业技术基础课程,属于教学计划中四大系列之软件技术系列。除了相应的知识对计算机学科的人才非常重要外,其中的一些基本的问题求解方法、处理问题的思路也是非常重要的,而且广泛地用于一些新的研究领域。该课程的内容对于培养学生的计算思维、程序设计与实现、算法设计与分析、计算机系统的认知、开发和利用等4大学科基本能力非常重要,是在程序设计、数据结构与算法等课程中受到一定的锻炼后,从系统的级别上对程序、算法的认识进行再提高。Alfred V.Aho在《编译原理》的开篇曾写道“编写编译器的原理和技术具有十分普遍的意义,以至于在每个计算机科学家的研究生涯中,本书中的原理和技术都会反复用到” 。
  总体上,我们希望学生掌握“编译原理”中的基本概念、基本理论、基本方法,在系统级上再认识程序和算法,提升计算机问题求解的水平,增强系统能力,体验实现自动计算的乐趣。
(1)             体现学科特点
  编译原理的基本内容是比较成熟的,其理论性强,同时还可以设计出适当的实践活动与之配合,既有基本的问题求解,又是一个具有相当规模的系统,加上它的描述的形式化,又有利于强化学生“计算机问题求解”的基本能力培养。但是,形式化给学生初学时带来了一定的理解困难。因此,要求学生掌握基本的理论和分析方法,并学习如何实现这些理论和分析方法,在实现过程中进一步理解这些理论和分析方法。充分体现本学科理工结合、理论与实践紧密结合的特点。
(2)             培养学生能力
  计算机科学与技术专业的人员应该具有 4种基本的专业能力,它们为:计算思维能力,算法的设计与分析能力,程序设计和实现能力,计算机软硬件系统的认知、分析、设计与应用能力。本课程在于继程序设计、数据结构与算法等课程后,从系统级引导学生再认识程序、算法,同时促进学生系统能力的培养。
       掌握程序变换基本概念、问题描述和处理方法
  这些方法主要有:自顶向下、自底向上、逐步求精、递归求解,目标驱动,问题分析、问 题的抽象与形式化描述,算法设计与实现,系统构建、模块化等方法。这些都是本学科最经典、最常用的问题求解和系统设计方法。
       修养“问题、形式化描述、计算机化” 这一典型的问题求解过程,推进从“实例计算”到“类计算”和“模型计算”的跨越。
  计算机学科发展到今天,早已经从一些单一的具体问题的求解发展到对一类问题的求解,也就是寻求一类问题的系统求解。完成单一的具体问题的求解的计算称为“实例计算”;完成一类问题系统求解的计算为称“类计算”。当然,在“类计算”中,一大部分高层次的计算是“模型计算”。这是区分于其他专业的学生的重要方面之一。学生的培养,通常都是从“实例计算”开始,逐渐推进到“类计算”,实现学生“计算”理念的跨越。
      增强理论结合实际能力,获得更多的“顶峰体验”。
   “编译原理”是理论和实践结合最好的计算机课程之一,不仅含有恰当的理论知识,而且直接涉及到这些理论的实践,让学生亲历理论结合实践的乐趣,使优秀的学生获得更多的“顶峰体验”,培养他们理论结合实际的能力。
       从宏观到微观、从微观到宏观,培养系统能力。
  站在系统的全局去看问题、分析问题和解决问题,并实现系统优化。经验表明,培养学生以系统的观点去看问题,是非常重要的,也是比较困难的。可称之为“系统”能力。软件技术系列课程接在程序设计与算法系列之后,实现学生的系统认知、分析、设计和应用能力的培养,并使学生进一步在系统级别上认识程序和算法。
  “编译系统”虽然是一个相当规模和相当复杂度的系统(含总体结构),但对问题本身的分析和处理的分解非常清楚,使得其规模和复杂度可控,宜于让学生掌握,通过教师的引导,强化学生系统能力的培养,这对应用型计算机专业人才非常重要。
        开展研究型教学,培养学生的创新能力。
 开展研究型教学,挖掘知识背后的内容,通过讲授思想、方法,模拟大师们的创新思维,培养学生的创新意识和创新能力。
(3)             教学要求
基本知识:经过本课程的教学,首先要使学生掌握课程教学大纲中规定的一些基本概念、基本理论和基本方法。特别是通过教师的讲授,使学生能够对这些基本概念和理论有更深入的理解,有能力将它们应用到一些问题的求解中。要注意对其中的一些基本方法的核心思想的分析,使学生能够掌握其关键。
能力培养:从提出问题,到求解思路分析,再到用符号表示问题及其求解算法,进一步培养学生抽象表示问题的能力和对“一类”问题进行求解的意识和能力;从系统的角度向学生展示编译系统,同时考虑各子系统的实现与联系,通过不同级别的抽象和问题的分治,培养学生的系统意识和能力。
实验教学:在学生掌握基本原理的基础上,在编译程序总体结构的导引下,通过设计出词法分析器、语法分析器,语义分析与中间代码生成器,构建一个限定高级语言的翻译器。要求学生完成相关算法和数据结构的设计,并用自己偏爱的语言完成实现,最后提交规范的实验报告。
教学手段与方法:合理利用多媒体技术,配合适当板书,增加课程信息量,提升教学效果;开展网络教学,为学生学习提供多种途径;开展研究型教学,为学生提供更多的顶峰体验的机会,培养学生的学科能力、创新能力;从具体问题求解到系统构建,向学生传授基本学科方法,培养其系统能力。

你可能感兴趣的:(北京工业大学 编译原理 国家级精品课程)