课程设计在编译原理课程教学中地位和作用

合集下载

论编译原理在程序设计类课程建设中的重要作用

论编译原理在程序设计类课程建设中的重要作用

论编译原理在程序设计类课程建设中的重要作用摘要:阐述程序设计类课程群在计算机专业教学中占有的重要地位,探讨课程群中课程之间密切的关联关系,提出以编译原理课程为重心,按照专业能力培养的需要,充分利用这些关联关系,有效提升整个课程群的教学效果。

关键词:程序设计课程群编译原理关联关系效果提升文章编号:1672-5913(2011)18-0027-02 中图分类号:G642 文献标识码:A计算机程序设计(简称“程序设计”)是计算机科学与技术专业人才最基本的专业能力,计算机专业程序设计类课程群也就自然成为计算机专业教学的重心,在“实现计算机问题求解”这一最终的专业教学目标的实现过程中发挥着至关重要的作用[1]。

一般来说,计算机专业程序设计类课程群包括“C语言程序设计”、“面向对象程序设计”、“数据结构与算法分析”和“编译原理”等计算机专业必修课及“形式语言与自动机”、“C++程序设计”等选修课程。

它们以“程序设计”为中心形成了一个有机整体。

而其中的编译原理课程因其涉及计算学科抽象、理论、设计三个形态,含有基本问题求解的典型思路和方法,是继程序设计、数据结构与算法分析等课程后,从系统级再认识程序、算法最恰当的知识载体,将使学生的程序设计能力得到升华,并促进系统能力的提升,这些使得该课程在整个程序设计教学中扮演着无可替代的重要作用[2]。

因而,以编译原理教学为核心探索程序设计课程群教学体系的构建,对于深化教学改革、促进学生计算机专业基本能力的培养具有重要的现实意义。

1 编译原理在程序设计类课程教学中的重要地位计算学科是对信息描述和变换算法的系统研究,主要包括它们的理论、分析、效率、实现和应用;计算学科的根本问题是什么能且如何被有效地自动计算。

计算学科问题求解的基本思路是“问题、形式化描述、计算机化”。

编译原理(即程序语言的实现原理)涉及的是一个比较适当的抽象层面上的数据变换,既有明确的、便于抽象的问题,又有较成熟的理论,而且在限定规模下又容易实现(设计),所以编译原理是计算机专业本科生的重要专业技术基础课程,属于教学计划中四大系列之一——软件技术系列。

浅谈编译原理课程的定位

浅谈编译原理课程的定位

0 引 言
编译原 理课程是高等学校计算机专业的课程 ,

