“编译原理”课程建设的新思考_第1页
“编译原理”课程建设的新思考_第2页
“编译原理”课程建设的新思考_第3页
“编译原理”课程建设的新思考_第4页
“编译原理”课程建设的新思考_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“编译原理课程建立的新考虑编译原理课程建立的新考虑从当前的就业情况看,计算机专业的学生在软硬件知识和应用才能上的优势逐渐弱化,在与具备特定行业、应用领域和专业背景的学生竞争就业时,面临的压力越来越大,而在已就业的学生中又少有人从事编译系统的研究和开发工作。所以,编译原理作为计算机科学与技术专业的经典核心课程的存在价值受到质疑。其实,本科教育解决的是培养学生根本专业才能、可持续开展才能这些本质性的问题,因此,我们要从如何结合专业课程完成学生专业才能的培养与素质的进步这样的角度来看问题。在大学里,学习一门课程,不能简单、浅薄地看成是对这门课程所含内容的研究、设计和开发,而是关注是否在有限的时间内最

2、有利于学生专业才能的培养。计算机是一门技术性、工程性和应用性很强的学科,有其自身的根底理论支撑体系。编译原理课程本身以计算机专业根底知识为载体,含有问题求解的典型思想、技术和方法,整个课程的内容对培养学生的计算思维,程序设计与实现,算法设计与分析,计算机系统的认识、开发和利用等学科根本才能都非常重要。并且,编译技术在计算机体系构造设计、进步软件开发效率与质量的工具开发等方面有着重要的应用。因此,编译原理课程不但有存在的价值,而且对于计算机专业学生的才能培养和素质进步有着极其重要的作用和意义。作为计算机专业的教育工作者,应该结合当前计算机的开展状况,重新认识编译原理课程的重要性,并根据当前的教育

3、和就业形势,积极研究、改良编译原理课程的教学和实验方法,进步教学效果和质量。一、明确编译原理课程对学生才能培养和素质进步的重要性从课程体系总体设计看,编译原理课程的主要教学目的之一是使学生在系统的级别上重新认识算法和程序,提升学生的系统才能。它是计算机专业课程中最难学的课程,既涉及形式语言和自动机等抽象理论,又是数据构造、程序设计语言、算法和软件设计等知识的综合表达,有效培养了计算机专业学生应具有的计算思维,算法设计与分析,程序设计与实现硬件和软件实现,系统的认知、分析、开发与应用等四大根本才能。计算学科问题求解的根本思路是问题形式化描绘计算机化,以抽象、理论、设计为其学科形态。编译原理课程中

4、要求学生掌握的包括程序变换根本概念、问题描绘和处理方法自顶向下、自底向上、逐步求精、递归求解,目的驱动,问题分析、问题的抽象与形式化描绘,算法设计与实现,系统构建、模块化等知识、思想和方法,有利于学生养成问题、形式化描绘、计算机化问题求解本文由论文联盟.Ll.搜集整理的习惯,实现从实例计算到类计算和模型计算的跨越。这其中既有明确的、便于抽象的问题,又有较成熟的理论,而且在限定规模下又容易实现设计,涉及的是一个比拟适当的抽象层面上的数据变换,所以该课程是计算机专业本科生的重要专业技术根底课程。二、编译原理课程教与学的新考虑目前,在编译原理课程教学中,教与学两方面的问题都很突出:一些抽象的重要理论

5、使学生学习的畏难情绪严重,加上有些人认为毕业后很少有时机参与设计与实现编译系统,使得该课程的教与学的热情偏低,而适用于新型体系构造及新一代计算机系统的编译器的需求和大量应用,也给编译原理课程内容的充实与更新提出更高要求。作为老师,要让学生深化认识到:编译原理是许多课程知识的集成与理论,能进一步加深对许多专业根底课程知识的理解;编译程序所使用的原理、方法和技术有利于领悟计算机理论的精华,在非编译系统的实际应用中也发挥着很大作用;学习编译对今后从事应用软件,语言开发平台、编译系统甚至操作系统的开发等工作非常有益。理论证明,假如首先让学生认识到课程内容的重要性,再辅之以适宜的教学方法和教学手段,是不

