时间:2023-03-21 17:03:49
导语:在编译原理论文的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了九篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
文章编号:1672-5913(2013)18-0062-04
中图分类号:G642
0 引言
编译原理课程内容丰富,而且涉及形式文法和语言、有穷自动机等抽象内容,学生理解和掌握有一定难度。加上编译程序是系统软件,让不少学生又增添了一层畏惧,甚至有的学生戏称该课程是软件系列课程中最难学的“天书”。部分学校单纯从“直接有用性”角度考虑,将该课程由必修改为选修,甚至取消该课程,这些做法从另一个角度助推了学生的畏难情绪,也打击了教师的教学研究积极性。
为打破这种尴尬局面,解除学生的学习心理障碍,我们引导学生探索编译的原理、方法和技术在各应用领域中的使用,并以“应用领域编译器”的构建作为课程实践内容。这些做法,既改变了编译的“抽象”印象,激发学生学习兴趣,又让学生在具体应用问题的求解中,从系统的层面重新认识此前程序设计、数据结构与算法等课程介绍的程序、算法,在实践中体会各种概念、原理和技术的实质,有助于学生深刻体验计算机问题求解的内涵,建立计算机系统观。
1 基于领域应用的研究性教学实践
编译原理作为本科生课程,其主要目标是希望学生掌握编译原理中的基本概念、理论和方法,在系统级上再认识程序和算法,提升学生的计算机问题求解的水平,增强其系统能力,体验实现自动计算的乐趣。
如何帮助学生克服对编译原理课程的恐惧,激发学生的学习兴趣,达到课程的教学目的,是任课教师需要解决的重要问题。
研究表明:正情绪(如兴趣)有利于智力操作,负情绪(如痛苦)不利于智力操作。为提高学生学习编译原理的“正情绪”,我们在实践中逐步摸索出了基于领域应用的编译原理课程研究型教学方法,大大减轻了学生对编译课程的畏惧感,提高了学习兴趣,改善了教学效果。
1.1 以领域应用为导向,激发学习兴趣
编译程序是系统软件。在有限的学科知识背景下,一些学生认为自己将来不会从事系统软件开发,编译原理课程的学习没有实际意义,因而没有学习兴趣。另一部分学生则认为涉及系统软件的知识是复杂的、晦涩难懂的,由于惧怕,在心理上给自己增加了学习障碍。
建构主义学习理论提倡以学习者为中心的有意义的学习,认为教师是意义建构的帮助者和促进者,而不是知识的传输者与灌输者。事实也证明“兴趣是最好的老师”,一旦学生的学习兴趣被激发,学生对问题的钻研深度和取得的成果往往会超过老师。因此,在编译原理的教学过程中,我们以激发学生的学习兴趣为切入点,尝试探究式的教学方法。
实际上,编译原理课程讲述的是通用的问题求解方法,是针对各个具体应用领域中问题共性的求解方法,是从“类”的角度出发的计算方法,一旦掌握,可以应用于各领域具体问题的“实例”问题求解,效率更高,方法更通用。
现实中,很多应用领域都在使用编译的原理、技术和方法。例如,从程序设计语言实现的角度得到的词法分析、语法分析、语义分析的方法,还有中问代码生成、目标代码生成的思想,在自然语言处理领域有很好的应用实例;程序变换的思想在软件自动生成方面得到体现;网络环境下的搜索引擎也用到编译的原理和技术。学生受限于已掌握的知识,缺少实际应用的经验,误以为编译原理课程介绍的内容就只是用于作为系统程序的编译程序的构建,畏惧心理加上缺乏兴趣,使得这门课程的学习难度无形中加大。
在课程的开始阶段,我们让学生选择一个自己感兴趣的应用领域。随着课程的进行,引导学生分析应用领域中的问题,寻找其与编译问题的相似性,发现二者的联系,思考编译中的原理、方法和技术如何与这些应用领域中问题求解方法相结合。当面对自己感兴趣的应用领域时,学生的学习动力就不可估量了。我们再引导学生将这些应用领域问题的求解转换成“类”的问题描述,思考这些“类问题”如何用课堂所学的编译方法予以求解。
举例来说,在最近一轮的编译原理课程教学中,学生们就从多个非程序设计语言翻译的角度探索了编译技术的应用,涉及网络传输协议解析、文档编辑器、测试自动化、文档排版、作业自动批改、汉语自然语言处理、恶意脚本查杀、逻辑门电路绘制、汉语英语翻译、自动阅卷系统、火车票购票、中文识别、邮件地址识别、模式识别等诸多非编译问题。
在探索了编译理论和技术在不同领域的可能应用后,我们又指导学生将心得撰写成研究型小论文。虽然大多数论文还略显幼稚,但论文的撰写过程确实是对研究型学习的再一次总结和升华。
当学生们看到编译的知识在如此众多的非编译领域同样有着大量的用途时,他们不再觉得编译原理课程的内容与自己未来的学习和工作无关,反而希望能更好地学习和理解编译原理课程介绍的原理、方法和技术,以便为将来的发展打好基础。
在兴趣的驱使下,编译原理课程的学习不再枯燥晦涩,即使面对形式化描述的抽象内容,学生也不再畏惧;同时,编译原理课程的教学目的也得以实现。
1.2 构建应用领域编译器,提高实习参与度
传统的编译原理课程实习中,学生在掌握基本原理的基础上,完成一个受限程序设计语言的词法分析程序、语法分析程序和语义分析与中间代码生成程序。虽然学生可以自行选择语言完成实现,但编译程序的“系统程序”的地位,使学生整体学习兴趣受到影响,而对课程实践的兴趣不足,又直接影响了对理论知识的理解和深入。
建构主义的学习观认为:学习不是由教师把知识简单地传递给学生,而是由学生自己建构知识的过程;学生不是简单被动地接收信息,而是主动地建构知识的意义,这种建构是无法由他人来代替的。单纯的课堂听课,没有真正完成知识的掌握和转化。课堂听懂了但课后不会做题或实习就是一个很好的证明。课堂听课过程中,学生是运用自己已有的知识,来衡量教师当前讲述内容的合理性,教师当前所讲述内容并未转化为学生已有知识体系中的一部分。所谓“课堂听瞳了”,只是学生使用已有知识判断出教师所讲内容“合理”而已。只有当教师所讲内容真正转化成学生知识体系中的一部分时,做题或实习才不会困难。所以,习题和实习是理论课程学习的重要实践环节,在编译原理这门课程中更是如此。
我们除了在课堂教学中引导学生探究编译原理和技术在非编译领域的应用,习作研究型小论文外,还在课程实习环节采用构建“应用领域编译器”作为实习题目,以提高学生的实习兴趣和参与度。
编译原理课程的教学目的是培养学生在系统级别上重新认识程序和算法。我们采用循序渐进的引导,培养学生从“类”的层面逐步完成应用领域“实例”问题的认识、分析、设计和系统实现。
1)以能力确定选题。
并非所有的学生都适合选择程序设计语言以外的应用领域问题作为实习题目。我们让学生根据自己的能力选择合适的选题。
普通层次的学生,要求其掌握最基本的方法和技术,而不被应用问题本身的复杂性牵扯太多精力。我们按照传统编译原理课程实习的做法,推荐一个受限的程序设计语言(包含语言的若干基本成分,如表达式、赋值语句、If语句、while语句等),学生可选实际程序设计语言(如C语言)的子集,也可由学生自行设计一个小语言,要求实现该受限语言编译程序的词法分析程序、语法分析程序、语义分析和中间代码生成程序,并且每个程序的输入、输出均以文件形式存放,前一阶段的输出可以作为后一阶段的输入。虽然并不是一个完整的编译器,但是编译程序工作过程的主要环节都得到模拟,而且各部分的共同作用也有助于理解编译程序的整体架构,同样可以达到掌握主要编译技术的目的。
对于学习能力较强的学生,我们建议其选择一个自己感兴趣的应用领域问题,采用编译程序模型化计算的思想,实现一个应用领域编译器。至于具体的实现过程,则随着课程的进度,逐步引导学生从“问题类求解”的层面定义问题,并完成分析、设计和系统实现。
2)渐进式构建引导。
随着课堂内容的进行,我们采用渐进式构建的方法,引导学生逐步实现应用领域编译器,其实施过程如图1所示。
(1)定义领域对象。确定应用领域后,引导学生分析领域问题处理对象的构成特点,并据此构造领域问题处理对象的生成文法。
(2)确定领域的“词”。引导学生分析和认识应用领域中的“词”和“词法分析”的工作内容。在应用领域中,“词”是构成问题对象的最小处理单位。明白了“词”的含义,“词法分析”就是识别出这些最基本的单位,其构建完全和程序设计语言词法分析程序的设计与实现一样。
(3)确定领域“语法成分”。引导学生分析和识别应用领域的“语法成分”和“语法分析”工作内容。应用领域中的“语法成分”是被处理对象的不同层次的构成单位,“语法分析”就是分析领域被处理对象的构成,可以选用编译原理课程中的一种语法分析方法予以实现。
(4)确定领域“语义”和“中间代码”。这里的“语义”和“中间代码”依赖于领域问题的具体应用,需要引导学生分析不同领域中问题求解的目的,从而得出应用领域的主要操作——“语义分析”的内容。
(5)确定领域“目标代码”。其内容也依赖于领域中的具体应用。
当实习全部完成后,学生体验到了从词法分析、语法分析、语义分析和中问代码生成、目标代码生成的所有环节,这实质上完成了一个应用领域编译器,实践过程覆盖了课程教学目标要求学生掌握的全部内容。
虽然每个应用领域系统不必完全按照上述方法实现,但是按照上述方法完成系统后,我们引导学生分析该方法的好处:这样实现的系统可以略作修改甚至不作修改就能处理该领域的同类型问题,可以大大提高软件的可移植性,减少软件开发的工作量。主要原因就是按照编译的方法,是从“问题类”的角度看问题,从系统的角度分析、设计和实现问题的求解,因此最终实现的系统可以适用于满足“类”特征的所有“实例”问题。
在建构主义学习理论指导下,我们以激发学生的学习兴趣为切人点,使课程学习与具体应用领域相结合,让学生体会到编译原理和技术的实用性,大大提高其学习参与度;同时注重引导学生对问题求解基本思想、方法的探讨,从确定领域问题,到词法分析、语法分析、语义分析、目标代码生成的每一步求解思路分析,到应用具体编译技术实现求解算法,让学生明白怎样从“实例”问题的计算求解过渡到问题“类”计算,锻炼了学生抽象问题描述和解决问题的能力:而整个系统的实现涉及不同层次的抽象和问题处理,达到了培养学生系统能力的目的。一些学生在课程学习结束后,体会到了学以致用的乐趣,还主动与教师谈论研究型论文和应用领域编译器的改进设想。
通过这样的实践,学生对文法、语言的实际意义有了更广泛的认识,而不再局限在程序设计语言这个范围内,真正体会到形式文法和语言只是具体问题的抽象反映,从而更深入地理解了计算机学科问题求解的抽象描述和处理这一实质。
2 结语
编译程序的“系统程序”地位造成的陌生感、编译原理课程自身内容的复杂性,给学生学习该课程带来了一定的障碍。我们在编译原理课程的教学实践中,针对该课程学习的最大问题——陌生与抽象,以非编译的应用领域问题求解为切入点,以学生对应用领域问题的学习兴趣提高学生的学习和实践参与度,通过引导学生在“类”的层面尝试领域“实例”问题的求解,使学生体验了计算机求解的问题抽象描述与处理方法,达到了课程的教学目的。
参考文献:
[1]蒋宗礼,编译课程教材建设[J],计算机教育,2007(6):74-76
[2]蒋宗礼,“编译原理”教学设计[J],计算机教育,2008(2):26-30
[3]徐旭东,蒋宗礼,论编译原理在程序设计类课程建设中的重要作用[J],计算机教育,2011(9):27-28,32
【关键词】 编译原理;课程设计;地位;作用
【中图分类号】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.
论文摘要:本文主要针对“编译原理”教学中出现的系统复杂、理论深奥、教学效果不理想等一系列问题,应用建构主义学习理论.提出了一个有效的解决方案一建立以学生为主、师生互动的教学模式。
“编译原理”是计算机及相关专业的一门重要专业课程,在计算机科学中有很重要的地位和作用,已被国内外高校列为计算机专业的主要课程。它主要介绍了高级程序设计语言编译程序构造的一般原理、基本设计方法、主要实现技术和一些自动构造工具。通过该课程的学习,对提高学生计算机软件素质,使学生真正认识计算机信息处理实质并综合运用所学的软件设计技术来分析问题等具有很大作用。
由于涉及形式语言、有穷自动机等抽象内容,在“以教师为中心,教师讲、学生听”的传统教学模式下,学生在学习中普遍感觉内容太过抽象、缺乏学习积极性。因此,如何打破传统教学模式、让这门课的教学效果得到较大改观,就成为一个亚待解决的问题。近二十年以来,国内外的许多教育工作者、教育学家、教育技术专家多年来从理论与实践两个方面作了大量的研究与探索,建构主义理论正是这种努力所取得的主要理论研究成果。
1、建构主义学习理论及教学模式
近二十年以来,随着多媒体计算机和Internet网络教育应用的飞速发展,建构主义学习理论正愈来愈显示出其强大的生命力,并在世界范围内日益扩大其影响。建构主义提倡在教师指导下的、以学习者为中心的学习,也就是说,既强调学习者的认知主体作用,又不忽视教师的指导作用。
建构主义学习理论认为“情境”、“协作”、“会话”和“意义建构”是学习环境中的四大要素或四大属性。学习环境中的情境必须有利于学生对所学内容的意义建构;协作发生在学习过程的始终,对学习资料的搜集与分析、假设的提出与验证、学习成果的评价直至意义的最终建构均有重要作用;会话是协作过程中不可缺少的环节,学习小组成员之间必须通过会话商讨如何完成规定的学习任务的计划;意义建构是整个学习过程的最终目标。所要建构的意义是指:事物的性质、规律以及事物之间的内在联系。在学习过程中帮助学生建构意义就是要帮助学生对当前学习内容所反映的事物的性质、规律以及该事物与其它事物之间的内在联系达到较深刻的理解,这种理解在大脑中的长期存储形式就是关于当前所学内容的认知结构。
与建构主义学习理论以及建构主义学习环境相适应的教学模式为:”以学生为中心,在整个教学过程中由教师起组织者、指导者、帮助者和促进者的作用,利用情境、协作、会话等学习环境要素充分发挥学生的主动性、积极性和首创精神,最终达到使学生有效地实现对当前所学知识的意义建构的目的。”在这种模式中,学生是知识意义的主动建构者;教师是教学过程的组织者、指导者、意义建构的帮助者、促进者;教材所提供的知识不再是教师传授的内容,而是学生主动建构意义的对象;媒体也不再是帮助教师传授知识的手段、方法,而是用来创设情境、进行协作学习和会话交流,即作为学生主动学习、协作式探索的认知工具。显然,在这种场合,教师、学生、教材和媒体等四要素与传统教学相比,各自有完全不同的作用,彼此之间有完全不同的关系。但是这些作用与关系也是非常清楚、非常明确的,因而成为教学活动进程的另外一种稳定结构形式,即建构主义学习环境下的教学模式。
2.建立以学生为主、师生互动的教学模式
基于以上理论,在整个编译原理”的教学过程中,应该创造一种良好的氛围,建立以学生为主、师生互动的教学模式。
2.1教师的准备
教师的角色是学生建构知识的忠实支持者。教师的作用从传统的传递知识的权威转变为学生学习的辅导者,成为学生学习的高级伙伴或合作者。教师应该给学生提供复杂的真实问题,教师必须创设一种良好的学习环境、必须提供学生元认知工具和心理测量工具,培养学生评判性的认知加工策略,以及自己建构知识和理解的心理模式。因此,教师在课前应通读教材多遍,并做完习题,然后参考同类教材,把内容烂熟于心。同时,教师应准备教学课件、教学网站等辅助教学资源,真正起到组织引导的作用。
2.2注重启发式教学
建构主义学习理论认为,学习者与周围环境的交互作用,对于学习内容的理解(即对知识意义的建构)起着关键性的作用。教师应组织和引导学生进行讨论和交流,共同建立起学习群体并成为其中的一员,共同对课程所涉及的内容进行讨论。
因此,对于学生自学较容易的章节,采用指导学生备课,然后课堂上由学生讲课、教师总结的方式进行,对于学生的提问,也不是简单的给出答案,而是在课堂上展开师生间的讨论,让所有的学生看到问题从提出、分析到解决的全过程,充分发挥学生的学习主动性,培养学生的创新能力。以下就求Follow集的方法加以简要说明。
在预测分析中,Follow集的定义如下:设G=(V,.,VN,S,P)是上下文无关文法,A E VN,S是开始符号;Follow(A)二{aIS=’=>wA(3且a E VT’,a E、 F1TST.(}), }.L。V,.`,(3 a V’},若有S=`=>N,A(3,且p=’二>。,则#E Follow(A)。另外,若A-"aB是一个产生式,则把FOIrLOW(A),加至FOLLOW (B)中。怎样系统、快速而准确地求出Follow集?学生在讨论中发现,求Follow集必须从文法开始符号S推导,因此,可以直接观察每条产生式的右部,找出要求Follow集的非终结符(设为A),进一步观察A后面的字符串,若可推出终结符,则此终结符在Follow(A)中,若为。,则产生式左端非终结符的Follow集在Follow(A)中。由此概括出了求Follow集的行之有效的方法。
2.3运用实例教学模式
实例式教学也被称为抛锚式教学、基于问题的教学或情境性教学。是建构主义的教学模式之一。学习者要想完成对所学知识的意义建构,即达到对该知识所反映事物的性质、规律以及该事物与其它事物之间联系的深刻理解,最好的办法是让学习者到现实世界的真实环境中去感受、去体验(即通过获取直接经验来学习),而不是仅仅聆听别人(例如教师)关于这种经验的介绍和讲解。
对于较复杂、枯燥的理论,在教学中大量运用实例,通过讲解一学生练习一学生讲解一学生再练习一教师小结的教学模式,让学生能够从外部信息源提供的特殊的例子出发,进行归纳推理,得到一般的规则或一般性的知识。这样,学生听懂了,理解了,增强了自信心,巩固了理论知识。
2.4合理组织实验和课程实习
课程实验应以编译理论中的一些经典算法的实现为主,一方面可以培养学生的实践能力和动手能力,另一方面可以通过对算法的实现达到更准确、更牢固的理解和掌握这些算法,从而提高学生的实际应用能力。
课程实习应充分考虑编译理论与实际应用相结合,突出开创性和实用性。教师应提供程序源代码而空缺关键模块,让学生来完成。这种组建式的实习方法,使得实习题所涉及的问题难度没有降低,但由于学生只需完成关键的组件模块,学生能够集中精力解决关键问题,实现难度有一定程度的降低。鼓励学生间相互探讨,各抒己见,激发学生的创作研究热情并共同提高。
3.教学效果分析
通过以下两组数据的比较,可以看出应用了新的教学模式后.学生学习情况的变化.说明教学效果得到了较大改观。
4.结束语
论文关键词:嵌入式系统 实验教学 教学设计
论文摘 要:针对通信专业嵌入式实验教学中存在的专业针对性差、设备缺乏和课程层次性不足等问题,文章利用本研究所自主研发的嵌入式实验教学平台,探讨了以基础型实验、综合型实验,创新型实验和课外实践为基础的分层次实验课程教学方式。这种方式在教学实践中取得较好的成效。
嵌入式系统是计算机技术、通信技术、微电子技术等先进技术和具体应用对象相结合的更新换代产品。嵌入式系统面向具体的应用领域,随着产品智能化、小型化的普遍需求,嵌入式系统已经渗透至各个行业,具有广阔的市场前景[1]。近年来,各高校信息自动化计算机类专业逐渐将嵌入式系统纳入重要专业课程范围,尤其在嵌入式实践教学体系方面进行了深入的探讨[2-4]。
考虑到通信类学生的培养与实际就业情况的需求,在嵌入式教学中,除了使学生掌握基本的通信技术原理和嵌入式软件设计的一般方法和流程外,还应注重培养学生的实际应用开发能力。因此,嵌入式教学应该倾向于实践而不是仅仅局限于只是传授理论知识。本文针对本专业嵌入式实验教学中普遍存在的专业针对性弱、设备缺乏、课程系统性和层次性的不足等问题,利用研究所自主研发的嵌入式实验教学平台,设计了具体的实验教学方案。
1 嵌入式实验教学中存在的问题
嵌入式系统课程的实践性非常强,为了加强学生对嵌入式系统理论知识的认知,提高学生解决实际问题的能力和创新能力,实验教学在嵌入式课程教学中有着至关重要的作用。到目前为止,在嵌入式实验实际教学中发现了以下问题。
缺乏针对性强的实验平台。嵌入式课程教学和人才培养具有高度的实践性,通常情况下,教学所用的实验平台(实验箱)是委托科教仪器公司开发的。由于教学投入不足,经常出现设备板子烧毁,讲义资料不全,实验箱不完善导致能开设的实验不多,由于部分源代码不开源等现象,所以相关实验基本上都是演示性的实验,或者与其他学科共同使用一套实验设备,没有本学科专业特色,很难实现视频采集、音视频压缩、网络传输等功能。这些因素皆不利于通信专业学生实践能力的培养。其次,缺乏灵活的实验设计及讲义。在嵌入式系统应用领域,嵌入式系统中的软件开发困难,既要考虑不同平台的差异,又要具备一定的稳定及易行性条件。以往这些类型的软件开发都是由硬件厂商包办,且提供的嵌入式系统软件解决方案五花八门。而实验设计应侧重于主流操作系统下软件的实践和创新。此外,大多数学生照着详细的实验指导书按部就班,缺乏自主创新的意识,甚至不深入思考实验现象背后的理论知识。这显然与培养学生创新性思维和能力的目的背道而驰。而实验课时少也是实践教学中亟待解决的一个问题。嵌入式系统课程对学生的专业知识要求较高,学生先要学习单片机原理及应用、C/C++程序设计、DSP原理及应用等嵌入式
相关课程,等到具备了一定的实验操作和编程能力之后,在大三下半学期或大四上半学期开设嵌入式系统课程。理论性教学和实验教学交叉进行,再加上总课时的限制,使得学生自主实验时间大大减少。虽然已从原有实验课时占较少课时的状态,调整到实验课时占总课时一半的状态,课内实验还是远不能满足对学生的培养需求。
2 实验教学配套设施
本研究所自主开发的嵌入式系统实验平台是一套功能完善的实验箱,选用ARM处理器+Linux操作系统的主流配置。实验箱上提供有教学系统采用的各种测试点(包括图像视频采集输入、I/O输出等),方便教学中使用示波器等测试仪器;多路数字信号源(包括四路视频输入功能);ARM开发系统功能等众多功能。此套基于双核处理器架构(双核处理器架构,是指采用一个ARM核及一个SoC图像处理核的架构芯片)的四路DVR教学实验箱,可以实现视频采集,H.264压缩,音频压缩,网络传输以及嵌入式Linux操作系统等功能,主要为高等院校通信工程类专业、电子信息类专业等高年级学生的通信专业课程设计、通信专业大型实验、毕业设计、电子设计竞赛以及研究生的数字通信实验而设计,也可供相关专业的本专科毕业班学生使用以及自学使用。此外,还配有教学资料光盘,以及分层次、系统的实验指导书。实验系统构架。
由于嵌入式系统涉及的知识广、综合性强和应用性强,且软硬件技术不断革新,这就需要授课老师具有一定的项目开发经验。而本套实验箱正是由授课老师参与研发,对于一些新进的通信类教师也开放学习与研究。在对嵌入式实验平台有个系统的认识之后,遇到突发问题也可以及时解决,这大大降低了教师的授课难度,提高了实验课效率。
3 实验教学设计
结合理论教学,嵌入式系统实验的重点放在软件的开发上。充分考虑到嵌入式软件系统的结构、开发内容和方式的特殊性,从而设置多种配置方案、多层次实验项目的实验教学内容。学生边学习理论知识,边进行实验操作,设置一些基础型和模块化的实验使其对原理有更透彻的认知。当学生理论知识积累到一定的程度,可通过设置综合型的实验使学生进行系统学习与提高。此外,为了达到学生自主创新能力提高的目的,创新型实验的设置也必不可少。减少基础型实验,同时增大综合型和创新型实验的比例,并加入可选项,学生可根据自己的能力兴趣,自主制定实验内容。另外,为了适应本专业学生的培养,除了需要掌握嵌入式系统基本的方式方法之外,还在综合型实验中设置了较多通信类实验课程。
这样,学生在实验过程中,由浅到深、由基础到综合地进行实践操作,符合渐进性的教学规律。为了解决课时少的问题,设置了一部分课外可操作的实验,使一部分有兴趣而不满足于课内学习设计的学生有更广阔的学习时间与空间。
3.1 基础型实验
基础型实验多为验证型实验,其目的是为了让学生掌握基本的理论知识以及嵌入式软件的一般开发流程,熟悉开发工具与开发环境,为之后的综合型实验和自主创新型实验做好准备。这部分实验指导书较详细,学生能够扎实地掌握嵌入式系统的基本软件开发知识。基于本实验系统设计的基础实验主要如下。
ADS环境下的汇编指令实验。本实验介绍了ADS环境下用汇编语言进行编程和调试的一般流程,以及使用汇编语言实现对GM8180开发板进行初始化的方法。目的是为了让学生熟悉和掌握ADS开发环境。
建立Linux虚拟机及熟悉常用命令实验。通过本实验,学生需要掌握如何在Windows系统下面搭建Linux服务器,并学会基本的Linux命令和操作。
Linux交叉编译平台实验。通过在Linux下建立交叉编译平台和使用交叉编译平台编译源代码的方法,使学生熟悉和理解交叉编译的原理和概念,学会建立Linux交叉编译平台。
程序下载烧写实验。本实验介绍了配置和编译BootLoader(ARMBOOT)和Linux内核的方法,从而学生可以掌握下载编译好的BootLoader(ARMBOOT)和Linux内核的方法以及建立NFS文件系统的方法。
Mount挂载(nfs/usb/sd)实验。通过本实验,学生能掌握配置linux下nfs服务的方法和mount挂载usb/sd的方法。
3.2 综合型实验
综合性实验旨在培养学生的综合设计能力。根据之前的理论教学与基础性实验的练习,综合所学知识,具备基本的软件开发能力。这部分教学实践实行“教师逐步放手,学生动手去做”的原则,故实验指导书编写得简明扼要。为了达到综合培养的目的,既要包括多方面的知识与设计要求,又要有空间让学生自己发挥。
ADS下混合编程。本实验让学生熟悉和掌握在ADS环境下C语言和汇编语言的混合编程和调试,巩固使用AXD和Mulit-ICE调试的方法。
C语言程序设计与串口通信实验。通过本实验,学生可以掌握在ADS环境下的操作和JTAG的下载和调试,掌握使用C语言对GPIO端口控制。
GPIO驱动实验、I2C驱动实验。在理解Linux驱动程序的结构、原理和I2C协议的原理,掌握Linux驱动程序的编程的基础上,学生能够掌握Linux动态加载驱动程序模块的方法。
图像合成实验。本实验要求学生具有图像合成的知识,熟练进行实验设备的连接和调试、寄存器的设置,能够修改配置文件,深入理解图像合成的原理。
MMC/SD驱动实验。在学生掌握了MMC/SD卡接口的基本原理、MMC/SD驱动的结构以及SD卡的挂载的方法和测试方法后,能够配置、编译Linux内核,在实验箱上烧写Linux内核,建立NFS文件系统,并运行测试程序进行SD卡的读写。
视频网络传输实验。学生在了解了视频网络传输协议工作过程及原理之后,学会在IP网络中实现视频传输的方法。
Web服务器实验、单Server多Client实验。在本实验之前,学生已经熟悉了Web服务器原理及工作过程,通过路由器将实验箱和PC机连接,编写简单的服务器代码,在PC机上运行IE浏览器,能够查看网页服务器是否运行;以及熟练开启Linux,能向多个客户端发送视频数据。
远程控制视频实验。本实验要求学生理解远程控制的原理,通过本实验掌握在Windows下TCP客户端建立及通信的过程,及Linux下TCP服务器建立及通信的过程。
3.3 创新型实验
在嵌入式系统的应用领域里,嵌入式软件已经逐渐成为嵌入式产品设计创新和增值的关键因素,所以实验教学应侧重于软件实践和创新。理论和实践要相结合,而学生的创新能力要着重培养。针对本实验系统的可开放性,设计了一些具有创新型的实验,比如修改内核的内部代码,从而能使学生深入理解实时操作系统的一些机制,加深对理论知识的理解与巩固。再加上指导教师对实验系统原理的熟知,即使学生在操作的过程中导致实验系统瘫痪也能及时得以解决,让学生放心大胆进行实践设计。
在实验课堂上,学生难免会依赖于实验设备以及教师的指导而缺乏自主思考的动力,再加上实验室开放场地和时间的限制,要在有限的时间和空间里完成自主创新设计有些困难。课程选用ARM处理器+Linux操作系统的主流配置,学生可以在课外利用PC机上的Linux进行代码编写,可行之后再利用实验箱进行验证。这样,一方面可以减少场地和时间的限制,加强学生对所学知识渗透性的认知,另一方面提高了学生自主学习能力,培养其创新能力。基于此,在课程设置上,加进了学生自主安排时间。
3.4 课外实践
鼓励学生参加院校级“建龙基金”、“运河杯”等
课外科技立项活动。活动基金提供实验平台,而通信类学生可以根据自己的兴趣与长处设立通信网络与设备等的项目计划,申请资金设备并在导师的同意后获得实验室开放资源。此外,通过组织学生参加省级、国家级电子设计大赛及其他各种嵌入式应用型竞赛,让感兴趣、学有余力的学生得到更好的实践与创新能力锻炼的机会。
4 结语
嵌入式系统产品发展迅猛,不断渗透各个行业,人才要求也日益迫切。近几年来,为顺应社会和企业人才的需求,越来越多的高校将嵌入式系统的课程加入通信类专业教学体系,使之成为专业选修课甚至专业必修课。然而,嵌入式教学体系还未成熟,存在诸多问题。针对前文分析的课程设置缺陷,及我们在教学中发现的问题,本文以研究所自主开发的嵌入式实验教学平台为例,提出了针对通信学生的层次性的实验教学方案。根据软件实验环境,设置合理的实验课程,突出自主性与创新性,提高学生自主学习的能力,对培养学生的创兴能力具有重要意义。
参考文献:
[1] 杨水清,张剑,施云飞,等. ARM嵌入式Linux系统开发技术详解[M]. 北京:电子工业出版社,2008:1-6.
[2] 耿鹏. 信息工程专业嵌入式系统课程教学探索[J]. 中国现代教育装备,2010(19):82-110.
关键词:数据处理;Origin软件;软件教学
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)28-0231-02
《数据处理与论文写作》是农科院校多个专业的必修课程。该课程对于指导、帮助本科生开展课程实验和毕业论文设计以及毕业后从事科学研究及生产实践具有重要作用。该课程包括数据处理和论文写作两部分,其中数据处理是该课程的重点。但对工科基础比较薄弱的农科院校学生而言,数据处理部分具有理论性强、内容抽象、对高等数学和概率论与数理统计等先修课程要求较高等特点[1],使学生难以掌握该部分内容。课堂调查表明,学生在心理上对该部分内容容易产生一定的抵触情绪,学习兴趣较低,学习效果较差。因此,在学生认知不足、学习积极性不高的情况下,如何加强学生在数据处理学习中的主动性,提高教学效果,是《数据处理与论文写作》课程教师迫切需要解决的问题。
鉴于现在大学生的计算机操作能力普遍较强的特点,在《数据处理与论文写作》教学中引入计算机教学为该课程改革提供了契机。本课程选择当今世界上最著名的科技绘图和数据分析软件之一――Origin软件进行数据处理的计算机教学。
一、Origin软件的简介和特点
Origin软件是美国OriginLab公司开发的科技绘图和数据分析软件。自1991年问世以来,该软件一直在不断升级,目前已发展到Origin 9.1版[2]。
和当前流行的图形和可视化的数据分析软件Matlab、Mathmatica、SAS等相比,采用Origin软件进行数据分析和科学绘图,不需要任何计算机编程基础,也无需熟悉大量的函数和命令,只需单击工具条按钮或者选择菜单命令即可以完成大部分工作。此外,Origin可使用自身的脚本语言LabTalk控制软件,该语言可使用内置的基于C/C++的编译语言Origin C进行扩展。因此,Origin软件具有功能强大、操作简便等特点,既适合于一般的作图需求,也能够满足复杂的数据分析和图形处理。因此,Origin软件已经成为广泛流行和国际科技出版界公认的标准作图工具,是科学研究和工程工作者常用的软件之一[3]。
二、Origin软件的基本功能
Origin软件在科技绘图、统计描述和统计检验等方面功能丰富,这为《数据处理与论文写作》课程中的数据处理提供了便利条件。其功能可分类总结如下:(1)科技绘图:Origin软件可以提供几十种二维和三维的图形模板,包括直线图、描点图、向量图、柱状图、饼图、区域图、箱线图、极坐标图、气泡图、三角坐标图、彩色映射图以及各种3D图和统计用图等,用户可以使用这些模板制图,还可以自定义绘图模板;Origin还具备绘制更为复杂的多变量、多数据集的多层图的功能,可以产生双X轴、双Y轴图等;可以进行线性拟合、多项式拟合、S形曲线拟合等,还可以根据需要设定函数进行拟合;同时,Origin能够提供拟合参数等[3]。(2)统计描述:可以采用Origin进行常用的统计描述,如最大值、最小值、中位数、极差、和、数据点数、平均值、方差、标准偏差、平均值的标准误差、权重和、峰度、偏度及百分位数等。(3)统计检验:Origin软件中常见的统计检验函数有单样本t检验、独立双样本t检验、卡方检验、单因素方差分析、双因素方差分析、存活率分析等。
三、教学实例分析
《数据处理与论文写作》的数据处理部分包括很多理论内容,例如假设检验和方差分析及多重比较的基本原理等。这些内容的讲授通常涉及到大量的公式推导和计算,这使得教师难以在有限的课堂时间内高效地传递这些信息,还易引起学生的厌学情绪,使学生对知识的接受程度较低,教学效果不理想。例如,在讲解有重复的双因素方差分析时,需要计算矫正数、总平方和及其自由度、水平组合平方和及其自由度、两个因素的平方和及其自由度、交互作用平方和及其自由度、误差平方和及其自由度、相应均方等统计量,计算任务繁重,学生尤其难以接受手工计算,故在教学过程中将Origin软件引入教学。具体实现过程如下例题所示。
例题:为提高果汁饮料的口感,研究果汁的pH值(A)和蔗糖添加量(B)两个因素不同水平组合对果汁感官评分的影响。果汁的pH值为3.5、4.0、4.5,蔗糖添加量为10%、15%、20%。每个水平组合重复3次,进行完全随机化试验。试验指标为感官评分越高越好。试验结果如表1所示。试分析各pH值和蔗糖添加量水平下果汁的感官评分是否存在显著差异?
该题目的完成需要先分析pH值和蔗糖添加量对果汁的感官评分是否有显著影响,在此基础上进行多重比较。采用Origin软件分析,步骤如下:(1)按照下列方式将数据录入到origin软件的工作表中,或者选择File/Import将其他数据文件直接调入工作表中;(2)在Statistics选项中选择ANOVA/Two-way ANOVA;(3)在所弹出的对话框中的数据录入区域录入对应数据,选择结果输出的内容:统计描述(Descriptive Statistics)和多重比较(Means Comparison),并明确多重比较结果输出时所采用的显著性水平和多重比较的方法(如Tukey、Fisher检验等),点击OK确认输出结果;(4)根据结果(如表2所示)做出判断。
从表2的结果可以看出,Origin软件所输出的结果直观,无需进行复杂的计算和查找F值表等即可做出判断。
在实际教学过程中,可以先进行数据分析的软件演示,让学生对采用Origin软件开展方差分析建立感性认识,减少学生的畏难心理,为进行方差分析的理论教学做好铺垫;同时,在后期的上机操作训练中,学生的学习积极性得到调动,教学效果得到充分提升。
Origin软件灵活、多变、强大的科技绘图功能能够极大地激发学生的学习兴趣,提高学生的绘图水平,对进一步顺利完成毕业论文乃至未来的科研任务也起到了至关重要的作用。采用Origin进行多个统计量计算时,单击工具条按钮可一步完成所有统计量的计算,通过简单的课堂练习即可掌握;而在统计检验中,学生在软件操作过程中营造了互动的课堂氛围,提高了他们的课堂参与度。Origin软件在《数据处理与论文写作》中的应用很好地诠释了现代信息技术与教育事业的强强联合,使得该课程数据处理部分的教学变得更加容易、简便,摆脱了传统的利用计算器进行计算的方式,简化了计算程序,优化了该课程的教学效果。值得注意的是,尽管Origin软件能够帮助学生实现复杂的计算,但在教学中也应引导学生认识到Origin软件只是工具,必要的理论知识学习才是用好该工具的前提。此外,由于课堂中的学习时间有限,而软件的使用需要在实际应用中反复探索、实践与总结,因此应引导学生加强课后的练习和使用,使之完全掌握该软件,以适应新的经济形式下社会对理论与实践能力兼备型人才的需求。
参考文献:
[1]王钦德,杨坚.食品试验设计与统计分析[M].北京:中国农业大学出版社,2003.
(1)适时制生产系统的实施,为作业成本会计的产生创造了重要的应用条件。适时制使传统的“交易基础成本计算”或“数量基础成本计算”受到强烈冲击,并直接导致作业成本会计的形成和发展。作业成本会计因适时制的产生而产生,又因适时制的发展而发展。
(2)由于变动成本法在实践中运用地不理想,所以企业家目前更注重的是完全成本法。实务工作者认为短期变动成本是产品成本的一种不充分的计量尺度。他们倾向于把固定成本分配到各产品之中,以全部成本作为产品的长期制造成本,实务工作者对完全成本法的这种浓厚兴趣,就成了作业成本会计产生的现实土壤。
(3)在高新科技条件下,传统的成本计算方法导致产品成本信息的严重失真。20世纪70年代以后,西方许多制造企业的制造环境发生了重大变化。许多企业更加需要准确的产品成本信息,进而更加关注成本计算方法。过去看起来是合理的计算方法,在新的环境下,却出现了扭曲成本信息,不能满足决策及管理需要的现象。而传统的成本计算法要求将直接材料、直接人工和制造费用全都追溯到产品中去,直接成本由于归属对象明确,可以做到准确分配,而间接成本的发生动因却比较多,笼统以单位水平动因来分配,在制造费用较多的情况下,将严重扭曲产品成本。
时代的变革导致经营环境的变化,经营环境的变化要求企业在激烈的竞争中努力改进和完善管理技术和方法,降低成本,提高生产效率和效益。随着企业对成本计算的准确度要求,作业成本法慢慢地走入了企业成本管理者的视野中。
2作业成本法的发展
(1)国外作业成本法的发展。
作业成本法的产生最早可以追溯到20世纪30年代末40年代初期,杰出的会计大师埃里克•科勒,科勒当时所面临的问题是,如何正确计算水力发电行业的成本。1952年其在他编著的《会计师词典》中系统的阐述了他的作业会计思想。
1971年乔治•斯托布斯出版了《作业成本计算和投入产出会计》,作为研究成本会计的杰出理论家,他坚持:会计是一个信息系统,作业成本会计是一种决策有用性目标相联系的会计。研究作业成本会计应首先明确三个概念,“作业”、“成本”、“会计目标—决策有用性”。会计要揭示收益的本质,首先就必须解释报告的目标,这个目标表示托管责任或受托责任,主要是为投资者的决策提供信息,作业成本计算中的“成本”不是一种存量,而是一种流出量。会计若要较好的解决成本分配问题,成本计算的对象就应是作业,而不是完工产品,成本不应硬性分为直接材料、直接人工、间接费用,而是应该根据资源投入量,计算利用每种资源的完全成本。
20世纪80年代,美国哈佛大学库伯和卡普兰两位教授撰写了一系列案例、论文和著作才引起西方会计界的普遍重视。库伯相继发表了一系列关于作业成本法的论文,这些论文基本上对ABC的现实需要、运行程序、成本动因的选择、成本库的建立等方面作了较全方位的分析。库伯还和卡普兰合作在《哈佛商业评论》上发表了《计算成本的正确性:制定正确的决策》一文。这标志着作业成本法开始从理论走向应用。
20世纪末,以美、英等国家为代表的西方会计界开始对ABC的理论和实践产生了广泛的研究兴趣,许多会计学者发表和出版了大量研究探讨作业成本法的论文和专著,作业成本法已成为人们广泛接受的一个概念和术语,ABC的理论亦日趋完善,并已在西方国家的一些企业中得到了推广应用,更促使了作业成本法的发展。
(2)我国作业成本法的研究现状。
在我国,最早的有关作业成本法的文章是易中胜、马贤明、陈良编译并发表于《会计研究》第六期的《管理会计:挑战、对策与设想》。随着生产方式的急剧变化,生产制造环境的变化使传统的成本会计提供的成本信息不能反映真实的产品成本,传统的成本会计系统受到越来越多地批判,而作业成本法则会受到越来越多企业界人士和学者的关注。
3作业成本法的原理与运用
(1)作业成本法的基本原理。
作业成本法的基础是:作业消耗资源、产品消耗作业。作业成本法的本质是:以“作业”作为分配间接费用的基础。间接成本与产品是通过作业联系在一起的,我们需要找出引起间接成本发生变动的作业,并把这些作业作为分配间接成本的基础。作业成本法计算要求首先根据作业对资源的消耗情况将资源成本分配到作业,其次依据成本动因跟踪到产品成本,即资源—作业—产品。
作业成本会计是一个以作业为基础的科学信息系统,它把成本计算从以“产品”为中心转移到以“作业”为中心,并以资源流动为线索,以资源耗用的因果关系为成本分配依据,对所有作业活动进行动态跟踪反映和分析,大大拓展了成本核算范围,改进了成本分配方法,优化了业绩评价尺度,提供了较为准确的资源利用方面的成本信息,能更好的发挥其在决策、计划、控制中的作用,促使作业管理水平不断提高,满足各方面对会计信息的要求,克服传统成本制度的诸多不足。
(2)作业成本法在我国的运用。
全面的了解整体性,层次性,动态性和开放的计算机系统,掌握计算机硬件和软件的协同工作和互动机制。随着嵌入式计算、移动计算、并行计算和服务计算等多种计算系统出现,计算机处理的对象也呈现出新的特征:网络化、多媒体化、大数据化和智能化。信息产业形态的变化对计算机相关的技术研发、安全性、效率等提出了新的要求,也对计算机专业人才的知识结构调整与创新和实践能力提出了更高的要求。如何更好对计算机系统的软件和硬件集成,使系统具有高性能和低成本的硬件,这是计算机体系结构设计,硬件设计,高层次的应用开发和系统软件的开发必须掌握的基础。对于计算机专业人才来说,必须建立“系统观”,深刻理解以CPU、操作系统、编译器为核心的计算机系统工作原理及三者间相互作用关系。对于高素质创新性的计算机专业人才,其毕业生必须具备“系统能力”,能够开发一个包括CPU、对应的操作系统和编译器在内的计算机系统。能够完成计算机系统设计与相关验证试验。面对新的形势,主动适应知识经济时代社会发展、建设创新型国家和人才强国战略对人才培养的新要求,坚持知识,能力,素质协调发展,一方面是课程体系和课程调整,一方面针对技术发展及时增加新的课程,已成为高教工作者们的共识。构建课程群,处理好主干学科与其他学科的关系,整体设计和规划,拔高学生的基本技能。将知识传授、能力培养、素质提高有机结合起来,加强道德品质教育与专业教育的结合,创造对学生有价值的培养,培养知识、能力、素质协调发展。
二、软硬件融合的教学体系改革
1.教学环节。
调整课程的知识体系和教学内容是教学改革的必然。教学中应注重综合应用,减少课程设置重复。将基础理论与最新科技成果结合,教学具有实时性。尽量缩小课堂教学与实践之间的差距,这也对专业授课教师们提出了更高的要求。内容上来看,各门课程独立规划、独立教学,造成了知识点重复和衔接不连续。缺乏对完整计算机系统较为全面的说明。课程体系建设建立在面向系统的角度,提高系统能力建设的基础上进行统一规划,为学生的教学内容构建成完整和系统的体系结构,并结合工程实践,注重实验教学手段和实验平台的统一,最终实现学生可以根据一个指令集系统,自主设计CPU及对应的操作系统和编译器系统,使学生具有充分开发计算机系统的设计能力。计算机体系结构理论较多,概念较为抽象。通过动画演示、仿真试验、远程交流等多种教学手段来强化理论教学,同时加强实践环节,鼓励学生进行自主性设计的综合实验;毕业设计结合教师的科研任务,科研教学相结合,做到变抽象为具体,增强学生实践动手能力。课内实验经常邀请科研院所第一线的工程技术人员作报告,了解重点工程的意义和研制过程,组织有关专家作专题讲座,了解国内外计算机体系结构的发展概况和我们努力的方向,为学生步入工作岗位奠定基础。我们选取数字逻辑电路、汇编语言程序设计、计算机组成原理、操作系统、编译原理5门核心课程组建计算机系统类课程规划。
2.加强实验与实践模块。
为了尽快让学生了解自己的专业背景,明确专业学习方向,在第1学期开设导论课程,由资深教授或专家开设。引导学生按照专业的特点进行学习。计算机系统是一个复杂的巨系统,学生需要同步完成教学和实践,我们需要精心设计教学实验系统,重点对各阶段设置教学课程改革配套实验进行设计,形成一个完整的计算机系统的设计与实现。按照这个思路,我们调整了原来的实验系统和实验内容。既要巩固知识和学习课程,同时也衔接测试实验模块,逐步完善实验系统。组成原理课程中将计算机底层硬件和程序设计结合起来,渗透了软硬件协同的系统能力培养思想,并第一次在课程教学中引入了cpu设计,带动课程组走在了系统能力培养的前端。实践教学模块包括通识教育实践,工程训练,课程实践,学校实习,毕业设计等。要明确实践环节培养目标,工程设计实践应强调工程系统的概念,形成各实践环节的有机融合和相互促进。根据培养目标,教学内容和课程体系的设计和集成以多维的形式设置,提高了模块化的课程。据专业特点和优势,结合社会的需求,创新人才培养模式的要求,强化工程能力,把重点放在工程教育体系。结合民族特色,各类创新实验基地,国内外合作培养模型,促进与海外和国内著名高校的交流与培训,教育合作,实现全方位,多层次,宽领域地沟通,全面提高学生的素质和竞争力,并提高学校的国际国内影响力。创立“应用文写作”、“管理科学”、“大学生职业生涯规划与管理”、“大学生心理健康教育”等课程作为选修课程。通过国际交流与合作,开拓视野,提高学生的适应社会能力和技能。专业方向的软件开发实践要求和结合国际的软件开发项目,同时为学生提供先进的软件开发环境,使学生可以学习和掌握国际先进的软件开发工具,以提高学生大型软件项目开发和与国际合作的实践能力。培养学生能够利用所学知识和掌握的技能,针对多样化用户需求,按照工程规范完成系统的开发、实施、交付与改进,培养成本意识与问题分析能力,具备运用先进的工程化方法、技术和工具从事软件分析设计、开发、测试、维护等工作的能力,以及科研和工程项目的管理能力、团队成员之间协调和协作能力、技术创新能力和开拓能力。根据学生的特点,考虑专业学生的整体水平,同时提供机会让学生发挥主观能动性。为了促进学生的个性发展,尊重学生的兴趣和特长,培养人才,允许和鼓励学生完成核心课程的基础上,多学科的选修自己感兴趣的专业基础和专业课程模块。积极探索模块化培养模式,促进辅修专业制度,“2+2”中外联合培养,这硕博连读,跨学科的人才培养模式。逐步推进研究性教学,强化创新思维,创新方法和创新能力,建设创新教学平台,注重学科交叉融合,建立创新计划,加强创新和创新的方法来教育理论,鼓励学生多渠道获取创新学分。邀请企业家来讲课项目纳入学校课程应不低于6学分以内。坚持以专业的标准和专业特色相结合,充分体现当地学校的特色专业。特别是,特色专业紧跟行业的发展,并进一步强化专业优势。从国内外的创新教育经验来看,进一步推进拔尖创新人才特殊的培养,实施培训,以适应信息化社会的所需要的高品质及创新型人才。
三、建立多元的教学评价体系
实验操作是理论联系实际的重要环节,实验报告必须在科学实验的基础上进行,实验报告的撰写是知识系统化的吸收和升华的过程,实验报告应该体现完整性、规范性、正确性、有效性。现将撰写实验报告的有关内容说明如下:
1.实验名称
2.实验目的
本次实验所涉及并要求掌握的知识点。
3.实验内容与实验步骤
实验内容、原理、原理图分析及具体实验步骤。
4.实验环境
实验所使用的器件、仪器设备名称及规格。
5.设计实验数据表格
6.实验过程与分析
详细记录在实验过程中发生的故障和问题,并进行故障分析,说明故障排除的过程及方法。
根据具体实验,记录、整理相应数据表格、绘制曲线、波形图等,并进行误差分析。
7.实验结果总结
对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见。
注:1.前5项必须在做实验之前完成,并由指导教师签字后才能做实验。
2.对于学生自拟实验题目、参与科研、创新实验等形式实验项目的实验报告可采用论文、实验总结报告等形式完成。
3.此封皮标准页面为16K,实验报告:实验名称:
熟悉PIC系列单片机的开发环境及简单编程
实验目的:
1. 通过顺序结构的简单程序设计,熟悉PIC系列单片机的开发环境,掌握基本应用步骤和命令;
2. 熟悉汇编语言指令,掌握基本的程序设计方法。
实验环境:
PC计算机 MAPLAB编译环境
实验原理 :
实验一:交换两个寄存器内容(例如交换f10H和f11H的内容) 实验过程比较简单,无分支程序,而且思路十分清晰,难度不大。
实验二:(选作)将某一寄存器内容中的奇偶位数据交换。
本实验的思想是:将寄存器中数据同10101010二进制数相与,得到原数据的奇数位,并向右移一位后存至一个寄存器,作为结果数据的偶位数;再将寄存器中数据同01010101二进制数相与,得到原数据的偶数位,并向左移一位后存至另外一个寄存器,作为结果数据的奇位数。最后,将这两个寄存器中的数字进行或运算,得到结果。
实验中,使用了RO作为记录原数奇位数的寄存器,RE作为记录原数偶位数的寄存器,RN作为记录员数据的寄存器,RR作为记录结果的寄存器。
实验程序:
实验一:
LIST P=16C54
RA EQU 10
RB EQU 11
RT EQU 12
ORG 1FFH
GOTO MAIN
ORG 0
MAIN NOP
MOVLW 0
MOVWF RT
MOVLW 15H
MOVWF RA
MOVLW 3AH
MOVWF RB
MOVF RA,0
MOVWF RT
MOVF RB,0
MOVWF RA
MOVF RT,0
MOVWF RB
END
实验二:(选作)
LIST P=16C54
RO EQU 10
RE EQU 11
RN EQU 13
STATU EQU 3
CARRY EQU 0
RR EQU 12
ORG 1FFH
GOTO MAIN
ORG 0
MAIN NOP
MOVLW 99H
MOVWF RN; GIVE VALUE
ANDLW B'10101010'
MOVWF RE
BCF STATU, CARRY
RRF RE; ODD->EVEN
MOVF RN,0
ANDLW &nbs p; B'01010101'
BCF STATU, CARRY
MOVWF RO
RLF RO; EVEN->ODD
MOVF RO,0
IORWF RE,0; ADD THE TWO PARTS OF THE NUMBER BY OR THEM
MOVWF RR
END
调试结果:
实验一结果:
1、赋值后
2、调换中
3、调换后
实验二结果:
1、赋值后
2、取奇数位的数值存入RE
3、将奇数位的数值右移一位
5、取偶数位的数值存入RO
6、将偶数位的数值左移一位
7、得到最后结果
实验分析与实验体会:
本实验通过顺序结构的简单程序设计,我基本掌握了PIC系列单片机的开发步骤和命令,熟悉了PIC系列单片机的开发环境MAPLAB,并在具体变成过程中,熟悉汇编语言指令,掌握基本的程序设计方法。
虽然本实验是基本练习,目的是为了熟悉实验环境,但是,在实验中还是学到了很多东西:
关键词:计算机专业设置;课程体系;创新型人才培养;实践教学
中图分类号:G642文献标识码:A文章编号:1009-3044(2010)21-5874-02
Research of University Computer Specialty Setup and Innovative Personnel Training
CHE Kui1,2, LU Ling1, XUE Hai-yan1
(1. Department of Computer Science and Application, Zhengzhou Institute of Aeronautical Industry Management, Zhengzhou 450015, China; 2. College of Software, Beijing University of Posts and Telecommunications, Beijing 100876, China)
Abstract: With the uninterrupted development of computer technology, the computer application is infiltrating to other fields step by step, and the society requirement is extending uninterruptedly. How to train high quality innovative personnel, this brings forward a new challenge to university computer specialty setup and layout. This paper researches mainly university computer specialty setup and innovative personnel training,includes the setup of specialty direction and courses system, the training pattern and training project of innovative personnel to adapt society requirement.
Key words: computer specialty setup; courses system; innovative personnel training; practical teaching
计算机专业是一个发展十分迅速的专业,目前在国内高校本科教育中已形成了规模庞大、方向多样的教学体系,每年向社会输送大批的计算机人才。由于计算机技术的不断发展,计算机应用向其它领域的逐步渗透,以及社会需求的不断扩充,如何培养出高质量的创新型计算机人才,对于高校计算机专业的设置与规划提出了新的挑战。本文主要研究了计算机专业的设置规划与创新型计算机人才的培养,包括专业方向、课程体系的设置,适应社会需求的人才培养模式与培养方案。
1 计算机专业设置规划
在制定计算机专业设置规划过程中,应考虑到社会对计算机人才的需求,从“研究型人才”、“工程型人才”、“应用型人才”的培养目标入手,将计算机专业划分为多个培养方向,主要包括“计算机科学”方向、“软件工程”方向、“网络工程”方向、 “信息技术”方向等。
1.1 “计算机科学”方向
“计算机科学”方向主要研究计算机和可计算系统的理论、设计、开发和应用技术,涉及算法分析与设计、程序设计语言、数据结构、软件开发与理论、数据库系统、人工智能、计算机系统、计算机网络、操作系统、编译原理等知识领域。该专业方向培养学生具有深厚的计算机科学理论基础,具备一定的研究开发能力,熟练掌握计算机程序设计及算法的实现,强调学生应用计算机算法解决相关领域的实际问题,并可构建出高效的解决方案。
“计算机科学”方向的核心课程为:程序设计、计算机组成原理、计算机体系结构、算法分析与设计、数据结构、数据库系统原理、软件工程、软件测试、操作系统、编译原理、计算机图形学、计算机网络技术、人工智能、课程设计、毕业设计等。
1.2 “软件工程”方向
“软件工程”方向主要研究计算机软件开发过程的理论、设计、开发和应用技术,涉及算法与程序设计语言、数据结构、数据库原理、软件工程、面向对象分析与设计、操作系统、计算机体系结构、软件测试与质量保证、软件需求开发、软件管理等知识领域。该专业方向培养高层次、实用型、复合型软件工程技术和软件工程管理人才,学生具备扎实的程序设计能力,具备深厚的软件工程理论基础及较强的工程实践能力、研发能力和市场与国际意识,能够对软件产品的需求分析、架构设计、实施和测试执行规范有效的组织和管理,以及进行可靠的方案实施。
“软件工程”方向的核心课程为:高级程序设计、算法与数据结构、操作系统、数据库系统原理、计算机网络技术、编译原理、软件工程、UML软件建模设计、软件测试与质量保证、软件项目管理、软件配置管理、Web开发技术、软件体系结构、设计模式与重构、软件工程实践、课程设计、综合实训、毕业设计。
1.3 “网络工程”方向
“网络工程”方向主要研究计算机及计算机网络系统的理论、设计、开发和应用技术,涉及程序设计语言、数据结构、网络设计与理论、数据库系统、计算机系统、计算机网络、网络操作系统、信息安全、网络协议等知识领域。该专业方向培养学生具备计算机网络技术、计算机通信技术、计算机网络安全等知识,能够在IT领域从事计算机网络技术与设备的开发、设计与管理,具有基础理论扎实、知识面宽、实践与开拓创新能力强的高素质技术工程型与开发型人才。
“网络工程”方向的核心课程为:计算机组成原理、程序设计、数据库技术、网页制作技术、网络操作系统、TCP/IP技术、计算机网络体系结构、网络管理技术、密码学与网络信息安全技术、网络性能分析、网络软件设计、多媒体应用技术、综合实训、毕业设计等。
1.4 “信息技术”方向
“信息技术”方向主要研究计算机在信息处理、信息管理等方面的理论、设计、开发和应用技术,涉及程序设计、算法与数据结构、计算机组成原理、计算机网络技术、管理信息系统、信息安全、系统分析与设计、系统管理与维护、电子商务、ERP原理、信息管理、软件工程、数据库系统等领域。该专业方向培养学生具备现代管理学理论基础、计算机理论知识及计算机应用技能,掌握信息系统分析与设计方法及信息管理等知识,具有从事信息管理及信息系统分析、设计、开发实施管理与评价等多方面能力的复合型、应用型人才。
“信息技术”方向的核心课程为:程序设计、算法与数据结构、计算机组成原理、计算机网络与互联网、信息管理导论、管理信息系统、信息安全技术、系统分析与设计、Web系统与技术、电子商务、ERP原理及应用、软件工程、数据库与信息管理技术、课程设计、毕业设计等。
2 创新型计算机人才培养方案
在创新型计算机人才培养方面,应坚持理论教学、实践教学、教学实习基地建设相结合的方式,注重培养学生的动手能力与创新能力,使计算机专业的发展方向与社会经济、社会需求相一致。信息化社会对计算机专业人才的需求呈现出多样化的特征,尤其对实践能力强的创新型人才的需求更为迫切。
2.1 结合社会需求,制定创新型计算机人才培养目标
创新型人才是指具有创新意识、创新思维、创新能力和创新人格的人才,创新型人才不仅是全面发展的人才,还是充分发展的人才,更是对科技发展和社会进步做出较大贡献的人才。因此,在对学生进行计算机专业教育过程中,应强化创新意识教育,增强创新思维训练,注重创新能力培养,着力创新人格塑造。
人才培养目标定位是制订人才培养方案的首要问题,其决定了专业能力结构和知识体系,而社会需求是一个客观标准。专业能力结构是培养目标的具体化,贯穿于知识体系与教学模式中。在构建专业能力结构时,需考虑社会本位和个人本位的问题。社会本位注重学生未来的就业前景,强调职业的针对性和应用性;个人本位注重个人综合素质和能力的培养,为学生的未来发展创造积极的条件。培养具有创新型计算机人才,需将专业能力与基本能力有机地结合起来,形成以专业能力为核心的科学架构。针对不同的专业方向,强化相应的专业知识,按照“研究型人才”、“工程型人才”、“应用型人才”的培养模式进行人才培养。
“研究型人才”注重计算机理论知识的学习,具备深厚的计算机知识,关注计算机前沿的发展趋势,培养方向为计算机科学。“工程型人才”注重实践能力的培养,可分为软件工程、网络工程两个培养方向。“应用型人才”重视计算机技术的应用,包括信息技术、计算机图形图像处理、计算机辅助设计、电子商务、管理信息系统等多个培养方向。
2.2 紧跟计算机发展趋势,不断更新专业课程体系
结合计算机的发展趋势,按照突出应用性、实践性的原则重组课程体系,教学内容要突出理论知识应用和实践能力培养。基础理论课教学以应用为目的,专业课教学需加强针对性和实用性,强调实践课的重要性。
按照信息社会对计算机人才的需求,培养学生具备深厚的理论知识和应用实践能力,应不断更新专业课程体系。根据不同的培养方向,增加相应的特色专业课程,并对主干课程设置课程设计,强化学生的实践能力。
2.3 灵活运用多种教学方法,构建和谐教学环境
教师在授课过程中,可灵活运用多种教学方法,以提高教学效果。“任务驱动”教学法应用广泛,可以培养学生学习的主动性和成就感,在某个学习阶段,紧紧围绕一个既定的学习任务,学习相关的知识,当完成了一个学习任务时,再定下一个学习任务。在课堂教学中,教师应根据知识单元从不同角度提出相关的问题,引导学生思考,启动其创新思维能力,通过开拓思维获取新知识。
教师应把教学作为发展认知的手段,充分调动学生的学习积极性,使其参与到计算机课程的教学活动中。鼓励学生大胆质疑,给予学生发表意见的机会,使学生逐步具有创新意识。针对学生的不同见解,引导学生审视其观点,从而得出正确的结论,这样可以保护学生学习的积极性,使学生树立独立学习及创新思维的自信心。
2.4 加强实践教学环节,重视教学实习基地建设
计算机专业的实践性很强,为了增强学生的创新意识,增强学生的创新能力,必须将实践教学贯穿于整个教学环节中。通过实验、课程设计、综合实训等方式强化实践教学环节,注重学生设计软件/硬件的创新能力。
通过学校与企业合作,建立教学实习基地,有效地开展专业实习。鼓励学生在实习基地参与实习工程,并结合实习成果完成毕业论文。学生通过参与企业运作与项目研发,体验真实的企业环境和项目开发环境,可提高自身的工程能力和职业素质。
2.5 完善教学设备,进一步加强师资队伍建设
教学设备应随着计算机技术的发展及专业设置的调整而不断更新,在创新型计算机人才培养方案中,实践教学环节十分重要,教学设备是实践教学的必备条件,因此需要投入大量的资金完善教学设备,建立实验室、机房等。
创新型人才的培养离不开创新型师资,由于计算机学科发展迅速、实践性强,对于计算机专业教师提出了更高的要求。计算机专业师资队伍的建设需不断改革与完善,制定有利于师资队伍建设的管理体系与有效措施,建立科学有效的师资队伍考核评价体系,营造学科创新氛围,创造良性竞争环境,积极探索师资队伍的优化与整合,创造多学科汇聚与多方向交叉融合的创新团队群,努力打造一流的计算机专业师资队伍。
3 结束语
在高校计算机专业教学中,应不断改革教育理念和专业设置,积极探索信息时代教育教学的新模式和新思路,促进学生创造精神和创新能力的培养。结合社会需求,不断调整计算机专业设置和课程体系,灵活运用多种教学方法,加强实践教学环节,完善教学设备,构建和谐教学环境,为国家培养出高素质和高质量的创新型人才。
参考文献:
[1] 韦丽梅.计算机类专业课程设置对就业情况的影响[J].计算机应用与软件,2009,26(10):111-113.
[2] 景海峰.高校计算机教学中学生实践创新能力培养的思考和建议[J].黑龙江教育,2008(7):84-85.
[3] 周兴社,樊晓垭.创新型计算机人才培养的探索与实践[J].计算机教育,2007,(3):10-11.
[4] 夏晓玲.大学计算机专业学生的培养与就业实战技巧[J].计算机教育,2006,(3):66-68.