以看 出 , 这种 情 况下本 课 程正 在 退 出其核 心地位 。 ()本课 程 的课 程 名 称 与 内容 出现 了分 化 , 2 课
程 名称 强调 理论 性 和 普 遍 适 用 性 , 课 程 内容针 对 而 小 型 编译器 的实 现 。可 以认 为 , 与课 程 内容相 比, 本 课 程 的名称 给人 留下 了更 多 的想 象空 间 。
程 的地位 依 然稳 固 。
()这 门课 程 与 其 他 多 门课 程 内容 上 发 生 重 3 叠, 导致 或者 将本 课 程 看 作 是 相 关 课 移 动 到 本 课 程
中。这 些造 成 了课 程 内涵模糊 、 程 之 间关 系不 清 。 课
关 键 词 : 译 原 理 ; 程 定 位 ; 程 体 系 ; 纲 设 计 编 课 课 大
中图分类 号 : 6 2 G 4
文献标 识码 : A
文章编号 :0 7 2 4 2 1 )4 1 3 5 10 —3 6 {0 0 0 —0 4 —0
者 被简 化 , 即只 涉 及 到 编 译 器 前端 的部 分 内容 。可
要 。科学发展和人才培养 目标决定 了本 门课程对计 算机专业人才培养所起作用正在发生变化 , 人们对 该课 程 定位 存在 着 不 同 的看 法 , 简单 归 类如 下 :
( )本课 程在 一些 学 校 的课 程体 系没 有 出现 或 1
收 稿 日期 :0 0—0 —0 21 6 7
21 0 0年 7月 第1 5卷 第 4期
西 安 邮 电 学 院 学 报 J UR LOFXIA UNI RST O NA ’N VE I YO OS SA DTE E OMMU C TI NS FP T N LC NIA O

编译原理课程设计总结心得

编译原理课程设计总结心得

编译原理课程设计总结心得一、课程目标知识目标:1. 理解编译原理的基本概念,掌握编译程序的各个阶段及其功能;2. 学会使用形式语言及有限自动机进行词法分析;3. 掌握语法分析的基本方法,如LL(1)、LR(1)分析法;4. 了解语义分析及中间代码生成的基本原理;5. 掌握目标代码生成及优化策略。

技能目标:1. 能够运用所学编译原理知识,设计并实现简单的编译程序;2. 培养学生分析问题、解决问题的能力,使其能够针对编译过程中的具体问题进行有效解决;3. 提高学生的团队合作能力,通过小组合作完成编译程序的设计与实现。

情感态度价值观目标:1. 激发学生对计算机科学领域编译原理的兴趣,培养其探究精神;2. 培养学生严谨、细致的学习态度,使其养成良好的编程习惯;3. 引导学生树立正确的价值观,认识到编译原理在计算机科学中的重要性,为未来从事相关领域工作打下坚实基础。

本课程针对高年级计算机专业学生,结合编译原理的学科特点,注重理论与实践相结合,旨在提高学生的编译程序设计能力。

课程目标明确,分解为具体学习成果,便于教学设计和评估。

在教学过程中,教师应关注学生的个体差异,充分调动学生的积极性,培养其独立思考和解决问题的能力。

二、教学内容本章节教学内容主要包括以下五个方面:1. 编译原理概述:介绍编译程序的作用、编译过程、编译器的分类及结构。

2. 词法分析:- 形式语言及有限自动机理论;- 词法分析器的实现方法;- 词法分析器的编写。

3. 语法分析:- 语法分析的基本概念;- LL(1)、LR(1)分析法;- 语法树的构建;- 语法分析器的编写。

4. 语义分析及中间代码生成:- 语义分析的作用和任务;- 中间代码的形式;- 中间代码生成策略;- 语义分析器的编写。

5. 目标代码生成及优化:- 目标代码生成的基本方法;- 代码优化策略;- 目标代码生成器的编写。

教学内容按照教材章节进行安排,确保科学性和系统性。

具体教学进度如下:第1周:编译原理概述;第2-3周:词法分析;第4-6周:语法分析;第7-8周:语义分析及中间代码生成;第9-10周:目标代码生成及优化。

编译原理课程设计

编译原理课程设计

编译原理课程设计课程设计介绍编译原理是计算机相关专业的重要课程之一。

其主要内容涉及编译器设计以及语言处理方面的知识。

在学习该课程时,大多数学校都会要求学生完成一个编译原理课程设计。

本文将对编译原理课程设计进行介绍,并结合实例进行详细阐述。

编译原理课程设计的目的编译原理的学习主要是让学生了解和掌握编译器的工作原理,其中必不可少的一个环节就是要求学生自己编写一个简单的编译器。

课程设计的目的主要有以下几个方面:1.验证学生掌握了编译原理的相关知识。

2.帮助学生加深对编译器工作原理的理解。

3.提高学生的代码能力和问题解决能力。

4.锻炼学生的团队合作能力。

编译原理课程设计的基本流程编译原理课程设计的基本流程主要包括如下几个步骤:1.选题。

根据自己的兴趣、所学的知识和相关要求,自行选择一个编译原理课程设计题目。

2.规划设计方案。

确定设计方案以及实现过程,制定详细的开发计划,并确定团队成员。

3.进行前期调研。

通过阅读文献、查看相关工具等,了解相应技术栈以及其实现方式。

4.进行设计与实现。

按照设计方案进行开发编译器,并进行测试调整,直到达到所需的效果。

5.完成文档撰写。

详细记录设计和实现过程,进行和报告撰写。

6.项目演示。

介绍自己的编译器设计并进行演示展示。

实例演示考虑一个课程设计的实例,即编写一个基于C语言的编译器。

该编译器实现的功能是支持C语言的基本语法,包括变量、函数、流程控制等,并支持编译器错误输出。

设计与实现1.词法分析器的设计。

该部分需要使用正则表达式来识别C语言的语法结构,将其转化为具有类型和属性的单词记号。

2.语法分析器的设计。

识别出词法分析器中生成的单词记号,将其还原成原来的语法结构。

3.代码生成器的设计。

根据语法分析器还原出的语法结构生成目标代码。

4.符号表的设计。

记录变量、函数等的名称和特性,用于编译程序时的错误检查。

5.错误检查和错误输出。

检查词法分析器、语法检查器和符号表是否存在错误,对出现的错误进行输出。

编译原理 教学改革

编译原理 教学改革

编译原理教学改革编译原理是计算机科学与技术专业中一门重要的课程,它主要研究如何将高级语言编写的程序转换成计算机可执行的机器语言。

编译原理教学改革是指在传统编译原理课程的基础上,通过引入新的教学方法和内容,提高学生的学习兴趣和能力,培养他们的创新思维和实践能力。

下面将从教材选用、教学方法、课程设计等方面,探讨编译原理教学改革的重要性和具体措施。

一、教材选用传统的编译原理教材通常以理论知识为主,内容较为抽象,难以引起学生的兴趣。

在教学改革中,可以选用一些案例丰富的教材,将编译原理与实际应用结合起来,让学生在学习中能够更好地理解和运用所学知识。

二、教学方法在传统的编译原理教学中,通常是以教师为中心,通过讲授理论知识和解析例题来进行教学。

在教学改革中,可以采用启发式教学法,引导学生主动思考和探索。

例如,可以通过提出问题、讨论和实践等方式,激发学生的学习兴趣和动力。

三、课程设计传统的编译原理课程设计主要以编译器的前端和后端为主要内容,缺乏与实际应用相关的案例和实践环节。

在教学改革中,可以增加一些实践项目,让学生通过实际操作来学习和实践所学知识。

例如,可以设计一个简单的编译器,让学生亲自动手实现,从而加深对编译原理的理解和应用。

四、学生评价学生的评价是教学改革的重要环节,通过对学生的评价可以了解他们对教学改革的认可程度和改进意见。

可以采用多种方式进行评价,如问卷调查、小组讨论和个人访谈等。

通过学生的反馈,及时调整和改进教学方法和内容,提高教学效果。

编译原理教学改革的目的是培养学生的创新思维和实践能力,使他们能够熟练掌握编译原理的基本理论和实际应用。

通过教材选用、教学方法、课程设计和学生评价等方面的改革,可以提高学生的学习兴趣和能力,使他们能够更好地应对编译原理相关的实际问题和挑战。

编译原理教学改革是一项重要而必要的工作。

通过引入新的教学方法和内容,可以提高学生的学习兴趣和能力,培养他们的创新思维和实践能力。

编译原理是计算机专业的一门必修课

编译原理是计算机专业的一门必修课

摘要编译原理是计算机专业的一门必修课,在教学中具有非常重要的地位,大多数学生感觉编译原理是一门晦涩难懂的课程,逻辑性太强,而且相对比较抽象,难以在有限的教学时间里掌握;作为教学工作着,虽然他们为教好这门课付出许多辛劳,而教学效果却时常并非如他们所愿。

即使学生对计算机编译过程有了一定的了解,在完成期终小型编译器的制作过程中也会因为时间或软件技术等原因而收不到理想的效果而草草结束。

随着在许多课程教学过程中教学辅助系统(CAI)的发挥,对这门课程的教学工作者和学生来说,都急切的需要一种有效的教学辅助软件,本课题正是基于这种需要,采用面向对象的技术,开发出一套编译原理教学辅助软件系统,旨在让学生对编译原理这门课程有较为直观的认识,唤起学生对编译原理这门课程的学习兴趣,减轻教师教学过程中的教学负担,打好计算机专业知识的基础。

本软件采用的是可视化集成环境,利用简单易学的VC++语言作为开发工具,使得软件不仅开发难度降低,而且较易操作实施。

在运行阶段对编译的总体过程做了较为详细的说明,包括SLR(1)文法的判定,分析器的构造和一些具体的实现过程。

在软件的制作过程中考虑到了界面友好,方便快捷等特点,使得本软件有很强的使用价值。

关键字:编译原理教学辅助系统SLR(1)AbstractCompiling principle is a compulsory course and has a important status in the computer class, most student felling compiling principle is difficult to understand, the logic is too strong ,too abstract, and is hard to understand in limited time, As a teacher, they may offer a lot of working in the teaching process ,the result may not so ideal. Although after acquire some knowledge about the compiling they may also end roughly in complete a compiling parsing because of time or the technique etc.. Along with developing of CAI software, both teacher and student need a kind of valid teaching assistance software anxiously, this article is based on this need, adopting the technique of Object Oriented, developing a set of CAI software system, make a clear understanding of this course, arouse the interest in the study of this course, lightening the burden in the teaching process, establishing a profound foundation of the professional knowledge.What this software adoption is the visible integrated environment, make use of the tool of VC++, not only reduce the difficulty of empolder this software but also easy to operate. In the manufacture process of the software interface friendliness, convenient and fast are all considerated which make this software could use widely. Keyword Compiling principles CAI SLR(1)引言 (4)第一章、开发工具介绍 (5)1.1 面向对象的程序设计语言C++特点 (5)1.2 Visual C++特点 (5)第二章、语法分析器相关原理介绍 (6)2.1 语法分析简述 (6)2.2 LR分析器 (7)第三章、项目需求分析及规划 (9)3.1 需求分析 (9)3.2 总体设计 (12)3.3 详细设计 (12)第四章、系统设计和实现 (16)4.1 界面设计 (16)4.2 代码开发.............................................................................. .16 4.3 测试设计.. (17)小结 (21)致谢 (21)参考文献 (22)附录 (23)如我们所知,当前所使用的计算机是一种符号运算自动机。

编译原理课设

编译原理课设

编译原理课设什么是编译原理编译原理是计算机科学中的一个重要研究领域,主要关注编程语言的设计和实现。

在计算机科学中,编译是指将高级编程语言翻译成机器语言的过程,而这个过程就是由编译器完成的。

编译器是一种将高级编程语言转换为可执行代码的工具,它能够将程序员写的代码翻译成计算机可以直接执行的指令。

编译原理的重要性编译原理在计算机科学中具有重要的地位和意义,它对于计算机软件和硬件的发展都有着重要的影响。

•提高程序执行效率:编译器能够将高级编程语言转换成机器语言,由于机器语言是计算机可以直接执行的指令,因此相比高级编程语言,机器语言的执行效率更高,能够使程序更加高效地运行。

•提高开发效率:编译原理能够将程序员写的高级编程语言翻译成机器语言,这样能够提高程序的开发效率,节省开发时间。

•实现跨平台:不同计算机体系结构和操作系统可能使用不同的指令集和二进制形式,而编译器可以将高级编程语言的程序翻译成不同机器的机器语言代码,实现跨平台的运行。

编译器的工作原理编译器的工作可以分为以下几个阶段:词法分析、语法分析、语义分析、中间代码生成、优化和目标代码生成。

1. 词法分析词法分析是将源程序代码转换成一个个的词法单元(Token)的过程。

词法单元是编程语言的最基本的组成单位,比如关键字、标识符、运算符等。

2. 语法分析语法分析是将词法单元按照语法规则进行组织和归类的过程。

语法规则定义了程序的语法结构,比如变量声明的语法规则、循环语句的语法规则等。

3. 语义分析语义分析是对语法树进行静态语义检查的过程。

在这个阶段,编译器会检查源程序是否满足语言的语义规则,比如变量是否被定义、函数是否被调用等。

4. 中间代码生成中间代码生成是将源程序转换成一种中间表示形式的过程。

中间代码是一种抽象的表示形式,它更接近于机器语言,但仍然是与具体机器无关的。

5. 优化优化是针对中间代码进行的一系列改进和优化操作,以提高程序的执行效率。

编译器会根据一些优化算法和规则,对中间代码进行优化操作,以减少执行时间和空间消耗。

关于编译原理课程定位的思考

关于编译原理课程定位的思考

关于编译原理课程定位的思考摘要:本文针对编译原理课程教学的现状,对这门课程在计算机专业中的定位进行理性思考。

然后以人本主义教学理论为指导,研究编译基础理论的辐射范围,将编译原理课程的学习和其他领域的研究结合起来,以此提高学生的学习积极性,获得良好的教学效果。

关键词:编译原理;课程定位;教学改革编译原理是培养计算机专业人才的一门重要的核心课程,由于涉及形式语言、有限自动机等抽象内容,学生在学习过程中感觉很难理解,主要反馈包括内容抽象、枯燥,算法复杂、不易理解,课程实验难等。

同时由于学生觉得自己将来从事编译程序开发工作的可能性很小,学习积极性不够高。

作为授课老师,如何改善这门课程的教学效果,提高教学质量,是一个需要研究的课题。

本文对编译原理课程的定位进行了理性的思考,并对课程教学方法进行了改革和实践,取得了良好的教学效果。

1编译原理课程定位的思考编译原理课程以介绍程序设计语言编译程序构造的基本原理和设计方法为教学目标,是一门理论性、实践性、技术性很强的课程,强调理论与实践的紧密结合。

我们的编译原理课程的定位是让学生掌握和理解编译系统的结构、工作流程以及编译程序各组成部分的设计原理和实现技术,从而掌握分析、设计、实现和维护编译系统的初步能力[1]。

基于该课程定位,编译原理课程的教学方法一般都是以原理讲授为主,以简单算法设计强化对原理的理解,课程实验则是实现或扩充一个简单编译器。

在学习过程中,学生容易产生对学习抽象原理的畏难心里,再加上感觉自己将来参与编译程序开发工作的可能性不大,学习的兴趣和积极性就不会很高。

同时,由于课程学习确实存在一定的难度,学生很难跟上进度,最终导致上课听课不理解,课后复习不上心,课后实验做不了甚至抄袭的现象,达不到课程的教学目标。

针对这种现象,我们重新思考了编译原理课程的定位问题。

我校编译原理课程安排在第7学期,在计算机专业核心课程中排在了最后面。

除了课程本身的教学目的之外,编译原理课程更是综合应用了前面多门课程所学的知识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计在编译原理课程教学中的地位和作用
【摘要】编译原理是计算机类专业的核心课程之一,具有抽象性强,学生难学、教师难讲的特点。

鉴于此,国内外的高校提出了各式各样的编译原理教学新方法。

然而实践证明,上述方法并没有从根本上解决学生掌握编译技术这一核心的学习目标。

我们从课程设计在编译原理课程教学中的核心地位和重要作用的论述入手,阐述重视课程设计是使学生掌握编译技术、学好编译原理这门课的良方。

同时,匿名式的网上问卷调查发现,学生们也肯定了这一观点。

【关键词】编译原理;课程设计;地位;作用
【中图分类号】g632.07 【文献标识码】b 【文章编号】2095-3089(2013)20-00-02
为引导高校主动适应国家战略和地方经济社会发展需求,优化专业结构,加强专业内涵建设,创新人才培养模式,大力提升人才培养水平,江苏省教育厅和财政厅开展了“十二五”高等学校重点专业建设的工作(苏教高〔2012〕16号)。

我校的计算机类(包含物联网工程、计算机科学与技术和信息安全三个专业)获得了该项目的资助(苏教高〔2012〕23号),并与2012年8月启动了该项目。

为了响应本次计算机类综合专业的改革,我们有必要探索面向计算机类专业的“编译原理”课程改革方案,本次改革方案的重点不涉及编译原理课程的新教学模式、新方法及教材建设,而是强调课程设计在编译原理课程教学中的核心地位和重要作用。

通过重视学生的课程设计,实现学生掌握编译技术这一核心的目标。

一、研究现状
近年来,国内外各大学从编译原理的教学内容、教学方式、教学手段以及实践教学环节制定等多个方面对这门理论性和实践性较
强的课程进行了深入地研究和探讨,提出了一些效果较好的编译原理教学新模式和新方法。

国内编译原理课程的权威专家何炎祥教授提出了基于人本主义
的教学新模式[1],它指的是以学生为主、师生互动的全新教学模式。

即明确指出教师的任务不是教学生学习知识,也不是教学生如何学习,而是为学生提供各种学习的资源,提供一种促进学习的气氛,让学生自己决定如何学习。

浙江大学的王强[2]提出形象化的教学方法,即通过多媒体的形式向学生演示复杂的算法过程。

重庆理工大学的刘洁[3]把软件工程专业的特点融入到编译原理课程中,采用科学系统的教学和实验模式实现了激发学生学习兴趣、培养学生分析和解决问题能力的目标。

首都师范大学的衷璐洁[4]以实例化的真实的编译器gcc来开展教学。

该教学模式是一种与“概念-理论-应用”的传统教学模式完全相反的教学模式,它的教学思路是“案例-理论-概念”。

解放军理工大学的贺汛[5]针对编译原理课程的教学特点,提出从调动内驱力、提倡发散思维、提倡探究学习、培养抽象思维四个方面入手,加强学生创造性思维能力的培养,并给出了教学实施的具体步骤和方法。

通过跟踪最新的国内外有关编译技术教学改革的成果发现当前
编译课程的改革在理论教学上已经实现了“学生轻松学,教师轻松
教”的教学目标。

然而,学生却普遍反映当前的教学模式使他们掌握了编译原理应试的技巧,却没有使他们真正理解编译技术各知识点的来龙去脉,他们仍然不会编写一个编译器系统。

编译技术对他们而言,仍然是空中楼阁,遥不可及。

这正是当前编译原理课程改革遇到的瓶颈。

二、课程设计在编译原理教学中的地位和作用
如图1所示,为课程设计在编译原理教学中的地位和作用。

它是按照编译原理教学的五个阶段,实践教学的三个层次进行规划的,最终,通过课程设计将编译理论与程序设计相结合让学生去实现一个小型的编译系统。

该体系从多个维度系统地进行学生能力的培养和知识与技能的传授。

使得学生不会再有“编译是门难学、易忘,学后无用的课程”的感觉。

图1也解释了为什么当前的编译原理课程改革遇到了瓶颈,为什么只有重视编译原理课程设计才是解决这一瓶颈的唯一途径。

下面我们对此进行论述。

当前的课程改革只重视编译原理教学的前三个阶段:基本认知、基本理论和应用认知;实践教学中的第一个层次:上机实验。

整体上是重理论而轻实践。

这就是编译原理课程对学生而言,有一种空中楼阁、遥不可及的感觉的本质原因。

而如果能在当前的改革维度上进行扩展,将编译原理教学扩展为图1中的五个阶段,把实践教学扩展为图1中的三个层次。

通过将编译理论与程序设计方法相结合完成编译器这一综合课程设计,从而实现编译课程学习由知识点到知识平面,由知识平面到三维立体专业技能。


就是说,通过本次教学改革(更加重视课程设计和动手实践能力),教给学生的不再是能够解题的知识点、解题方法和解题技巧,而是他们将来能够到社会上赖以生存的专业技能。

三、课程设计在“编译原理”课程改革中的实施方案及效果
1.课程设计在编译教学中的实施方案
首先,编写编译课程综合实验指导书。

编写原则是实验目标要适中,不要定的太高。

任务和要求要明确,而实现方法不固定,为的是给学生更多的自由发挥空间。

实验指导书的内容如下:
(1)实验目的
《编译原理》是理论与实践并重的课程,而其实验课要综合运用一、二年级所学的多门课程的内容,用来完成一个小型编译系统。

从而巩固和加强对词法分析、语法分析、语义分析、代码生成和报错处理等理论的认识和理解;培养学生对完整系统的独立分析和设计的能力,进一步培养学生的独立编程能力。

(2)实验任务和要求
①词法分析器的作用是划词功能,产生的单词序列;
②语法分析器的作用是识别测试用例的语法是否正确,使用的算法可以是:预测分析法、递归下降分析法、算符优先分析法、lr分析法等;
③语义分析与中间代码生成器的作用是分析测试用例的语义并
生成中间代码(四元式序列)。

然后,将学生分为五到六人一组,每组设置一个项目组长
(projectmanager,pm)。

由pm负责为期一周半的综合课程设计,主要包括项目分工、项目实施、进度规划和组员间的协调等工作。

最后,每个小组提交可供演示的编译器系统、课程设计论文及答辩ppt。

每个小组由pm用10分钟时间陈述课程设计期间的工作,之后,由其他同学进行提问,小组成员进行回答。

2.课程设计在编译教学中的实施效果
我们对2009级计算机科学与技术和软件工程两个专业的本科学生进行了课程设计方案的实施。

图2为一名同学所完成的编译课程设计中语义分析的效果图。

这里的语义分析采用了语法制导生成四元式,语法分析用的是自底向上的slr文法。

在课程结束后,我们还对这两个专业的124名学生进行了匿名式的问卷调查,结果表明在编译教学中重视课程设计明显要好于重理论轻实践的的编译教学改革模式。

表1从熟练掌握编译课程中的各知识点、理解编译课程中各知识点的来龙去脉、具备理论联系实际的专业技能三方面进行了教学效果对比分析。

通过对表1中数据的对比分析可知,重视课程设计的教学模式在各方面都明显优于重理论而轻实践的教学模式,特别是在培养学生的理论联系实际的专业技能方面,98%以上的学生表示满意。

四、结语
文章针对当前编译原理课程教学改革中“重理论轻实践”的现实问题,提出要高度重视编译原理课程设计。

文章重点论述了课程设计在编译原理教学中的地位和作用;阐述了当前编译原理课程改革
遇到的瓶颈,以及为什么只有重视编译原理课程设计才是解决这一瓶颈的唯一途径。

之后,给出了编译原理课程设计的实施方案和考核方式。

通过问卷调查发现,学生们普遍反映重视课程设计的编译原理教学更有利于他们掌握基本理论和基本技能,提高理论联系实际的专业技能,特别是他们不再感到编译原理是空洞的理论课、缺乏实用价值且学之无用。

教师们也普遍反映重视课程设计的新教学模式使得教学质量和教学效果有了明显的提升。

匿名调查结果达到了预期目标。

然而,匿名式的问卷调查也发现我们提出的编译原理课程改革存在学生无法理解知识点产生的来龙去脉这一不足之处。

下面我们将在理论课中要加入一些通俗易懂、便于学生理解的案例作为引子,之后将教学内容重新梳理,使得学生了解编译原理知识点产生的出处,这将是下一步编译原理课程教学改革的重点。

参考文献
[1]何炎祥,伍春香.现代教学理论指导下的”编译原理”教学综合改革[j].计算机教育,2010(1):46-49.
[2]王强,冯雁.编译原理算法的形象教学[j].计算机教育,2010(3):30-32.
[3]刘洁,黄贤英,王柯柯等.软件工程专业中编译原理课程的教学探讨[j].计算机教育,2010(16):56-58.
[4]衷璐洁,吴敏华.编译原理gcc实例化教学研究[j].计算机教育,2011(11):13-16.
[5]贺汛,吴春寒.编译原理教学中创造性思维能力的培养[j].计算机时代,2010(4):54-56.。

相关文档
最新文档