6、难获得好的教学效果的。根据笔者的编译原理课程教学经历,认为对于该课程的设置和教学可以从以下几个角度来开展。1.科学设置课程对于编译原理课程的设置问题,可以根据本科院校自身办学宗旨,从普通高校本科、重点高校本科和研究生阶段教育三个层次来考虑教学目的和培养要求等因素,在总学时的限制下,实现总目的的最正确课程。因此,可以考虑以下2种形式。1课程分解形式。分为:编译技术必修,介绍为满足根本应用而需要学生掌握的根底知识、方法和技术,以到达语言转换和实现理论根底介绍的目的;编译理论选修,主要侧重于介绍形式化等原理性的深层次内容,方便有进一步深造需要的学生学习。2内容分解形式。不单独设置一门编译原理课程,根

7、据深浅和涉及到的详细问题,将与其他课程相关的内容分解到不同的课程中去,使学生在相关课程的学习中逐步掌握相关知识。这和前者比有一定难度:一是课程难分解,课程内容分解后与其他课程内容的重新整合在短时期内难做到科学分解与组织;二是增加了其他课程授课老师的工作量与难度。2.优化教学内容老师还要坚持教学与科研相结合,将最新的教改和科研成果引入教学,将经典编译理论与现代编译技术有机地结合起来。例如,可以将嵌入式编译器、分布并行编译器、多核编译器以及适应新体系构造及新一代计算机系统编译器的研究及其研究结果迅速充实到编译原理课程中。此外,还可以向学生介绍编译技术在人工智能、并行计算、自然语言处理等领域里的详细

8、应用,为后续课程做好铺垫。3.用实例演示来形象化抽象理论学生学习编译原理课程的最大困难是其较为抽象,要获得好的教学效果,就要将抽象理论形象化。改革教学方法,提倡互动式、研讨式和案例式等教学方法。一方面,可以通过实例类比,例如,用自然语言的翻译过程来类比编译程序执行高级程序设计语言的翻译过程。另一方面,老师可以借助多媒体手段,把抽象的原理用动画、图像等形象化的方式展示,便于学生的理解。同时,还可以向学生推荐网上优秀的编译原理课程教学网站、电子书等资源,拓宽学生视野,培养和激发学生学习兴趣。4.把握联络,启发学生积极思维在教学过程中,充分考虑编译原理课程与数据构造、计算机组成原理、操作系统、算法分

9、析与设计等先修课程之间的内在联络,不断深化和强化,以加强课程的系统性,培养学生的全局观。同时还要把握编译过程各个功能阶段的内在联络与规律,有目的地设计问题,有意义地提出问题,通过问题把编译原理中的理论难点、抽象概念引导出来。三、重视实验,建立行之有效的实验教学方法设计和组织良好的理论教学环节可以使编译原理课程获得良好的教学效果。如今很多高校都增加了实验学时,并独立计算实验成绩。我们在借鉴兄弟院校和国外经历的根底上,探索出验证性实验加综合设计性实验的2阶段实验教学形式,各高校可根据自己的教学目的和培养要求来选择施行。1.验证性实验这类实验主要是为配合配合课堂授课内容,由老师按编译原理授课顺序,提

10、供同步的假设干验证性实验题目,让学生逐个完成相关子模块,逐步扩大完善整个编译程序。这样循序渐进地完成实验,不仅增加了学生的成就感和自信心,而且使他们养成扎实的作风,使学练互动,激发学生学习兴趣和积极性。而作为老师,那么要做好组织、监视和解惑工作,帮助学生掌握编译系统主要技术、算法的理解和设计,引导学生从整体上把握编译系统的构造和各子系统之间的协调工作。2.综合设计性实验一定规模的综合设计性实验训练是保证理论教学效果必不可少的环节。我们可以让学生以小组由45名成员为单位结合软件工程课程实验的环节完成一个规模适度的编译程序开发。在实际操作时,可根据验证性实验阶段的情况,把学生分成不同层次的小组,由他们选择合适自己程度的不同的实验题目。每组遵循完好的编译器开发方式,融入软件工程的思想,由大家推举的组长分工、协调完成任务。这样,不仅能让每个学生体验从分析设计、编码测试到交付维护的软件开发全过程,还进步了他们的工程和团队意识以及开发大型软件的协调构造设计才能。实验完毕时,老师要求学生以演示系统、辩论的方式公布实验成果,以便公正评分。四、结论总之,编译原理课程很好地表达了计算机专业课程的系统性、完好性、科学性和原理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论