绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇编译原理论文范文,希望它们能为您的写作提供参考和启发。

1引言
编译原理课程是计算机科学与技术专业的重要专业课,它不仅能帮助学生更深入地了解计算机以及计算机程序的本质,还能提高学生进行问题求解的能力。本课程的理论性和实践性都很强。国外和国内分别从二十世纪六十和八十年代开始设置“编译原理”课程,从文献[1,2]两本专著的内容可以看出,几十年来,“编译原理”课程可以讲授的内容越来越多。设置该课程的目的在于系统地向学生讲叙编译程序设计的基本理论、编译系统的结构及编译程序各部分的设计原理和实现技术。通过对这些知识的学习,使学生既能掌握编译理论和编译方法等方面的基本知识,又具有设计、分析、实现和维护编译程序等各方面的综合能力。该课程一般包括理论教学和实验教学两部分。编译原理理论知识包括形式语言、有穷自动机等抽象内容及大量的算法,较难理解和掌握,因此“编译原理”的实验教学对于深化学生对所学理论知识的理解,提高学生的理论联系实践的能力和编程水平具有重要的作用。
本文根据编译原理课程的特点,结合自己的教学经验与我院的实际情况,探讨了普通本科院校编译原理的实践教学内容的设置。
2课程实验的重要性
编译原理是集理论与实践于一体的一门课程,在理论课中所介绍的基本概念、原理、方法和算法,一定要通过实验加以理解和吸收,才能能够达到真正的理解、吸收和掌握。编译原理课程实验的内容主要放在对词法分析、语法分析和语义分析、中间代码生成、中间代码优化和目标代码生成的方法上。由于编译原理课程有很强的理论性与实践性,在学习时普遍感到内容抽象,不易理解,掌握起来难度很大。因此通过教学实践和对学生所做的调查表明,设计一组与理论内容相配套的实验是十分必要的。
3课程实验的设计
针对编译原理课程的特点及要求,共设置了五个实验项目。这组实验既和理论课内容相辅相承,同时相互之间又互相关联,构成了一个实验整体。
实验一
题目:消去C、C++程序中的注释(2学时,必做)
实验目的:掌握C语言文件的基本操作,消除源C语言程序中的注释,为以后的编译提供方便。
实验要求:对给定的带注释的C语言源程序,利用该程序去掉注释,输出去除注释的源程序。
实验二
题目:词法分析(必做,4学时)
目的:通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
要求:编写程序对输入的源程序字符串进行词法分析,对符合下述文法描述的字符串,建立单词符号表,不符合的字符串给出错误信息。
内容:用扩充的BNF表示如下:
<标识符><字母>{<字母><数字>}
<整型常数><数字>{<数字>}
<算符>+-*/()=
<字母>abc…yABC…Y
<数字>1234567890
实验三
题目:递归下降分析法(4学时,选做)
目的:根据给定的文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对递归下降分析法的理解。
要求:对给定的文法,利用递归下降分析法对任意输入的符号串进行分析语法分析,对符合下述文法描述的字符串(表达式或赋值语句),给出中间代码,不符合的字符串给出错误信息。转中国-内容:用扩充的BNF表示如下:
<赋值语句><标识符>=<表达式>
<表达式><表达式>{+<项>-<项>}<项>
<项><项>{*<因子>/<因子>}<因子>
<因子><标识符>(<表达式>)
即:Si=E
EE+TE-TT
TT*FT/FF
Fi(E)
实验四
题目:语法分析程序LL(1)(4学时,必做)
目的:通过该实验使学生掌握描述语法规则的文法,以及加深对语法分析中自顶向下分析法中的预测分析法的理解。
要求:对给定的文法建立预测分析表,利用预分析法对实验一中词法分析产生的符号进行语法分析,对符合下述文法描述的字符串(表达式或赋值语句),给出中间代码,不符合的字符串给出错误信息。
内容:用扩充的BNF表示(同实验三)。
实验五
题目:语法分析程序LR(1)(4学时,必做)
目的:通过该实验使学生加深对语法分析中自下而上分析法中的LR分析法的理解。
要求:对给定的文法手工建立LR(1)分析表;利用LR分析法对实验二中词法分析产生的符号进行语法分析,对符合实验中文法描述的字符串(表达式或赋值语句)给出中间代码;不符合的字符串给出错误信息。
关键词:战略人力资源人力资源管理价值
近年来,战略人力资源管理思想日益深入人心,理论和实务上也取得了长足的进步。但是,对于战略人力资源管理对组织价值创造的贡献原理,无论是在理论上还是在实务中都存在着许多认识上的模糊和分歧。对这一问题进行澄清,对于组织有针对性地开展人力资源管理工作具有十分重要的作用。笔者认为,战略人力资源管理可以通过获取和保持最恰当的人力资源、实现人力资源管理的战略匹配、充分开发企业人力资源为组织创造价值。
一、通过获取和保持最恰当的人力资源为组织创造价值
1、成功高效的招聘录用系统保证组织能及时、经济、保质保量地获得组织需要的人力资源。组织根据整体战略制定战略性人力资源规划,在此基础上建立动态的招聘录用管理系统。这样,组织始终能对组织内外部环境具有一种高度的敏感。招聘程序看似是在实际的招聘需求发生时才开始启动,实则内外部人力资源供需的信息处理随时都在进行。这样的招聘录用是主动的、有计划的、系统的,因而也是快速高效,成本节约的。最为重要的是,它能保证组织获取的人力资源是组织真正需要的。即新进的员工是合乎组织文化和绩效要求的高承诺、高绩效的“双高”员工。“双高”的实现,避免了组织因新进员工达不到组织的要求而产生的不必要的成本和损失。这包括新员工的知识、技能、态度达不到组织要求而造成的绩效损失及由此产生的培训费用;新员工与组织文化的冲突而导致的员工承诺不足及高离职率带来的成本;员工与组织、员工与工作的不匹配带来的组织核心能力建设的困难等等。
2、战略人力资源管理能够有计划地将组织最需要的员工保留在组织内。这包含两方面的含义,一是让最适合组织需要的员工留在组织内,二是让不适合组织需要的员工离开组织。为了留住组织需要的员工,组织必须从战略上形成留人的机制。组织的人力资源战略与规划、招聘与录用、培训与开发、绩效管理、薪酬福利、员工关系等必须紧紧围绕组织的总体战略并且互相衔接配合,在提高组织绩效的同时不断提高员工的工作生活质量和员工满意度。保持组织需要的员工就能保持组织的人力资本并为人力资本增值创造了条件。与此同时,及时淘汰不适合组织需要的员工可以更有效地保证组织文化和绩效目标的实现。
二、通过战略匹配为组织创造价值
人力资源管理的战略匹配有两个方面的功能:导向功能和凝聚功能。
1、导向功能。战略人力资源管理通过人力资源战略与组织战略的匹配,将组织的各项人力资源管理实践与组织的战略目标紧紧地联系起来。组织的工作分析、工作设计、人力资源规划、招聘录用、培训开发、绩效管理、薪酬管理、劳动关系等各个方面不再单纯地局限于自身的工作考虑,而是更多地从是否有利组织战略目标的实现来考虑问题。而且,组织的各项人力资源管理实践都通过各自的方式有效地将组织的战略意图传达给全体员工(或未来的员工),将员工的期望、态度和行为有意识地导向组织的战略方向。通过保持员工对组织贡献方向的明确性、一致性,战略人力资源管理为组织创造了巨大的价值。
2、凝聚功能。战略人力资源管理通过整体的规划和系统的设计,协调各项人力资源管理实践,实现了人力资源管理职能间的匹配和功能整合,有效地避免了人力资源管理系统内各功能子模块间的冲突和不一致,保证组织人力资源管理系统整体绩效最佳。尤为重要的是,通过人力资源管理系统的内部匹配,组织可以形成强势的主流文化,传播明确的价值和行为取向,提高员工对组织的认知和忠诚,形成合力,从而为组织创造巨大的无形资产,使组织形成可持续发展的核心竞争力。
三、通过充分发挥员工能力为组织创造价值
充分发挥员工能力包括四个方面:一是通过人力资源的合理配置最大程度地发挥员工的能力;二是通过人力资源的合理配置最大程度地发挥员工的能力;三是通过有效的心理契约管理实现员工高承诺;四是通过有效的激励最大程度地发挥员工的能力。
1、通过人力资源的合理配置最大程度地发挥员工的能力。战略人力资源管理讲求人与事、人与人、人与组织匹配,在这种有效的匹配中,实现每个员工效能最大程度的发挥。这是一种用人所长,人尽其才,整体互补式的管理。在实际的管理过程中,首先要根据组织的战略和人力资源的现状进行合理的工作设计。在此基础上,建立组织的人力资源胜任力模型,然后通过人力资源的测试全面了解员工的胜任力状况。再依照用其所长的原则量才使用,实现人与事、人与人、人与组织的最佳匹配。
2、通过人力资源的合理配置最大程度地发挥员工的能力。战略性的绩效管理强调的不是对员工绩效的静态的判断,它注重的是对员工个人、团队及组织整体绩效的动态管理。从绩效目标的设立到绩效标准的确定到绩效考核的实施和绩效改进措施的落实,整个绩效管理过程应该形成一个PDCA的循环圈,在循环的过程中不断发现问题,解决问题,不断实现个人和组织绩效的提高。它管理的是绩效形成过程本身,不把获得绩效考核的结果作为管理过程的重点,而将发现和解决绩效形成中的问题作为管理的重点。
3、通过有效的心理契约管理实现员工高承诺。人力资源的一个重要特征就是它的能动性,它蕴含于作为生物个体的个人之中,其使用不同其它物的资源,要受到个人动机的影响。战略人力资源管理通过与员工达成有效的心理契约,保证了员工对组织的高承诺。在实施的过程中,组织可通过人力资源战略和人力资源制度以及组织的文化有效地向员工传递组织对员工的承诺,并通过人力资源管理的实践逐步提高员工对组织的承诺,最终诱导出员工的企业公民行为,实现员工的社会化。
4、通过有效的激励最大程度地发挥员工的能力。战略人力资源管理注重内在激励与外在激励的平衡。一方面,它强调通过工作设计和员工的合理配置以及组织文化的建设让员工通过工作本身获得激励,通过作为组织的一员获得满足。另一方面,它也重视物质激励对员工行为的重要影响,在薪酬战略中充分注意其员工行为导向功能。而且,战略人力资源管理特别关注内外部激励在一定条件下的转化,并努力创造条件促其向有利于企业战略的方向发展。
四、通过人力资源开发增值为组织创造价值
战略人力资源管理将企业经营过程变成一种人力资本的经营过程。通过人力资本投资,企业可以获取更大的人力资本收益。人力资本增值成为组织增值的一种重要形式,人力资本成为组织最重要的资产。战略人力资源管理实现人力资本的增值首先是通过做好员工的职业生涯管理来实现的。组织根据组织战略和员工测试的结果对员工的职业生涯进行设计,并与员工进行反复、充分的沟通,形成双方认可、切实可行的员工职业生涯管理计划。该计划在实施过程中还可根据实际情况不断进行调整。在员工职业生涯管理计划的指导下,企业和员工共同努力,对员工进行系统的培训和开发。这种培训和开发因其目的明确、学以致用具有良好的效果和极高的投入产出比。
总之,通过实现组织人力资源管理的战略化,人力资源管理部门将由过去的成本中心变成效益中心。战略人力资源管理将成为组织价值创造和核心竞争力的重要源泉。
课程创新点
经过长期的教学实践,西电科大“编译原理”课程组已建立起了较完整的教学体系,包括年龄结构和知识结构合理的教师队伍、反映本课程水平的自编教材及先进的教学实践环境,其特色和创新点概述如下:
1)坚持教学科研并重,不断更新教学内容
课程组成员坚持教学与科研并重,十几年来先后主持与承担国防预研、国防预研基金、横向科研课题等十余项,发表学术与教学研究论文20余篇。这些课题所研究内容大部分是编译领域的核心技术,科研成果水平在国内高校同行中处于领先地位。丰富的科研积累为教学的实施与改革提供了充足的养分。
课程组能够将科研成果及时转化到本课程的教学中,同时不断更新教学内容和教学手段,极大地发挥了学生的学习热情和创造性,提高了“编译原理”课程教学的水平和质量。同时,通过科研与教学相结合,形成了一支学术造诣高、知识与年龄结构合理、勇于改革且团结协作的课程梯队。
2)重视实验教学研究与改革,培养学生工程实践能力与素质
计算机科学与技术专业是一个实践性要求很高的专业,而“编译原理”是本专业中对软件设计实验环节要求更高的课程。“编译原理”开设了独立的综合实验“函数绘图语言解释器构造”,其中的三个实验子系统“词法分析器构造”、“语法分析器构造”、“语法制导翻译图形绘制”有机连为一体,反映了“编译原理”课程的核心技术和实验水平,充实了理论教学内容,培养了学生的工程实践能力与科研素质。
我们还根据国内教学条件的实际情况,在所承担的科研项目工作基础上,于1993年自主研制开发了在微机和DOS/Windows环境下的词法分析器生成器XDFLEX和语法分析器生成器XDYACC(它们是与编译器构造领域中最具影响且被广泛使用的、Unix环境下的词法分析器生成器Lex和语法分析器生成器Yacc兼容的软件,其中XD是我校英文缩写),当时在国内是首创。1996年,我们又对XDFLEX进行了改造,增加了汉字识别的自动生成,并重新命名为XDCFLEX。至此,XDCFLEX/ XDYACC形成了具有中国特色的、教学与科研兼顾的编译器编写工具(放在我校网站上供自由下载)。此工具不但提高了我校学生的上机实习水平和“编译原理”课程实验室建设的水平,同时也被国内多所高校的教师和学生以及研究所的科研人员使用,提高了我校“编译原理”课程在国内的地位。
课程建设的实施办法
1)明确目标,合理安排。根据课程组的现有条件,制定合理的建设目标和课程质量标准,提出师资队伍建设规划以及教学过程、教学管理和教学改革等方面的基本要求。依靠教师和教学管理人员,明确职责,分级建设,责任到人。
2)树立课程整体优化的观念。在明确课程建设目标的前提下,解决相关课程之间的配合和衔接问题,推进“模块课程”或“系列课程”的整体优化,将课程建设放在专业建设和培养模式中进行优化设计。
3)重视师资队伍建设,开展教学改革与研究。课程建设应形成合理、优化的专业教师梯队,以高层次、高学历教师为主体,教师队伍中高、中、初级职称比例合适,课程负责人具有较高的学术水平和教学水平,课程组有计划地经常开展教研活动,加强对中青年教师的培养。保证每年有一定的教学改革项目或教研项目立项和教学改革成果。
4)加强教材建设,改革教学手段。一方面采用国内现有的先进教材和精品教材,另一方面根据学院自身的现有条件和专业特点组织教师自编部分具有一定创新性和特色的教材。同时制作、收集和整理电子教材、课件以及教辅材料,逐步形成立体化教材体系。根据本课程的教学特点,采用多媒体教学,建立教学网站,实现网上教学辅导。
5)建立健全学生评价、教师同行听课和教学督导组听课机制,逐步完善教学质量监控和评估体系,确保和提高课堂教学质量和效果。
6)建立有效的激励机制。对于承担精品课程建设任务并作出突出贡献的课程负责人及骨干教师在评奖、评优、晋职等方面给予优先考虑。
教材介绍
课程组曾经选用陈火旺院士的《编译原理》(国防科技大学出版社)、《编译原理和技术》,经过长期积累,在总结二十多年教学经验、科研与教学改革成果的基础上,由刘坚教授主编了《编译原理基础》教材。该教材及与其配套的教学辅助指导书《编译原理基础-习题与上机题解答》全面体现编译原理的教学规律,内容新颖先进,独创性、实用性好,教学适用性强。自2002年出版以来,已发行万余册,被若干高校选用,在相关科研技术人员中亦被广泛使用。2005年《编译原理基础》被评为西安电子科技大学优秀教材,同年,荣获陕西省优秀教材二等奖。
课程组教师
目前,“编译原理”课程组由4名主讲和3名专职辅导教师组成。
刘坚:1982年2月起在西安电子科技大学任教,教授。主讲本科生“编译原理”、研究生“编译原理与技术”等课程,研究方向为计算机软件理论与技术。主持“Ada软件开发平台技术”、“软件系统安全故障模式分析”、“软件安全模式”等课题的研究工作,发表多篇学术论文。
龚杰民:1973年5月起在西安电子科技大学任教,教授,研究方向为人机交互技术和软件开发工具。主讲“编译原理”、“形式语言与自动机理论”、“C程序设计”、“PROLOG程序设计”、“人机交互技术与可靠性工程”等课程。长期从事编译原理、形式语言与自动机、人机交互技术等课程的教学与研究。发表教学研究及学术论文多篇,著有《C语言程序设计及其应用》、《标准C语言程序设计及应用》、《人机交互技术及可视化技术》、《人-计算机界面设计》(译)等。主持的多项科研课题获得省部级奖励,其中,“触摸屏电子笔”获中国实用新型专利证书,主持的“液晶显示器和等离子体显示器的工效研究”课题成果已在日本使用。
方敏:1989年起在西安电子科技大学任教,博士,教授。主讲“编译原理”、“操作系统”、“计算机网络”等课程,参加“联合作战态势评估辅助决策模型研究”、“智能化多源数据融合”等课题的研究工作;编著教材“计算机操作系统”(西安电子科技大学出版社,2004);撰写论文多篇。
张淑平:1995年起在西安电子科技大学任教,在读博士生,副教授。主讲“编译原理”、“数据结构”等课程,西电科大 ACM/ICPC竞赛基地教练, 参加“宽带无线IP网络安全体系结构”、“基于算法的容忍入侵检测系统”等科研项目,著有“程序员教程”一书(清华大学出版社,2004),撰写论文多篇。
张立勇:2001年起在西安电子科技大学任教,在读博士生,讲师。主讲“编译原理”、“分布对象技术”、“算法设计与分析”等课程,参加“计算机软件安全模式分析”等课题研究,担任西电科大ACM/ICPC竞赛队教练。
胡圣明:2003年起在西安电子科技大学任教,在读博士生,讲师。辅导“编译原理”课程,主讲“数据库应用技术”课程,参加《编译原理基础-习题与上机题解答》的编写工作。参加“程序理解征挖掘理论与方法的研究”、“面向对象逆向工程工具研究”、“系统应用软件逆向工程工具研究”等科研项目的研究工作,撰写论文多篇。
一、注重理论教学
编译程序不同于一般的应用程序,是一个十分庞大和复杂的系统软件,它所包含的算法和思想比较特殊,理论性较强,抽象度也较高。学习编译程序的构造原理和实现技术,不仅可以掌握编译程序本身的实现技术,同时也能够提高对程序设计语言的理解,提高语言的设计能力,提高元级程序的设计能力,提高开发大型软件的能力,能够培养学生的抽象思维能力和形式化描述能力。吉林大学计算机学院软件教研室在“编译原理”课程的教学过程中,注重学生对原理的理解,使学生不仅要做到知其然,更要做到知其所以然。
(1)科学引导,启发学生积极思维
从知识体系的内部结构入手,抓住编译过程各个功能阶段的内在联系和规律,通过有目的地设计问题,有意义地提出问题,引导学生的积极思维。把编译原理中的理论难点、抽象概念通过问题引导呈现出来,学生通过回答问题,从不同的角度寻求解决问题的原则、途径和方法,从而引导学生独立分析问题和解决问题,加深对编译理论和技术的理解。
(2)从知识体系的内部结构入手,培养学生的自学能力
教师通过精心备课,掌握知识的内在联系,对编译过程的各个功能阶段进行归纳总结。讲授时,让学生掌握编译原理各个阶段的基本概念,基本法则以及它们之间的内在联系和规律,抓住知识体系的主线,掌握规律性的知识,授之以法,培养学生的自学能力。
(3)实施多媒体辅助教学形式
“编译原理”是一门理论性强的课程,为了使抽象问题形象化,便于学生对知识点的理解和运用,利用多媒体手段,把原理性的重点知识以动画、图形形式呈现给学生,把知识讲解化静为动,寓教于乐,培养和激发学生的学习兴趣。
(4)设计课程辅助教学软件
教研室设计和开发了编译原理CAI课件-PCMCAI、SNL编译实例等编译原理教学辅助软件,教师在上课时使用这些课件来演示部分关键算法和难点,提高了教学效果,学生在课下利用这些课件自动生成各个分析程序,进一步理解基本原理和实现算法。
二、开拓教学内容、扩展学生视野
在“编译原理”课程的讲授过程中,教学队伍一直坚持教学和科研相结合、理论和实践相结合、课内和课外相结合,融知识传授、能力培养、素质教育于一体,将最新教改和科研成果引入教学。
教研室先后承担了Algol60编译器、Fortran编译器、Algol60到Fortran的转换器等与编译原理相关的科研项目,目前教研室正在进行ATLAS编译器项目的设计与开发工作。在教学过程中将这些科研项目中的新思想、新方法、新技术融入到课堂讲授当中,不仅加深了学生对编译基本原理的掌握,而且促进了学生对传统内容与最新技术成果的理解。例如,在讲授语法分析时,传统的Early算法受当时硬件条件限制,它仅仅是一个理论上的语法分析方法;随着技术进步,结合ATLAS编译器项目的设计与实现,Early语法分析方法便成为一个实用、有效的语法分析方法。通过这些内容的讲述,将经典编译理论与现代编译技术有机地结合起来,激发了学生对编译新技术的学习兴趣。
三、重视实践能力培养
编译程序以程序作为操作对象,是一个元级处理程序,它所包含的算法和思想理论性较强,抽象度也较高,并且一个编译器是由多个完成不同功能、执行在不同阶段的子程序组成的,各个阶段具有不同的特点,采用比较经典的方法来完成各自不同的功能,即使学生理解了不同阶段的各个子程序的功能和特定方法,但如何衔接各个子程序,如何组成一个完整的编译器,对学生来讲,仍可能是一件比较困难的事情。基于此,我们开设了编译原理实践课程,培养学生的实践能力。
实践性教学的设计思想是使学生透彻地理解编译程序的原理和思想,系统全面地掌握编译技术,使学生通过课堂学习,理解编译原理的同时,注重学生实践能力的培养,进一步巩固对知识的理解,通过实际的锻炼,掌握编译技术,进而能够独立地进行编译器的设计。
通过多年来的教学实践以及近五年来关于编译原理实践课程的建设,我们取得了一些成效。开设的编译原理实践课程,以实际上机实习为主,教师指导为辅,学生在实践课程中,通过实际动手,把原理性的抽象理论知识具体化和形象化,消化了课堂上、书本中难于理解的概念和方法,全面系统地掌握了编译器的构造过程。同时,也激发了学生的学习兴趣,提高了学生进行更深入学习的主动性。通过一个学期的实习,大部分学生对编译器的整个过程有了较清晰的理解,灵活地掌握了编译程序的构造方法和技术,部分学生可以独立地设计和实现自定义的模型语言,达到了预计的效果。
四、精品课网站建设
针对目前学生人数增多,教学资源不足,学生质量参差不齐,教学质量和效率得不到保证的情况,我们充分利用Internet网络,建立和实施了网络课程体系,利用Internet网在信息制造、贮存和递送方面的优势,克服了资源不足的缺点,同时也为学生提供了完全个性化的学习环境,发挥网络教学优势。具体网址为。
目前已经完成了编译网络课程体系的基本功能模块,构造和实现了一个网络课程资源系统,具体包括:
(1)“编译原理”网络课程内容教学体系
将“编译原理”的课程概况、课程内容、习题解答、教学录像、参考资料、实践课题、编译实例库以及CAI课件等内容上网,为校内外学生学习和实践编译原理与技术提供理论知识和范例。
(2)完成学生练习系统的构造
通过电子黑板,BBS为学生提供开放的学习时间和空间,促进教师与学生,学生与学生间的相互交流,激发学生学习的主动性,提高学生的实践能力,更深入地理解和掌握课程内容。
(3)设计实现辅助工具系统
提供电子笔记本,对学生学习情况进行记录,教师通过对记录的分析,反馈和改进课程网络系统,有利于今后的维护工作。
(4)构造网络管理系统
通过网络登陆验证,维护网络安全,以保证网络课程体系运行良好。
五、教师队伍建设
长期以来,教研室一直注重把精品课程建设与高水平教师队伍建设相结合。“编译原理”课程已形成一支教师职称结构、年龄结构、学历结构、学位结构合理,人员稳定,教学水平高的教学队伍。教学队伍成员具有良好的师德,学术造诣高,教学能力强,教学经验丰富,教学特色鲜明。
编译课程负责人刘磊教授1997年获宝钢优秀教师奖,2005年被评为吉林大学十佳优秀教师,并在学校的教学评估中,多次被评为优秀,受到学校的表彰奖励,先后主编出版了多部教材,在各级学术期刊和国际会议上发表学术论文60余篇。
六、教材建设
教研室一直注重编译教材建设,先后在科学出版社、高等教育出版社和机械工业出版社出版了编译原理方面的著作7部,例如:《Algol60编译方法》上下册(1983年,科学出版社)、《编译方法》(1984年,高等教育出版社)、《编译原理与实现》(1989年,高等教育出版社)、《编译程序构造原理和实现技术》(2000年,高等教育出版社)、《编译程序的设计与实现》(2004年,机械工业出版社)、《编译原理及实现技术》(2005年,机械工业出版社)等。
目前在编著的由国家“九五”规划出版的面向二十一世纪教材《编译程序构造原理和实现技术》基础上,教研室又新推出了《编译程序设计与实现》教材,作为“编译原理”实践课程教材,也是“编译原理”课程的配套教材。该教材以实践培养为重点,针对一个教学语言模型,详细地介绍了该模型语言编译器的设计和具体的实现方法。同时,为学生提供国内外先进的编译教材,供学生选读。
我们知道,早在几十年前,伟大的物理学家爱因斯坦就已经提出了统一场论;一直以来许多科学家,为了把万有引力与电磁力统一起来,进行了不懈的努力;但是由于他在广义相对论中提出的引力理论与经典电磁理论是格格不入的初中物理论文,因而也给统一理论制造了难以克服的障碍,所以许多科学家试图从更微观的角度来统一它们,因而提出了超弦理论,虽然理论的推导取得了一定的进展,但是确越推导越复杂,许多问题至今仍然无法解决,因而许多科学家也在进行反思,是不是我们前进的方向不对,本人经过近二十年的努力,总结出一个能够验证它们是不是同一种力的实验初中物理论文,即重物悬吊实验,具体实验方法如下:
实验器材:1、导电性能良好的金属或合金容器(在金属容器的上方设置一个圆形的上盖,可以放入或拿出重物;在上盖的中央设置一个圆形的小洞,可以来回穿过绳子)。2、放金属容器的绝缘物体,3、重物,4、绝缘的绳子,5、吊重物用的滑轮,6、拉力计。实验目的:验证统一论。实验步骤:第一步:把金属容器放在绝缘物体上论文提纲格式。第二步:把滑轮固定在金属容器的正上方。第三步:把绳子的一端穿过滑轮和金属容器的上盖、拴在重物上。第四步:拉住绳子的另一端,将重物吊起,放入金属容器内。吊在金属容器的中央初中物理论文,然后盖上容器的上盖。
第五步:将拉力计的一端固定,绳子拴在拉力计的另一端。第六步:记下拉力计的刻度(即重物的重量)。第七步:给金属容器充上尽可能多的大量的同种电荷。
实验结果:如果电磁力与万有引力(重力)是同一性质的力,电磁场与引力场(重力场)是同一性质的场,那么当金属容器的表面充满大量同种电荷的时候,金属容器外的电磁场与引力场(重力场)就能够发生自动的相互中和论文提纲格式。这时的引力场就可以看做是一种电磁场;重力(引力)就可以看做是一种电磁力。根据处于静电平衡状态的导体内部场强处处为零的原理,可知金属容器内的场强应该处处为零,因此重物在金属容器内所受外力的合力应该为零,因此拉力计的刻度会自动归零。反之,如果它们不是同一性质的力,当导电金属容器表面充满大量电荷后初中物理论文,容器周围的电磁场和重力场(引力场)就不能相互中和,容器内重物所受的重力与电磁力就不会相互中和,拉力计的刻度就会保持不变。当然根据爱因斯坦的统一场论可知,实验的预期结果应该是第一种,重物在处于静电平衡状态的带电容器内,受到的重力与电磁力的合力应该为零,拉力计的刻度归零。
参考文献:
1 Proteus 简介
Proteus是英国Labcenter公司研发的多功能EDA(电子设计自动化),它实现了从电路设计到测试、仿真、调试的整个过程。仿真运行通过后再制作实际电路的话,就大大缩短了开发周期,并且降低了开发成本。所以说它为电子电路、单片机应用系统的开发设计以及教师的教学、学生的学习提供了非常有效的方法。
2 单片机应用系统设计与仿真实例
下面通过制作一个简单的单灯闪烁,说明如何使用Proteus实现单片机应用系统的设计与仿真。要求发光二极管一亮一灭的不停闪烁。
2.1 设计电路
利用Proteus绘制电路原理图的步骤如下:
⑴运行Proteus ISIS程序;
⑵单击P命令进入元件选择对话框,选择电路设计中所需的元件;
⑶放置元件到绘图区简单制作,布好局;
⑷设置好元件的参数;
⑸连接导线。
绘制完成的单灯闪烁硬件电路图如图1所示。
图1 单灯闪烁硬件电路图
2.2 编写程序
ORG0030H
LOOP: SETB P1.0
LCALL DELAY
CLR P1.0
LCALL DELAY
LJMP LOOP
DELAY: MOVR3, #250
L:MOV R4, #250
LL:DJNZ R4, LL
DJNZ R3, L
RET
END
编辑好程序保存时,文件的扩展名必须是ASM格式。
编译程序,若编译通过,便得到HEX格式的文件论文开题报告范例。
2.3 加载程序文件
双击原理图中的单片机元件AT89C51,便出现单片机的属性编辑窗口,在“Program File”栏指出HEX格式的程序文件所在的位置,就可将该程序文件加载到单片机中。
2.4 启动仿真,看电路运行效果
单击仿真控制按钮,观察电路的运行状况。
Proteus可以总体仿真运行,也可单步或设置断点仿真。
启动仿真后,能清楚地观察到单片机系统在运行时,各硬件所处的实时状态。
若电路设计合理、程序编写正确,就会看到发光二极管不停地闪烁。
2.5 调试简单制作,修正电路、程序代码
若未出现想要实现的功能,就需进行软硬件调试。
对于硬件电路,可用Proteus中提供的测量仪器仪表对电路进行测试、观察;至于程序,可采取单步或设置断点进行仿真调试。
不断修正电路及程序代码,直到能实现相应功能,并改变元件参数使电路的性能达最优。
注:每次修改完程序后,都必须再编译一次,然后装载到单片机中。
2.6 仿真运行通过,制作实际电路
仿真运行通过后,根据设计的原理图,购买元器件、制板、焊接、测试调试,直至产品制作成功。
Proteus仿真模型是根据生产厂家提供的技术参数文件来建立的,仿真极接近实际简单制作,所以仿真运行通过后制作的实际电路的成功率相当高。
3 引入Proteus的好处
3.1 教学中
1. 教学内容生动形象化
利用Proteus仿真软件和多媒体教学设备,在课堂中通过实例仿真,演示从单片机硬件设计到软件调试的全过程,并演示运行结果,使教学内容生动形象化。
2. 激发学生的学习兴趣,提高教学质量
教学中对实例用Proteus进行仿真,这种结合实际讲解知识点的方法,大大激发了学生的学习兴趣,使知识点变得容易理解、接受,从而提高了教学质量。
3. 拓展学生思维
讲解完知识点后,针对实例,向学生提出相关拓展性问题。比如上例中:
⑴P1.0口线上能否多并联几个发光二极管?改变R2阻值大小的话会出现什么现象?
⑵能不能将P1.0换为32根I/O口线中的其他线呢?若能的话,改为P0的某一口线时需注意什么?
⑶P1.1~P1.7能否像P1.0一样都接发光二极管以及电阻呢?
⑷硬件电路改了简单制作,程序相应地要如何修改呢?。。。论文开题报告范例。。。
通过提问,并适当演示,这样不仅拓展了学生的思维,同时加强、深化了学生对知识点的理解。
3.2 实践中
1. 提高开发速度,降低开发成本
从上例可看出,利用Proteus软件,在绘图区绘制好电路原理图,并将编译后的程序文件加载到单片机中,进行仿真就能观察整个电路的运行情况,验证设计是否达到要求,未达到,即可修整设计方案、修改程序、测试电路,直至成功。这样就无须多次购买元器件板、制板、焊接测试调试等简单制作,省时、省力、省钱,同时也提高了设计效果和质量。
2. 敢于尝试,勇于创新
根据仿真通过后的电路原理图来制作产品,学生就不用担心元器件损坏等问题,就敢于动手去尝试设计电路。通过自己动手,加深了对理论知识的理解,同时培养了学生勤思考、勇于创新的精神。
4 结语
教学与实践中引入Proteus,提高了学生的学习热情。产品制作成功,学生就会很有成就感、满足感,这是一个良性循环。通过不断的实践,学生的动手开发、创新能力就得到了较大的提高。
参考文献:
[1]彭勇.单片机技术.电子工业出版社,2009.8
作为信息产业的核心和国民经济信息化的基础,软件产业日益受到国家的高度重视。权威数据显示,我国软件产业每年人才需求量近一百万,然而令人尴尬的是,许多软件企业却招聘不到真正合适的软件人才。信息社会不断增长的软件人才需求与优质软件专业教育供给不足的矛盾已成为计算机高等教育发展面临的一个重要问题。
然而,软件工程是一个迅速发展的交叉性学科,相关的新概念、新技术、新方法不断涌现,这就要求教育机构要不断调整策略,以应对专业的快速变化。尤为突出的是,无论是全国首批35所示范软件学院还是非示范软件学院,大部分都根植于计算机学院,因此很多软件工程专业学科课程体系与计算机科学与技术专业基本相似,而计算机科学与技术专业的教学内容是远远不能适应软件工程学科的发展要求的。
从根本上解决上述问题的关键是,结合中国软件产业和软件学院已有的硬、软件基础设施及办学的具体情况,研究和定制适合本学院特色的软件工程学科的课程设置、教学内容、教学方法,形成一个良好的软件工程学科课程体系,使软件工程教学更具先进性、目的性和系统性,其中对计算机科学核心课程的工程化改造势在必行。
本文将研究计算机学科的“编译原理”课程在软件工程专业如何进行工程化改造,怎样创建适合软件工程专业知识体系要求的“编译原理”实践教学,从而在科学的软件工程学科课程体系的保证下,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,以适应软件工程学科教学要求,使软件工程学科教学质量得到不断发展,使软件工程专业教育得到健康稳步发展,培养社会需要的软件人才。
1 “编译原理”的工程化实践教学体系
1.1教育教学理念
工程化实践教学就是树立工程化能力培养与基础理论教学、专业能力培养并重的教学理念,把工程化教学作为人才培养的核心任务之一,通过全面改革软件工程专业的人才培养模式、调整课程体系、充实教学内容、改进教学方法,在教学过程中全面体现能力和职业素质培养的思路,并将软件工程知识内容由浅入深、阶梯状、循序渐进地贯穿在工程化实践教学的各个开发项目中。
基于上述软件工程专业的知识体系、本科课程设置的指导原则以及工程化实践教学教育教学理念,下面将给出“编译原理”课程的工程化实践教学体系。
1.2 “编译原理”的工程化实践教学体系
如图1所示,“编译原理”课程的工程化实践教学体系由六个部分组成:编译原理课程工程化实践教学环境、编译原理理论教学、软件工程能力培养、阶梯状迭代工程实践项目、配套教材和评价体系。构建理念为以计算机科学为基础,以软件工程为核心,以目标应用为导向。
1.2.1 “编译原理”课程工程化实践教学环境
“编译原理”课程工程化实践教学环境由实验室、项目团队、教师讲座以及团队汇报组成。
(1) 实验室。以工程化培养理念指导教学实验室建设,为“编译原理”课程工程化实践教学提供强有力的基础设施支持。提供全天开放机房,机房实行开放型管理。项目开发时间规定为开时间和闭时间,闭时间为固定时间,要求授课教师到机房现场指导,开时间内,学生可以自由选择时间,以小组为单位进行自行讨论、设计,要求实验室人员在现场,以便解决设备问题。机房的使用和维护要有严格的管理制度,保证项目的顺利完成。
(2) 教师讲座。指导教师在整个的项目开发中纵览全局,项目的开始、结束及中间的每个模块都要进行全面的讲解、引导和组织。教师要系统讲解软件工程知识点和软件技术,统一讲解项目开发过程中学生普遍存在的问题,不断地发现问题,解决问题。
(3) 项目团队。将4~5个学生分为一个项目小组,一名组长作为负责人;每名学生分配一台微型计算机,在开发小组中以分工协作的方式完成指定的软件开发任务,完成项目设计报告,并提交完整的软件开发文档和源代码。学生在团队环境下使用最新的软件开发工具,获得较真实的软件开发经验,提高学生在项目规划、队伍组织、工作分配、成员交流等多方面的能力,培养学生团队合作及工程项目研发能力。
(4) 团队汇报。理论教学中教师唱主角,而工程化实践教学应让学生唱主角,让开发小组自己拟定演讲方案、内容,由教师审核修改后进行汇报演讲。这样可以有效地提高学生总结概括、研究立项、口头表达、演讲和交流沟通的能力,培养学生独立思考、分析问题的能力和创新能力。
1.2.2 “编译原理”理论教学
由知识的先期注入和工程化理论教学组成。
(1) 知识的先期注入。“编译原理”课程的理论性较强,整个课程内容由几个功能模块组成,学生对课程的完全理解应在最后一个模块,即课程结束时。鉴于教学内容的特殊性,应在一门程序设计语言之后安排“CO释程序的面向对象设计与实现”项目,作为前导实践环节,配套教材为《C++实战:解释程序的面向对象程序与设计》。这可以使学生在学习理论之前对程序设计语言的解释执行有较深的理解,由传统的“填鸭式”被动学习转变为学生自主式学习。学生对“编译原理”课程的学习由问“这是什么”变成“这是我需要的什么”,从根本上解决了“编译原理”课程的教学困难。实践表明,这种方法在锻炼学生实践能力的同时先期注入了理论教学需要的解释程序的知识和概念, 有很好的教学效果。
(2) 工程化理论教学。编译程序是庞大而复杂的,这使得如何介绍编译原理本身就是一个难题。中外编译原理教材很多,如果从工程化的角度去诠释编译程序的实现过程及其原理,即对一个完整的源程序到目标程序的转换过程进行详细讲解,不失为一个新的途径。我们的配套教材《编译程序的实现原理》的编写形式如下:先给出编译器的输入——一个C语言小程序;再给出编译器的输出——目标机上的目标语言,完成这样的转换需要进行的工作包括词法分析、语法分析等几个功能模块;再针对每个功能模块给出本模块的输入和输出,如词法分析为一个C语言小程序,模块的输出形式为TOKEN链表,完成这样的转换需要进行的工作由理论和实现两部分组成。这种讲述方法实现了五化:
工程化:以对一个完整的源程序到目标程序的转换作为教学载体介绍编译程序的实现及其原理,以反映编译的工程性。
链接化:将一个完整的源程序到目标程序的转换所需的知识处理成总目标与子模块、子模块内所需知识点之间的链接,以反映编译的整体性。
需求化:将编译原理内容的平铺直叙转换为实现一个完整的源程序到目标程序的转换的所需知识,解决了编译内容的庞杂、不分主次、叙述冗长的问题。
模块化:将一个完整的源程序到目标程序的转换作为总目标,将不同的子转换作为各个子模块的目标,以反映编译的模块性。
形式化:将形式语言的内容介绍放置在为完成目标所需知识的位置,突出形式语言的地位、内容及其应用。
1.2.3软件工程能力培养
在工程化实践教学体系中,软件工程能力的培养是至关重要的。
软件工程能力包括软件需求、软件设计、软件构造、软件工程基础结构、软件配置管理、软件维护等知识单元。有些知识单元在早期学习,以促进学习条件的成熟;而有些知识单元的学习需要一定的成熟条件,应该放在后期讲授,如阶梯状迭代工程实践项目是整个教学过程中理论联系实际,培养学生动手能力、观察能力、分析和解决问题能力、团队合作以及创新精神的重要环节。把软件工程知识单元分期、分阶段引入阶梯状不同开发项目的全过程,形成了特色鲜明的工程化实践教育体系,使学生的软件工程能力在实际项目开发中得到锻炼和提升。“编译原理”课程工程化实践项目内容安排如表1所示。
“实践性、个性化、逐步工程化”是工程化人才培养的重要环节,也是学生成为合格软件工程化人才的实践过程。以上教学组织方法既保证了教学的系统性、知识性,又保证了教学案例的先进性和实践性。
1.2.4阶梯状迭代工程实践项目
编译器代码的长度可从10 000行到1 000 000行不等,编写甚至读懂这样一个程序都非易事,更何况是开发,因此编译器的实现比以前任何课程中学生承担的设计要大得多、难得多。纵观国内外大学研究现状,一般都是先设计一个语言,面向过程式或面向对象式,然后对设计的语言进行面向过程或面向对象程序设计方法的开发,早期采用面向过程语言编译器的面向过程开发,如吉林大学计算机科学与技术学院的编译原理实践课程“编译程序的设计与实现”,近期采用面向过程语言编译器的面向对象开发,或是面向对象语言编译器的面向对象开发,如 “Modern Compiler Implementation in Java”。无论哪一种,学生都是一次性为具有上百条产生式语法的语言开发编译器,难度极大,这使实践课程的收效甚小。采用阶梯状迭代教学法创建的编译原理课程工程化实践项目从根本上解决了这个问题,配套教材为《编译程序的面向对象程序与实现》。
如图1和图2所示,编译原理课程工程化实践项目内容包括“C0解译程序的面向对象设计与实现”,“C1编译程序的面向对象设计与实现”,“C2编译程序的面向对象设计与实现”,“C3编译程序的面向对象设计与实现”。整体项目的源语言定义为C语言的子集,采用阶梯状迭代教学法后,将源语言定义为C0、C1、C2、C3,Cn是Cn-1的扩展。
编译原理课程工程化实践项目的优点有:
(1) 迭展: 每一个项目需求是前一个项目的扩展,因此,每一次的软件开发可以看作是前一次开发的迭代,使学生面对大型软件开发项目中最难处理的用户需求不断变更的问题,最大程度地使用重用技术。所有项目的开发承上启下、循序渐进、阶梯状迭展,为研究和学习软件生产线新技术埋下伏笔。
(2) 起点低:降低了开发难度。学生根据自己的实际水平选择源语言级别,有不同收效。从根本上解决了软件开发水平低的学生对编译程序开发望而生畏甚至放弃的问题。
(3) 阶梯上升:项目内容的选择不是零散的、随机的、重叠的,而是相互关联的。纵向为编译理论,是主要内容;横向为软件工程,是辅助内容。主要内容将难点分散,处理成阶梯状;辅助内容也将难点分散,同样处理成阶梯状。
(4) 知识渗透:将软件工程核心内容及工程化软件开发思想由浅入深逐步渗透到各个项目中,每个项目具有不同级别的培养目标,学生从不同项目循序渐进地掌握工程化软件开发理念,降低了工程化软件开发的难度。
阶梯状迭代工程实践项目发挥了学生的主体意识,给学生足够的空间,激发了学生的活力与创新思维,并培养了学生的“三个能力”(自我管理能力、组织策划能力、社会实践能力)和“五种意识”(责任意识、服务意识、创新意识、团队意识、竞争意识)。
1.2.5配套教材
编译原理课程工程化实践教学配套教材共有3部,前导教材《C++实战:解释程序的面向对象程序与设计》与“编译原理”理论教学知识的先期注入配套;《编译程序的实现原理》与“编译原理”工程化理论教学配套;《编译程序的面向对象程序与实现》与阶梯状迭代工程实践项目配套,3部教材前后关联且各呈完整体系。本套教材为清华大学出版社“编译原理及其实践课程的工程化教学课群研究”立项项目,已出版1部,另2部明年中旬出版。
1.2.6评价体系
编译原理课程的工程化实践教学评价体系包括对学生工程素质和对教学体系的评价。
学生工程素质的评价采用过程化考核管理标准,即把工程化能力和职业素质引入学生工程素质的评价体系,加大工程化实践环节的比重,形成专业理论知识和实践能力并重的考核体制,将期末一张试卷定成绩的考评机制改为由工程化实践项目、随堂测验、论文、面试、考试、团队等多种形式相结合的评价机制,防止实验抄袭现象。编译原理课程考核采取理论知识和工程化实践项目完成情况的综合考核方式,工程化实践项目根据项目设计报告、软件开发文档、源代码和运行系统的质量进行考核,学生成绩以登记评定方式给出。
教学体系的评价采用回馈化考核管理标准,即把企业回馈和毕业生回馈引入教学体系的评价。对企业和毕业生进行跟踪调查,通过收集企业和学生的反馈指导教学和实践项目的设置和修订,形成良性循环,为进一步提高教学质量打下坚实基础。
2结论
软件工程是集计算机科学与技术、数学、经管等多学科的交叉性学科。作为一名软件工程教育者,我们必须建立一套具有自身特色的工程化人才培养体系,培育具有国际竞争力的一流软件产业高级/高端人才,结合软件工程人才的学科交叉性、偏重实用、职业定位等特点,系统深入地研究软件产业对技术型、管理型的人才需求,注重学生综合能力和专业素质的培养,才能在计算机系统、软件工具、软件工程和管理上循序渐进地提高学生的能力。
参考文献:
[1] Aho, Alfred V., Ravi Sethi, Jeffrey Ullman. Compilers: Principles, Techniques and Tools[M]. Reading, MA: Addison-Wesley, 1986.
中图分类号:G642 文献标识码:B
作为信息产业的核心和国民经济信息化的基础,软件产业日益受到国家的高度重视。权威数据显示,我国软件产业每年人才需求量近一百万,然而令人尴尬的是,许多软件企业却招聘不到真正合适的软件人才。信息社会不断增长的软件人才需求与优质软件专业教育供给不足的矛盾已成为计算机高等教育发展面临的一个重要问题。
2001年12月,经国家教育部和国家计委联合发文批准,全国首批35所示范软件学院正式成立,目的是批量培养具有国际竞争能力的高层次、应用型、复合型软件工程人才。自示范软件学院成立以来,我国软件工程教育事业得到了很大发展,学科建设逐步走向成熟,初步实现了与国际学科发展的接轨,软件工程教育实现了历史性跨越。
然而,软件工程是一个迅速发展的交叉性学科,相关的新概念、新技术、新方法不断涌现,这就要求教育机构要不断调整策略,以应对专业的快速变化。尤为突出的是,无论是全国首批35所示范软件学院还是非示范软件学院,大部分都根植于计算机学院,因此很多软件工程专业学科课程体系与计算机科学与技术专业基本相似,而计算机科学与技术专业的教学内容是远远不能适应软件工程学科的发展要求的。
从根本上解决上述问题的关键是,结合中国软件产业和软件学院已有的硬、软件基础设施及办学的具体情况,研究和定制适合本学院特色的软件工程学科的课程设置、教学内容、教学方法,形成一个良好的软件工程学科课程体系,使软件工程教学更具先进性、目的性和系统性,其中对计算机科学核心课程的工程化改造势在必行。
本文将研究计算机学科的“编译原理”课程在软件工程专业如何进行工程化改造,怎样创建适合软件工程专业知识体系要求的“编译原理”实践教学,从而在科学的软件工程学科课程体系的保证下,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,以适应软件工程学科教学要求,使软件工程学科教学质量得到不断发展,使软件工程专业教育得到健康稳步发展,培养社会需要的软件人才。
1 “编译原理”的工程化实践教学体系
1.1教育教学理念
工程化实践教学就是树立工程化能力培养与基础理论教学、专业能力培养并重的教学理念,把工程化教学作为人才培养的核心任务之一,通过全面改革软件工程专业的人才培养模式、调整课程体系、充实教学内容、改进教学方法,在教学过程中全面体现能力和职业素质培养的思路,并将软件工程知识内容由浅入深、阶梯状、循序渐进地贯穿在工程化实践教学的各个开发项目中。
基于上述软件工程专业的知识体系、本科课程设置的指导原则以及工程化实践教学教育教学理念,下面将给出“编译原理”课程的工程化实践教学体系。
1.2 “编译原理”的工程化实践教学体系
如图1所示,“编译原理”课程的工程化实践教学体系由六个部分组成:编译原理课程工程化实践教学环境、编译原理理论教学、软件工程能力培养、阶梯状迭代工程实践项目、配套教材和评价体系。构建理念为以计算机科学为基础,以软件工程为核心,以目标应用为导向。
1.2.1 “编译原理”课程工程化实践教学环境
“编译原理”课程工程化实践教学环境由实验室、项目团队、教师讲座以及团队汇报组成。
(1) 实验室。以工程化培养理念指导教学实验室建设,为“编译原理”课程工程化实践教学提供强有力的基础设施支持。提供全天开放机房,机房实行开放型管理。项目开发时间规定为开时间和闭时间,闭时间为固定时间,要求授课教师到机房现场指导,开时间内,学生可以自由选择时间,以小组为单位进行自行讨论、设计,要求实验室人员在现场,以便解决设备问题。机房的使用和维护要有严格的管理制度,保证项目的顺利完成。
(2) 项目团队。将4~5个学生分为一个项目小组,一名组长作为负责人;每名学生分配一台微型计算机,在开发小组中以分工协作的方式完成指定的软件开发任务,完成项目设计报告,并提交完整的软件开发文档和源代码。学生在团队环境下使用最新的软件开发工具,获得较真实的软件开发经验,提高学生在项目规划、队伍组织、工作分配、成员交流等多方面的能力,培养学生团队合作及工程项目研发能力。
(3) 教师讲座。指导教师在整个的项目开发中纵览全局,项目的开始、结束及中间的每个模块都要进行全面的讲解、引导和组织。教师要系统讲解软件工程知识点和软件技术,统一讲解项目开发过程中学生普遍存在的问题,不断地发现问题,解决问题。
(4) 团队汇报。理论教学中教师唱主角,而工程化实践教学应让学生唱主角,让开发小组自己拟定演讲方案、内容,由教师审核修改后进行汇报演讲。这样可以有效地提高学生总结概括、研究立项、口头表达、演讲和交流沟通的能力,培养学生独立思考、分析问题的能力和创新能力。
1.2.2 “编译原理”理论教学
由知识的先期注入和工程化理论教学组成。
(1) 知识的先期注入。“编译原理”课程的理论性较强,整个课程内容由几个功能模块组成,学生对课程的完全理解应在最后一个模块,即课程结束时。鉴于教学内容的特殊性,应在一门程序设计语言之后安排“CO释程序的面向对象设计与实现”项目,作为前导实践环节,配套教材为《C++实战:解释程序的面向对象程序与设计》。这可以使学生在学习理论之前对程序设计语言的解释执行有较深的理解,由传统的“填鸭式”被动学习转变为学生自主式学习。学生对“编译原理”课程的学习由问“这是什么”变成“这是我需要的什么”,从根本上解决了“编译原理”课程的教学困难。实践表明,这种方法在锻炼学生实践能力的同时先期注入了理论教学需要的解释程序的知识和概念,有很好的教学效果。
(2) 工程化理论教学。编译程序是庞大而复杂的,这使得如何介绍编译原理本身就是一个难题。中外编译原理教材很多,如果从工程化的角度去诠释编译程序的实现过程及其原理,即对一个完整的源程序到目标程序的转换过程进行详细讲解,不失为一个新的途径。我们的配套教材《编译程序的实现原理》的编写形式如下:先给出编译器的输入――一个C语言小程序;再给出编译器的输出――目标机上的目标语言,完成这样的转换需要进行的工作包括词法分析、语法分析等几个功能模块;再针对每个功能模块给出本模块的输入和输出,如词法分析为一个C语言小程序,模块的输出形式为TOKEN链表,完成这样的转换需要进行的工作由理论和实现两部分组成。这种讲述方法实现了五化:
工程化:以对一个完整的源程序到目标程序的转换作为教学载体介绍编译程序的实现及其原理,以反映编译的工程性。
模块化:将一个完整的源程序到目标程序的转换作为总目标,将不同的子转换作为各个子模块的目标,以反映编译的模块性。
链接化:将一个完整的源程序到目标程序的转换所需的知识处理成总目标与子模块、子模块内所需知识点之间的链接,以反映编译的整体性。
需求化:将编译原理内容的平铺直叙转换为实现一个完整的源程序到目标程序的转换的所需知识,解决了编译内容的庞杂、不分主次、叙述冗长的问题。
形式化:将形式语言的内容介绍放置在为完成目标所需知识的位置,突出形式语言的地位、内容及其应用。
1.2.3软件工程能力培养
在工程化实践教学体系中,软件工程能力的培养是至关重要的。
软件工程能力包括软件需求、软件设计、软件构造、软件工程基础结构、软件配置管理、软件维护等知识单元。有些知识单元在早期学习,以促进学习条件的成熟;而有些知识单元的学习需要一定的成熟条件,应该放在后期讲授,如阶梯状迭代工程实践项目是整个教学过程中理论联系实际,培养学生动手能力、观察能力、分析和解决问题能力、团队合作以及创新精神的重要环节。把软件工程知识单元分期、分阶段引入阶梯状不同开发项目的全过程,形成了特色鲜明的工程化实践教育体系,使学生的软件工程能力在实际项目开发中得到锻炼和提升。“编译原理”课程工程化实践项目内容安排如表1所示。
“实践性、个性化、逐步工程化”是工程化人才培养的重要环节,也是学生成为合格软件工程化人才的实践过程。以上教学组织方法既保证了教学的系统性、知识性,又保证了教学案例的先进性和实践性。
1.2.4阶梯状迭代工程实践项目
编译器代码的长度可从10 000行到1 000 000行不等,编写甚至读懂这样一个程序都非易事,更何况是开发,因此编译器的实现比以前任何课程中学生承担的设计要大得多、难得多。纵观国内外大学研究现状,一般都是先设计一个语言,面向过程式或面向对象式,然后对设计的语言进行面向过程或面向对象程序设计方法的开发,早期采用面向过程语言编译器的面向过程开发,如吉林大学计算机科学与技术学院的编译原理实践课程“编译程序的设计与实现”,近期采用面向过程语言编译器的面向对象开发,或是面向对象语言编译器的面向对象开发,如“Modern Compiler Implementation in Java”。无论哪一种,学生都是一次性为具有上百条产生式语法的语言开发编译器,难度极大,这使实践课程的收效甚小。采用阶梯状迭代教学法创建的编译原理课程工程化实践项目从根本上解决了这个问题,配套教材为《编译程序的面向对象程序与实现》。
如图1和图2所示,编译原理课程工程化实践项目内容包括“C0解译程序的面向对象设计与实现”,“C1编译程序的面向对象设计与实现”,“C2编译程序的面向对象设计与实现”,“C3编译程序的面向对象设计与实现”。整体项目的源语言定义为C语言的子集,采用阶梯状迭代教学法后,将源语言定义为C0、C1、C2、C3,Cn是Cn-1的扩展。
编译原理课程工程化实践项目的优点有:
(1) 起点低:降低了开发难度。学生根据自己的实际水平选择源语言级别,有不同收效。从根本上解决了软件开发水平低的学生对编译程序开发望而生畏甚至放弃的问题。
(2) 阶梯上升:项目内容的选择不是零散的、随机的、重叠的,而是相互关联的。纵向为编译理论,是主要内容;横向为软件工程,是辅助内容。主要内容将难点分散,处理成阶梯状;辅助内容也将难点分散,同样处理成阶梯状。
(3) 迭展:每一个项目需求是前一个项目的扩展,因此,每一次的软件开发可以看作是前一次开发的迭代,使学生面对大型软件开发项目中最难处理的用户需求不断变更的问题,最大程度地使用重用技术。所有项目的开发承上启下、循序渐进、阶梯状迭展,为研究和学习软件生产线新技术埋下伏笔。
(4) 知识渗透:将软件工程核心内容及工程化软件开发思想由浅入深逐步渗透到各个项目中,每个项目具有不同级别的培养目标,学生从不同项目循序渐进地掌握工程化软件开发理念,降低了工程化软件开发的难度。
阶梯状迭代工程实践项目发挥了学生的主体意识,给学生足够的空间,激发了学生的活力与创新思维,并培养了学生的“三个能力”(自我管理能力、组织策划能力、社会实践能力)和“五种意识”(责任意识、服务意识、创新意识、团队意识、竞争意识)。
1.2.5配套教材
编译原理课程工程化实践教学配套教材共有3部,前导教材《C++实战:解释程序的面向对象程序与设计》与“编译原理”理论教学知识的先期注入配套;《编译程序的实现原理》与“编译原理”工程化理论教学配套;《编译程序的面向对象程序与实现》与阶梯状迭代工程实践项目配套,3部教材前后关联且各呈完整体系。本套教材为清华大学出版社“编译原理及其实践课程的工程化教学课群研究”立项项目,已出版1部,另2部明年中旬出版。
1.2.6评价体系
编译原理课程的工程化实践教学评价体系包括对学生工程素质和对教学体系的评价。
学生工程素质的评价采用过程化考核管理标准,即把工程化能力和职业素质引入学生工程素质的评价体系,加大工程化实践环节的比重,形成专业理论知识和实践能力并重的考核体制,将期末一张试卷定成绩的考评机制改为由工程化实践项目、随堂测验、论文、面试、考试、团队等多种形式相结合的评价机制,防止实验抄袭现象。编译原理课程考核采取理论知识和工程化实践项目完成情况的综合考核方式,工程化实践项目根据项目设计报告、软件开发文档、源代码和运行系统的质量进行考核,学生成绩以登记评定方式给出。
教学体系的评价采用回馈化考核管理标准,即把企业回馈和毕业生回馈引入教学体系的评价。对企业和毕业生进行跟踪调查,通过收集企业和学生的反馈指导教学和实践项目的设置和修订,形成良性循环,为进一步提高教学质量打下坚实基础。
2结论
软件工程是集计算机科学与技术、数学、经管等多学科的交叉性学科。作为一名软件工程教育者,我们必须建立一套具有自身特色的工程化人才培养体系,培育具有国际竞争力的一流软件产业高级/高端人才,结合软件工程人才的学科交叉性、偏重实用、职业定位等特点,系统深入地研究软件产业对技术型、管理型的人才需求,注重学生综合能力和专业素质的培养,才能在计算机系统、软件工具、软件工程和管理上循序渐进地提高学生的能力。
参考文献:
中图分类号:TP314 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.06.021
Design and Implement of Timeliner-based Spacecraft Control Language
LIU lei1, YaN Hui2, Gao Yong-ming3, waNG Bin4
(1.Graduate School of Management brigade ,The Academy of Equipment,101416 Beijing;
2.Scientific Research Department ,The Academy of Equipment,101416 Beijing; 3.Department of Information Equipment ,The Academy of Equipment,101416 Beijing; 4.Department of Aerospace Equipment ,The Academy of Equipment,101416 Beijing)
【Abstract】In the past 30 years, the timeliner language was successfully applied in many aspects of the International Space Station and orbital express mission management, core operating and payload operations, launch vehicles to provide independent emission control system. However, the timeliner the related technologies are mostly concentrated in the developed countries in europe and the United States, to carry out and grasp the Timeliner related technology to promote the related fields in China and raise the level of significance. This article is based on in-depth analysis of the Timeliner language and its successful experience in the field of autonomous mission planning and scheduling applications, drawing the timeliner thinking design tSCL (timeliner-based Spacecraft Control Language) scripts to control the language specification, a simple compilation and execution environment prototypelay a good foundation for future research and application.
【Key words】Compiler theory;Timeliner language; script; Collaborative Computing; TSCL language
0 引 言
Timeliner语言是1982年由Draper实验室开发的,1992年被选为国际空间站计划的用户接口语言。Timeliner既是一种脚本或者过程程序设计语言也是一种执行环境,用来编写可以基于事件、时间、地面或者是人工命令驱动的自动执行脚本,执行环境是国际空间站指令和数据处理软件与相关地面软件的结合[1]。Timeliner语言在国际空间站、轨道快车和商业领域得到了成功的应用,但在我国的研究和应用较为滞后[2]。本文基于对Timeliner语言的深入分析和将其在自主任务规划调度领域应用[3]的经验,借鉴其设计思想,从实现的角度,设计了一种航天器控制语言——TSCL。
Timeliner语言是专门设计用来允许简单的脚本定义,提供控制复杂系统的序列。Timeliner控制序列可以是预编程的Timeliner脚本,也可以是来自实时、交互式输入的系统操作[4]。 Timeliner系统(如图1所示)包括一个高级脚本语言,一个包含命令和数据对象的数据库,一个命令编译器,一个命令执行器和监控界面。
4 结 论
本文基于对Timeliner语言,设计了TSCL语言的语法规范,阐述了该语言的编译执行方案,初步实现了编译器原型。对下一步将Timeliner思想引入到我国航天器领域打下了良好的基础,具有一定的理论意义和应用价值。
[1] Robert A. Brown, Automating Space Operations Using Timeliner and ADEPT[J], The Charles Stark Draper Laboratory, 2006.
回顾这几年的教学探索,在计算学科人才培养中,我们认为除了要注重社会需求外,更应注重学生创新能力和国际视野的培养。通过开展完善的国际化联合培养和交流,我们建立了良好的国际化教育环境;通过进一步提高软件创新行动项目和创业实践项目的支助力度,我们为学生提供了面向产业实践和个性化发展的条件,为培养综合素质高、创新能力强、具有国际竞争力的高层次研发人才与产业工程师奠定了基础。
1国际化创新型软件人才培养定位与方案
我国提出在2020年建成创新型国家,最近又推出了国家十大产业振兴规划,其中就包括了电子信息产业。而我国的软件人才培养在创新性和工程化方面存在许多不足,难以满足电子信息产业走向世界的需求。无论是传统计算领域的研究还是系统开发,无论是理论研究还是应用研究,都离不开实际应用背景。人才应该集业务、技术、管理三位一体,既具有扎实的基础理论知识,又熟悉产业前沿,能运用国际主流的系统工程技术解决产业中的问题,在国际化团队中具备自我发展能力、团队合作精神和系统调控能力,具备适应市场需求和技术变化的能力。因此,我们在人才培养中必须注重培养学生的创新能力,强化学生的国际视野及对产业前沿问题的敏感性,注重与企业有机结合并平滑过渡,将实践教学环节和工程教育理念融入课程教学中,融基础理论、实验教学、工程实践为一体。
根据复旦大学“宽口径、厚基础、重能力、求创新”的人才培养理念,参照国际知名高校的教学培养方案,同时结合国内企业的实际需求和行业技术发展趋势,我们精心设计了教学培养方案。除综合教育课程、技术类基础课程外,软件工程专业课程分为三个部分:专业基础课、专业方向课、专业选修课。学生首先修完专业基础课程,保证对计算机科学和软件开发的各方面内容有全面了解,具备一定的科研能力;其次修读专业方向课程,保证在特定专业方向上获得严格训练;最后至少选修其他专业方向课程组中的两门课程,并学习专业选修课程,保证必要的知识广度,还要提高职业道德意识、团队精神、交流能力、外语能力。
在课程设计方面,我们一方面设置培养学生工程能力和职业素质为主的课程;另一方面把培养实践能力和创新能力贯穿于教学全过程,建立一套“全过程、递进式”的实践教学体系。通过有针对性的、高强度的项目实践,在低年级强化基本技能和动手能力,在高年级通过综合性设计性实验、课程设计等环节,培养学生分析、设计、实现的综合能力。
我们同时建立健全了创新鼓励机制,鼓励学生参与创新性实践活动,养成创新意识,体验创新过程。我们邀请企业资深研究人员、国外高校著名学者来校兼职、授课,为学生的创新实践活动提供专业指导。将工程能力引入人才素质评价体系,通过收集企业和学生的反馈指导教学和课程设置,形成良好的自我约束、自我发展机制。
国际化创新型软件人才培养定位与方案的基本架构如图1所示。
2创新型软件人才培养的教学内容与方法
与国外的工科学生相比,我国学生明显缺少项目或团队合作的实际经验训练。因此,我们要加强国际化创新型工程人才的培养,更要注意不能停留在教学生用现在的技术解决问题,而要让学生学会用未来的技术解决未来的问题。
在教学内容安排上,我们全面吸收发达国家经典的计算机教学内容,强调学生除了掌握各门课程的基本原理,还要对行业的最新发展及领域内面临的问题有所了解。坚持提高解决问题能力为主的教学原则,把握行业发展最新趋势,教学内容既要与企业当前的需求紧密结合,又不能单纯跟着企业走。高校教育不仅要紧扣行业发展的最新趋势,更应引领社会需求。
为了使学生学会用未来的技术解决未来的问题,我们要求教师不仅要了解目前行业内的最新发展及领域内面临的问题,更要具有前瞻意识,及时把本学科最新的研究成果和未来可能成为行业发展热点的内容安排在课程中。如从2004年开始,我们就把多核技术和虚拟化技术放到相关课程的教学内容里,在计算机体系结构课程中扩展了多核体系结构的内容和多核缓存(Cache)研究的最新进展。而操作系统课程则介绍了多核领域虚拟化的研究原理和现状。编译原理课程则扩展了多核程序设计语言和优化等方面的内容。这些最新内容开阔了学生的视野,到2007年毕业时,这些技术在一些外资企业成为热门,因此我们的学生成为社会迫切需要的人才,非常受欢迎。
好的教学内容必须有与之配套的教学方法。以课堂为主的填鸭式教学方法虽然可以使学生掌握各门课程的基本知识,但是缺乏和学生的互动,存在较大不足。复旦大学软件工程专业在以下几个方面进行了调整和改进,取得了很好的效果。
首先,在讲授基本原理时,教师侧重阐述课程的要点和难点,而对于各种具体的细节,则让学生通过相应的教学实验环节(包括实验和实践项目)体会,解决可能出现的问题。一方面,我们通过教师的讲解与学生的自学来强化学生对概念的准确理解和对理论的全面掌握;另一方面,我们通过课后的实习项目来全面锻炼和提高学生的能力。教师在讲授知识的同时,逐步培养学生的自主学习能力和开发设计能力。
其次,教师注重启发式教学和学生创新能力培养。很多专业课程,如计算机系统基础、计算机体系结构和编译原理等,都增加了研讨性内容,教师定期布置超出课堂知识范围的开放式问题。这些问题并没有标准答案,学生要在自己查阅资料的基础上进行深入思考,因此锻炼了思考能力和创新能力,也开阔了眼界。研讨式学习、案例分析、群组学习启发了学生的思维,锻炼了学生在团队中开展创新性工作的能力。
第三,将实践教学环节和工程教育理念融入整个教学过程,尤其注重对学生项目构思、设计、实现和运作能力的培养。企业项目及企业联合实验室为学生的项目实践学习提供平台,通过解决项目中的实际问题,学生的工程技术创新能力得到了很大提高。我们同时建立了跨度一年的学院科研实验室和知名企业实习制度,为学生的发展创造了良好空间。课程成绩评定改变了期末一张试卷定成绩的考评机制,改为实验、实践项目、随堂测验、论文、面试、笔试、课堂讨论等多种形式相结合的评价机制,期终成绩仅占总成绩的30%~50%。通过不断学习,学生各方面的能力都得到均衡发展,适应现代软件产业的需求。
第四,注重国际化办学,推广双语课程。早在软件工程专业建设之初的2002年9月,学院就与爱尔兰都柏林大学(University College Dublin)签订了合作办学协议,开展计算机软件学士学位联合培养项目;与新加坡管理大学签订了交换生计划,每年两校互派学生到对方学校学习半年;与日本名古屋工业大学建立了推荐学生攻读研究生的国家资助项目。通过与爱尔兰都柏林大学的合作办学以及与其他知名大学的交流,我们吸收、借鉴了国外人才培养的先进理念,提高了教师的业务素质和能力。双语课程打造了一批有代表性和学院特色的课程,使学生能直接接触国外最先进的理念和技术,提高了自学能力、创新能力和综合素质。
3高水平的研究是创新型人才培养的基础
高水平的师资是人才培养必不可少的保障,软件学院应该鼓励具有应用背景的研发。这种研发不是低水平的开发,而是应该具有自主知识产权,在理论或技术上有所创新的研发项目。研究既要保证实用性,也要保证具有产业化时代的核心竞争力;既要能出高质量的论文,也要能得到实际应用。
开展高水平的科学研究,不仅可以培养出优秀的学生,也能吸引一流教师加入学院师资队伍中,更好地培养人才。我院现有宽带网络与互动多媒体实验室、电子商务研究中心、交互式图形学实验室、密码与信息安全研究室等四个研究机构,复旦大学并行处理研究所的研究主体也在软件学院。
在流媒体宽带应用领域的前沿技术研究和高科技产品的研发中,学院成功研发了高性能、高质量、与国际标准完全兼容的流媒体服务器(Clear Server),我们自主研发的IPTV系统成为上海市互动电视闸北区示范项目,其技术产品已经推广到国外,并获得上海市科技进步二等奖。而作为这些项目研发的负责人,我院教师及时把研究成果融入教学,简化项目开发要求,编制出适于学生课程实习的项目,有效提高了学生的实际研究能力,为学生提供及时接触最新成果的机会。
基于全光视频的图形绘制技术、基于GPU的Dome显示设备的实时绘制系统以及基于投影仪的大尺寸、高清晰显示墙系统的研制培养和锻炼了教师和学生。我院毛燕东在本科三年级就参加了学院实验室的科研工作,他和贾奇在导师的指导下参加第九届“挑战杯”全国大学生课外学术科技作品竞赛,一举夺得全国一等奖。2006年,毛燕东直升本院硕士研究生后,成为国家863计划“可伸缩高分辨率投影显示技术”项目的主要研究者,并参加了微软亚洲研究院系统研究组的多核操作系统的研究工作,在操作系统领域最好的会议之一OSDI上与他人合作。在即将毕业时,他先后收到了麻省理工学院(MIT)、斯坦福大学(Stanford)、卡耐基-梅隆大学(CMU)等三所全球计算机领域顶级高校的攻读博士录取通知书。
学院在虚拟化技术、并行与优化编译技术、动态优化编译技术、跨平台优化编译技术的研究中也取得了优异成绩,培养了一批优秀学生。陈海波从本科开始就参加实验室项目的研究,硕博连读阶段,他又在导师指导下取得了长足进步。他在国际并行处理大会上发表的论文获得大会唯一最佳论文奖,这是该会议举办36年来中国大陆作者第一次获此荣誉;而他在国际软件工程大会(ICSE2007)上发表的论文则是中国大陆地区近30年来在该会议上发表的第
4篇论文。
以研发基于智能Web服务和流程整合的应变电子商务集成平台、面向消费者的电子商务性能指标体系、基于RFID的仓库立体自动控制系统为契机,我们选拔了一批优秀的本科生,极大提高了学生的实际项目开发能力。本科生参与开发的软件构件组装工具、配置管理工具和面向特征的软件体系结构建模工具成为相应科研项目的主要成果,通过专家组验收,进入企业试用阶段。以本科生为核心技术骨干的多模型驱动的面向服务协同开发平台,基于数据挖掘和语义本体的商品编码知识库等项目,在教育部组织的鉴定中被认为在技术上达到了国内外领先水平。学院在密码学和网络安全协议、可信计算研究中也取得新突破,2004年和2007年,我们在欧洲密码学会议上发表了2篇有关零知识领域的研究论文,是大中华地区第1个在密码学顶级会议的科研单位。
高水平的研究有效带动了骨干教师队伍建设、优秀学生培养及软件工程专业课程体系建设,培养了一支具有创新意识和实际研发能力的学生队伍。
4人才培养质量和社会评价
由于教学计划和培养方案定位准确,在教学中又突出了能力培养,达到了专业培养目标,学院培养的
学生无论在国内各高校攻读研究生,申请到世界顶级高校留学,或进入IT、咨询、金融、通信等行业的国内外知名企业从事软硬件研发、咨询、管理等工作,都得到一致好评。我校人才的主要特点有:
(1) 具有较强的创新能力,走上工作岗位后能马上熟悉自己的工作。由于具备了创新素养,毕业生站在了更高的起点上,很多学生在实习过程中即成为企业项目骨干,相当一部分学生在实习期满前就获得了企业的聘用合同。成为企业正式员工后,他们很快就升为资深员工、项目组长甚至项目经理。在国际团队中表现突出,既体现了较高的工程素质和动手能力,又展现了管理能力及应用创新能力,部分学生甚至在外企实习期间就创新地解决软件工程中的高端问题,并取得了国外专利,充分展现了国际化人才的素质。
(2) 科学研究和开发实践能力强。学院支持并鼓励本科生加入科学研究和开发实践,在各个实验室的科研活动中,高年级本科生参加多项应用工具开发,发挥了很好的作用。
二、教学方法改革
1.多媒体授课。移动通信课程的内容覆盖面广,如果单纯采用传统的板书方式来讲授,不仅耗费时间,影响教学效率,对于一些系统流程的展示,也不够生动形象。为解决课时少内容多的矛盾,本人采用信息量大且形象直观的多媒体课件进行辅助教学。对于一些重要的公式、推导采用板书的方式,对于原理方框图、小区规划、网络结构等使用多媒体进行教学。本人还搜集整理了大量基站、天线、网络区群结构等相关图文信息,通过动态演示与分析,将整个通信领域所涉及的整体设备和完整系统进行展示,使学生可以全面了解整个通信领域的各个环节,建立全网的概念,开阔了学生的思路,提高了学生的学习兴趣[3]。2.讨论学习法。传统的教学方式不重视与学生的互动,即教师满堂讲,学生只负责听课,这样很难激发学生的学习兴趣,锻炼思考能力。为了使学生积极的参与教学,可采取讨论的形式,以学生为主、教师为辅的课堂教学方法。由教师根据教学内容选定一个讨论课题,将学生分组,各小组内成员进行讨论,在由小组内选派一个代表进行组间讨论,各组内成员可对代表的阐述进行补充,由教师根据学生的积极状态,讨论结果给予一定的平时成绩。在此过程中,以学生为主体,教师只是起到导向的作用,指导学生讲解和组织讨论,学生通过讨论,对一些问题理解的会更加透彻,这种方法不仅调动了学生的主观能动性,还充分发挥了学生的想象空间[4]。3.提交论文。为了培养学生研究问题的能力,教学过程中指导学生对感兴趣的内容撰写论文。论文题目可由教师制定,也可以由学生根据自己的兴趣自主选择。要求学生在一定时间内查找资料,提交论文,并以随机抽查的方式,让学生进行讲解,并对论文进行评判。评判方式可采取抽取若干学生的论文,组织大家进行讨论,或者教师选择若干论文为学生进行讲解,这样可以提高学生撰写科学论文的兴趣和水平。
三、考核方式
传统的考核方式是以期末考试作为学生的最终成绩,这种方法难以对一个学生所学知识和综合能力进行客观的评价。为了对学生的评价更加综合和准确,除了取决于客观的考试或作业成绩外,还由主观的师生互动关系与课堂参与程度所决定。具体由以下几个方面进行评定:(1)期末考试,考查对基本知识及前沿技术的掌握程度;(2)课堂讨论,将课堂参与列为期末成绩考量的标准,可以鼓励学生积极思考,带动课堂气氛;(3)撰写论文,考查学生研究问题及创新运用的能力;(4)作业成绩。
四、教学实践
移动通信是实践性很强的一门课程,如果只立足于理论教学,满足不了现阶段人才培养的需要,而一般的实验设备只能做验证性实验,学生对实际运营情况无法真正了解,因此我系在外出实践环节中组织学生到联通公司、农垦总局通信公司等单位进行观摩学习,在实习过程中学生可以接触到主流商用通信设备和技术。在现场了解基站、移动交换中心等设备的运行情况,与技术人员进行交流、沟通,把课本上的理论知识与实际设备、技术相联系,从而更好地理解移动通信课程涉及的技术和系统,为今后的学习和工作打下了坚实的基础。