软件学院编译原理实践课程的教学探索

软件学院编译原理实践课程的教学探索

ID:31377933

大小:107.50 KB

页数:7页

时间:2019-01-09

软件学院编译原理实践课程的教学探索_第1页
软件学院编译原理实践课程的教学探索_第2页
软件学院编译原理实践课程的教学探索_第3页
软件学院编译原理实践课程的教学探索_第4页
软件学院编译原理实践课程的教学探索_第5页
资源描述:

《软件学院编译原理实践课程的教学探索》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、软件学院编译原理实践课程的教学探索  摘要:软件学院对学生的培养目标集中体现在“实用”上面,因此对传授计算机基础理论知识的编译原理课程必须加大实践环节的侧重。如何在传授理论知识的同时,大力培养学生的编程能力,一直是摆在各软件学院面前的一道难题。文章针对这一现实问题,通过分析学生的接受能力,有针对性地设计几种课程实践的实施方案,并说明北京航空航天大学软件学院编译原理课程教学中的实践情况和取得的效果。  关键词:编译原理;编译技术;课程实践;编程能力  1软件学院编译原理课程实践环节的重要性  随着本科生招生人数的大幅增加,高校毕业

2、生就业竞争加剧,用人单位对人才要求不断提高,计算机及相关专业的不少毕业生在就业过程中暴露出动手能力差、分析问题解决问题能力薄弱、创新意识不强等问题。这些问题的出现在很大程度上反映出高校在学科的专业实践(特别是课程实践)教学方面的不足。作为大学课程中第一个较为系统化的软件设计类课程实践,编译原理实践对培养学生动手能力无疑起着非常重要的作用。  编译原理(在有些学校称为编译技术)是本科计算机专业的一门重要专业基础课程,也是计算机系统软件中非常重要的一个分支,其理论性和实践性都很强。大部分高校在这门课程的开设中,都会将其划分为理论讲授

3、和课程实践两部分进行实施,甚至将理论讲授和课程实践分列为两门课程。7  2002年,教育部在成立示范性软件学院的批示中,将“软件学院要培养市场急需的‘实用型’人才”放在了比较重要的位置,这也构成了软件学院区别于传统计算机学院的重要标志。因此对于软件学院的学生而言,编译原理的教学情况则有所不同。首先,软件学院的历史都不长,受课时和师资等多方面因素的影响,一些学校甚至是示范性软件学院,也会将该课程压缩甚至完全砍掉;其次,即使是保留该课程教学的学校,也会不同程度地压缩实践环节的时间,多多少少地影响到学生对编译技术的理解与掌握。笔者认为

4、,尽管编译原理课程确实存在理论抽象、概念众多、算法多等特点,但这门课程对于培养学生掌握构造高级程序设计语言、编译程序的基本原理、结构、设计与实现技术,培养学生了解和掌握编译原理的基本原理及典型技术并具备相当的应用能力,帮助学生为今后从事软件开发打下坚实的理论基础,提升学生程序设计能力和创新能力等诸多方面,都有着其他课程不可替代的作用。因此编译原理课程教学不但不应该削弱,反而应该受到重视和加强。  在此前提下,如何让软件学院的学生在掌握编译技术基本原理的同时,大力加强他们对编译技术的理解与使用,从而提高其产品――计算机软件(尤其是

5、大型软件)的结构有效性和效率,则是摆在软件学院编译原理课程教学的―个重要问题。  2对学生能力的分析7  在各高校的软件学院中,普遍存在着生源参差不齐的现象。由于学生入学时对计算机软件了解不多,所以即使是在示范性软件学院,也有相当一部分学生入学时对软件专业的认识不够,大学阶段的头两年如果没有打下良好的基础,则直接导致对专业课的畏惧乃至厌学情绪。所以在对学生传授知识和培养能力时,更需要摸清学生基础,培养他们学习兴趣,通过加强实验和实践环节,培育其分析问题和解决问题的能力。  通过观察和调研可知,软件学院的学生大致上可以分为以下几类

6、:一是对计算机知识很感兴趣,且学习能力较强的学生;二是对计算机知识的兴趣一般,且学习能力平常的学生;三是对计算机知识不感兴趣,且学习较差的学生。  像北航这样985高校的软件学院中,学生的学习能力普遍比较高,学校给学生提供的实验环境和配备的师资力量也普遍较强,因此比较容易形成良性循环,为课程教学和实验教学提供重要的基础保障。但根据历年编译原理期末考试的情况分析看,实际教学效果也并非完全符合正态分布。高分段(>85分)学生的人数相对较多,约占40-50%左右,且这部分学生的能力较强,即使适当加大试题难度对其考试分数的影响也比较小;

7、而不及格学生的人数大约占10%左右,且即使降低试题难度对其影响也较小;试题难度影响较大的是中间段的学生。  对学生的接受能力有一个正确的了解,才能有针对性地因材施教,使编译原理的实践环节达到应有的效果。  3因材施教  笔者在编译原理与实践课程教学过程中,尝试过不同的实践方式。通过不断地摸索,发现采用如下的因材施教方式效果最佳。7  (1)对于学习能力较强的学生,可以让他们自己动手编写小型编译器。一个完整的编译器包含词法分析、语法分析、语义分析、中间代码生成和代码优化等前端部分,也可以包含生成和具体计算机体系结构相适应的可执行代

8、码后端。一般编译原理实践环节大多安排学时为32学时左右,因此要让一个(或一组)学生在这么短的时间内完成前端和后端两部分是不现实的,可以让学生单独完成前端。  (2)对于学习能力一般的学生,在实施编译程序实践教学中,除了可以采用第一种方法外,还可以让他们利用LEX

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。