遗传算法在平面魔方游戏中的应用.doc_第1页
遗传算法在平面魔方游戏中的应用.doc_第2页
遗传算法在平面魔方游戏中的应用.doc_第3页
遗传算法在平面魔方游戏中的应用.doc_第4页
遗传算法在平面魔方游戏中的应用.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

遗传算法在平面魔方游戏中的应用 摘要:程序设计语言课程教学应当注重能力培养,以学生能够独立地读写程序为中心目标。课程内容须少而精。上机实践不宜选用算法设计难度大的题目。文中介绍了多种获取学习状况反馈的途径。一个反响良好的措施是要求学生每天读透一个程序示例,并在下一次课上随机抽取学生上台讲解。关键词本文来自:计算机毕业网 :程序设计语言课程;教学方法;能力培养;每天一例前言程序设计语言课程已经成为高等院校的基础课程。它不但是计算机专业学生的必修课程,而且是非计算机专业的必修课程。学好本课程,有利于学生深入地理解和掌握计算机技术,更好地使用计算机。本文是我在从事程序设计语言教学过程中的经验教训和心得体会的总结。目的是引发一些思考和讨论,从而在程序设计语言课程教学上探索出更有效的手段和方法。我讲授的是C语言,授课对象是非计算机专业的学生。教材选用的是谭浩强教授编著的C程序设计(第三版)。本文给出的观点和方法不限于C语言教学范畴,尽管部分例子采用了C语言编写的程序代码。这些观点和方法可以推广应用至各类程序设计语言课程教学中。我的观点和方法概括如下:衡量课程学得好坏的标准有两条:(1) 会读程序;(2) 能写程序解决问题。课程内容须少而精。课堂教学要多交待背景、多举例和多提问。强调课后复习,采取措施进行督促。强化实践环节,及时解决学生们遇到的问题。获取反馈,跟踪学生的课程学习状况。1衡量标准计算机程序设计课程学得好与坏,就看这个学生能否做到两件事:读程序和写程序。“会读程序”是前提,会写程序并且写出好程序是最终目的。诚如谭浩强教授所言:衡量这门课学习的好坏,不是看你“知不知道”,而是“会不会干”。会读程序不是一件容易的事。应该要求学生读“透”程序把程序语句背后的含义读出来。举个例子来说,程序清单1的功能是把一个二维数组行和列互换,存到另一个二维数组中。程序清单1:#include void main() int a23 = 1, 2, 3, 4, 5, 6;int b32, i, j;printf(数组a: n);for(i=0; i=1; i+)for(j=0; j=2; j+)printf(%5d, aij);bji = aij;printf(n);printf(数组b: n);for(i=0; i=2; i+)for(j=0; j=1; j+)printf(%5d, bij);printf(n); 上述程序是简单的。读透它不仅仅是给出程序运行结果,而应该读出语句背后的含义。例如以下程序段的含义是把数组a的一行转换成数组b的一列。由此,我们也可以读出变量i代表的是数组a的行号,数组b的列号。行号/列号正是变量i背后的含义。程序清单2:for(j=0; j=2; j+) printf(%5d, aij); bji = aij;能写程序解决问题是更高一层的要求。这一能力必须通过不断的练习来获得。这主要依靠课程实践环节。需要注意的是,写程序前须要求学生复习知识点和多读程序示例,否则学生在上机编程中会遇到相当多的低级错误,效率大打折扣。2课程内容课程内容要少而精。课程应当聚焦于基础概念和核心知识点,不宜贪多。讲一门程序设计语言,只要提供学生进一步自学的基础就可以了。相信很多人认同这个观点,只是操作起来就走样。课程设计者也许是想多塞些知识给学生,或者在他/她眼里任何一个知识点都是那么重要。殊不知这带来以下问题:(1)教师赶进度,减少对隐藏在背后的知识的详细讲解。在“课堂教学方法”一节会提到,这些背后的知识是掌握某些课程知识的前提。(2)学生消化不了。不但多塞的内容掌握不了,连基本的都学得不扎实。(3)给学生造成课程“难”的印象。一旦提不起兴趣,积极性和主动性就得不到发挥。这一后果比少学一点更严重。授课者应该思考向学生提供什么。举例来讲,C语言课程不见得要逐一讲授众多字符串操作函数和文件操作函数的用法,而应该是举例讲解,进而归结出库函数的使用方法。重要的是掌握在阅读函数原型和有关说明后能够正确使用函数的能力,而不是熟记大量函数的用法。逐一讲解函数的用法既耗时又不能解决根本。课程内容少而精是合理的。对以后从事计算机专业的学生而言,安排内容再多也不足以应付将来的工作岗位的知识需求。对以后不从事计算机专业的学生而言,内容多了反而是浪费。课程内容多了,学生疲于吞吃新知识,无心也无力形成对计算机程序设计语言的深层次理解,无法做到融会贯通。而融会贯通、学以致用才是课程的真谛。就C程序设计(第三版)而言,如果安排的学时数是48,那么内容应当作较大幅的删减。3课堂教学方法课堂教学要多交待背景。其中有的是知识背景,而有的是应用背景。比如,课程开始有必要交待程序编制过程,由此学生们能够认识到源程序和二进制指令的关系。而了解内存的结构模型对于理解变量地址和指针等概念是必需的。更早的课程应该讲解过相关知识,不过在课程开始作一简要回顾还是值得的。介绍应用背景可以引起学生们的思考。比如讲解链表时,恰当的应用背景明显有助于理解。我在课堂上使用的实例是超市货品管理软件维护的库存不足货品列表一个动态变化的集合。首先分析指出采用静态数组或动态数组来维护库存不足货品列表所存在的问题,接着告诉学生链表是解决问题的好办法。在这一场景下,链表结点、插入操作、删除操作和遍历操作等都是有具体含义的。待全部知识内容讲解完毕,回头再总结问题是如何解决的。如此能够避免抽象和枯燥,使学生更容易接受相关知识,甚至学以致用。现在有一个不好的倾向,就是教材或课堂过于重视抽象化的知识,忽视应用背景。数据结构的教材是这一倾向的代表。这对入门阶段的学生来讲是不适宜的,因为学生难以走进所涉及的抽象世界,最终表现为不知道在讲什么。所以在课堂上应当交待背景以化抽象为具体,而后通过归纳从具体走向抽象。对程序设计语言课而言,在课堂上多举例,也就是多展示源程序的示例是好做法。有些概念或知识点,用文字费力描述也达不到效果,用示例代码就容易说清楚。课堂上应当多提问,随机抽取学生回答问题。这一方面能够促使学生集中注意力;另一方面能够活跃课堂气氛。随机抽取学生回答问题能够提供一些反馈信息,而且大部分学生是不会主动站起来回答的,除非被授课者叫到。4课后复习应该要求学生们课后及时复习,巩固每一次课所学的知识内容。因为一旦积累了问题,到后面可能连课都听不懂。不及时复习又会影响到上机实践的效率和效果。光倡议是不起作用的。我在第一次课就提出了要求,可是学生们动静不大。有必要采取措施来督促学生们做好课后复习工作。我采用的办法是在一次课的前5到10分钟内随机挑选两位学生上讲台讲解与上一次课程内容相关的示例程序。这一措施实施后,收效比较明显。 另一个值得考虑的举措是把班级分组,8到10人一组。每一组推选一名组长,职责是在课余以及上机实验过程中为本组同学解答疑问。期末评分上给予组长适当奖励。5课程实践每一位授课者都知道程序设计语言课离不开上机实践。课程进行同时也会安排上机练习时间。要保证既有效率又有效果,须注意以下几点。制定合适的上机实验计划。实验计划宜与课堂教学进度同步,即把实验任务分成多个组,每一个组分别针对主要的知识体(如分支语句、循环语句和函数)。一个任务组包含由浅至深的程序题。程序题的难度不宜过高。上机实验的中心目标是掌握程序设计语言的使用。程序题难度主要在于算法复杂程度。难度过高的题目导致学生们花费大量时间去寻求解题思路。这与中心目标不符。提高寻求解题思路的能力应当是其他课程的任务,对程序设计语言课程而言是次要的。当然,程序题也要有一定的挑战性,以及趣味性。课堂上应该讲解算法是什么和如何写算法。尽管算法不是课程的中心内容,不过学生们在上机实验过程中遇到的大部分问题归因于算法。只要帮助学生理清算法,问题通常迎刃而解。因此,应当利用恰当比例的时间开展必要的算法训练。督促学生养成良好的编程习惯。这主要涉及两方面。一方面是“先算法后编程”,可以不把算法描述成文,但在心里必须清楚明了。另一方面是注意编程风格,值得强调重点是缩进和取名。可以考虑利用网络论坛公开展示学生写的好程序。6学习状况跟踪我在教学过程中获得了一条教训:切忌自我感觉良好。我感觉良好的原因在于:(1)自信能够把课程内容讲清楚;(2)课堂上学生反应颇佳,向大家发出的提问都能得到较满意的答案。这种良好感觉在一次小测验后完全消失。我认识到,我以前的良好感觉是建立在主观性的反馈之上的,甚至加上了自己的倾向。准确了解学生学习状况离不开客观性的反馈。值得借鉴的具体做法是:向随机挑选的学生提问,并禁止其他同学的“协助”。批改适当比例的作业。一两次认真组织的小测验。小测验可以是笔试也可以是机试。这也能让学生了解自己的学习状况。7总结本文是我在C语言教学过程中所获得的经验教训和心得体会的总结。它不是一种教学方法的系统论述,而是一些零碎的观点和方法的讨论。我想再一次强调的一个观点是“课程内容须少而精”。课程设计者应当掌握好 摘要:本文提出了一个对于程序设计入门教学的改革方法,利用Alice三维虚拟世界帮助学生理解程序设计的流程及基本概念。同时根据教学实践总结并分析了Alice作为初学程序设计环境的利与弊,并对如何将Alice课程同计算机现有课程体系的整合进行了探讨。关键词本文来自:计算机毕业网 :Alice;虚拟世界;面向对象;对象优先;三维动画1引言如何对基础相对薄弱的高职高专学生实施程序设计的入门教学,一直受到计算机教育者的关注。目前,在教学过程中所面临的主要困难,是在讲解烦琐的语法知识同时帮助学生学会抽象算法,通过程序的函数、方法去实现功能。在过去的几十年,国外计算机教育者开发了许多软件帮助初学者学习程序设计,其中包括最早的Karel the Robot,以及持续到今日的Jeroo,Greenfoot等。其中,三维虚拟世界的图形程序设计环境Alice,在国外大学程序设计入门教学中的应用日益得到关注1。2006年美国国家科学基金 (NSF) 关于应用Alice进行教学的会议吸引了来自各地的学者,Alice相关出版物也陆续出现。国外计算机教育领域对Alice所带来的积极因素表示了肯定23,虽然在国内尚未普及,但是我们相信在未来几年Alice将受到国内计算机教育领域的关注。2Alice的概述Alice是由美国卡耐基梅隆(Carnegie Mellon) 大学开发的以学习者为中心,支持面向对象程序设计的三维虚拟世界动画教学工具软件,由提供免费下载。Alice的显著特点是支持图形化程序设计,能够生成三维虚拟世界中的对象,将场景的设计同程序设计结合起来。学生可以创建不同的对象和它们的行为构建虚拟世界中的不同场景。其中,虚拟世界的组成对象(人物、动物、场景等)可以从扩展的三维对象图库中进行选择。Alice提供拖放的图形用户界面,使得学生集中精力于程序设计的核心程序结构的组成。图形界面提供了组织对象、和对象成员(接口和数据)和方法的图形化的提示。Alice界面根据功能分为5个区域 (如图1所示),其中包括对象树,显示的是场景中出现的对象;World窗口,将对象添加到该窗口中进行场景的设计;事件区,对事件的响应进行编程,函数方法细节区,显示各个对象的属性、方法和函数;代码编辑区,通过将对象的属性、方法、函数拖拉到该区,根据提示自动生成代码。Alice图形化拖放界面将语法学习同语义学习分离,使学生创建一直处于可运行状态的代码。因此在这个过程中,不会出现语法错误,仅仅可能出现逻辑错误,但是不影响整个程序的运行。3Alice的教学特点3.1寓教于乐的教学方式寓教于乐的教学方式主要体现在通过输出结果的动态图形化。由于三维图形输出方式以容易解释且直观的方式给学生展示了程序设计的结果,因此,图形化的输出可以帮助学生理解如何控制结构影响输出,一旦程序运行结果并非预期结果,使得学生非常容易定位错误代码。图形输出的另一个好处在于增强学生对于程序语句的理解。三维动画在视觉上表达了对象的当前状态,学生编写代码能直观地了解到预期的状态变化。寓教于乐还体现在Alice在教学过程中能够培养学生编程信心。例如,学生编写的代码出现错误,程序并不会因此停滞不前,而仅仅是在输出的动画中给人以意想不到的结果。因此,Alice在培养学生关于程序设计能力方面的信心具有一定成效。如图2所示,图中显示的是Hunt程序 (狼追捕兔子) 运行结果的的动画场景,通过判定两者间的距离来确定追赶的运动轨迹,当两者的距离小于一定值得时,兔子将发出求救信号。相关代码如图3,其中通过whiteRabbit 的函数 (function) distance to 设置与wolf的距离小于0.9时,调用whiteRabbit的方法say() 发出求救信号。该程序包括了程序设计中的顺序结果 (Do inorder) 、条件语句(if),线程 (Do together) 等知识点的学习,使得学生在设计场景的同时理解了原本抽象的概念。3.2对象优先教学策略在传统的面向对象教学中,教师往往过分强调知识体系,遵循先变量后对象讲解的过程。因此,初学者常常会迷失在对变量定义、命名初始化等一些语法规则上,而忽略了对象甚至是程序结构的学习。Alice环境采用了目前较为流行的对象优先教学策略,通过将对象的可视化进行面向对象程序设计概念的教学。每个Alice虚拟世界中的可视单元中都是一个对象,因此对于教师非常容易地遵循对象优先的教学方法。在上例中,whiteRabbit是这个虚拟世界中的一个对象,它具有相关的属性、方法和函数。程序设计者只需要将左边列表中的对应项拖曳至右边的代码编辑区,根据提示信息就能方便地实现特定的功能效果。整个设计者过程中,学生只需要考虑对象及程序的执行流程而不需要涉及太多的语法。3.3团队学习的方式在Alice的实际演练中,我们引导学生会根据所做的项目自由分组讨论,去设计实现相关动画效果。在上面Hunt程序中,如果由一个小组进行合作编程,往往可以将任务分解成程序运行的脚本编写,也即剧本的编写;wolf运动的方式;Rabbit运动的方式;音响效果等。当程序设计的运行结果没有达到预期效果时,他们会聚集在一起分析问题、解决问题。通过分工合作进行学习程序设计的开发,在一定程度上培养了他们的团队合作意识。4Alice的教学实施方法在未来几个学期中,我们将在高职高专的计算机程序设计入门教学中将Alice课程将分阶段、按步骤同现有的课程提议进行整合。4.1第一阶段独立授课方式Alice程序设计可以作为一门课程单独教授,这种方式的好处在于,一个学期中学生仅仅学习一种开发环境,不容易产生混淆。它的弊端是对于后续程序设计开发课程的学习很难保持连续性。如果后续程序设计的课程(例如C+,或Java)的讲解不是以Alice进行类比讲解,那么Alice作为程序设计语言入门工具的优势可能消失。因此,如果将Alice作为独立课程,那么一定要在后续课程中明确地将两门课程进行过渡衔接。4.2第二阶段交叉教学方式将Alice同其他高级程序设计语言课程(例如Java) 在同一个学期内交替讲授。首先在Alice中表达式、变量、控制流程等基本概念进行讲解,使得学生对抽象概念有了直观了解后,接着将这些概念在Java再现。类似地,所有概念基本上按照先在Alice中讨论,然后在放到Java中进行教学。这种方法的重点在于如何恰到好处地实现两门课程的整合。4.3第三阶段阶段教学方式将Alice同Java开设在同一学期,分成两个阶段进行,先将Alice讲授56周,主要讲授Alice基本应用以及面向对象程序设计中的方法、参数和继承等概念,接下来的教学周进行Java的教学。在这个阶段,教师可以提供给学生一个语法或术语对照表,把Alice和Java中的概念一一对应起来,帮助学生从语法上进行过渡。学生在初期可能会感到不适应,这是由于缺少Alice图形画的直观显示,许多学生对于如何组织语句会感到困惑。因此这个阶段,教学重点是帮助学生从拖曳生成代码过渡到键盘输入代码,同时将变成重心放到语法学习上。图4演示了从Alice代码到Java代码的过渡。目前,我们进行的主要以独立授课方式为主,并以选修课、兴趣小组的方式在各个年级进行试点,这将为日后Alice真正融入计算机教学课堂做好充分准备。5结束语将Alice三维动画场景的设计应用于程序设计教学中,给整个计算机教育带来了耳目一新的感觉。与此同时,与Alice相关的教学方法改革包括对象优先等教学方法等也将在程序设计教学中日益得到推广。当然,我们也发现了Alice存在的一些缺陷。尽管避免语法错误能增强学生学习的自信,但是如何选择正确的点将Alice过渡到实际开发语言的学习 (C+或Java) 的学习将是我们下一阶段研究的重点。 参考文献1 Adams.Joel. Alice in Action. Computing Through AnimationJ.Course Technology,2006. 2 Dann, W., Cooper, S. and Pausch.R.Learning to Program with AliceM.Prentice Hall,2006. 3 Herbert, Charles W.An Introduction to Programming Using Alice, Course Technology, 2006. M Jeroo, 2006. Online. Internet. Sept. 8, 2006. Available WWW: 4 Kelleher, C. and R. Pausch. Lowering the barriers to programming:.A taxonomy of programming environments and languages for novice programmersJ.ACM Computing Surveys 37(2),Jun. 2005: p. 83-137. 1当今高校“双师型”IT教师的需求及现状11 双师要求与需求随着高等教育的蓬勃发展,很大一部分高校,尤其是高职高专院校,都面临师资匮乏和教师专业技能亟待提高的问题。这一普遍性的问题制约了办学质量的提高,对学生就业能力的提升极为不利。对高职高专院校而言,这一矛盾尤为突出,因为实践能力弱的教师是很难胜任以就业为导向、以能力为本位、以企业实际需求之知识与技能为内容的实训式教学的,而实训教学又恰恰是这些学校最必不可少的内容。为了解决这一问题,有关部委大力强调“双师型”教师在高等职业教育中的重要性,并作出了一系列的部署安排。那么,什么是“双师”呢?有各种各样的说法和规定,虽然不尽相同,但最起码都体现了一点,那就是要具备很好的实践能力。笔者根据查阅的相关文献,对“双师”标准大致归纳了一下。首先,教师应有相应教师职称,一般规定至少是讲师:其次,教师应有相应技术职称,一般规定至少是本专业中级职称;如无技术职称,教师满足相应条件亦可申请“双师”,比较常见规定的有:(1)在企业第一线本专业实际工作经历超过一定年限,例如累计两年;(2)主持的应用技术研究其成果被企业使用,效益良好;(3)作为学校实习实训带队教师,带满规定的次数,且合作企业反映良好;(4)参加指定的教师专业技能培训获得合格证书。下面,我们来看看教育管理部门是如何要求高校“双师”教师的。在教育部制定的高职高专院校人才培养工作水平评估指标体系中,要求合格高职院校的专业基础课和专业课中双师素质教师比例达到50,优秀高职院校的这个比例要达到70以上。而据有关调查资料报告,我国高职院校中“双师型”教师占专任教师总数的比例仅为27,距离教育部的要求相差甚远。具体到工T相关专业而言,由于IT知识更新快、应用性与实用性强、企业需求紧跟新技术的发展,对IT双师的要求更高,对IT双师的比例要求也更大,有的专业甚至要求达到100的双师比例。要将高校现有的教师迅速提升为具有双师素质的教师和引进大量师资作为高校兼职教师,显然不是一件容易的事情。12 IT“双师”现状与瓶颈IT专业方向的课程有个明显的特点,不亲自动手、不直接实践实训,往往很难真正掌握。常言道“动一百次口不如动一次手”,在IT教学中一个非常重要的环节就是动手实训,而且是面向企业化、项目式的实训,这个环节通常会占到整个教学过程40以上的时间。这无疑对教师的实践能力提出了更高的要求。那么,我们当前的IT“双师”情况是怎样的呢?根据相关调研,笔者总结如下:(1)从数量上看,仍然有相当大的缺口:高校IT“双师”比例仍然很低。(2)从质量上看,也需要不断提高。目前已经有的IT“双师”,很多还不能真正满足不断变化的实训教学需求。(3)从培养方式上看,系统性不够。比如常见的是通过寒暑假参加各种培训班,但目前这种短期的培训由于缺乏后续的跟进与提升平台,效果不是很好。(4)从互动上看,同行“双师”间缺乏有效的交流平台。同行间真正的交流是IT人(包括IT教师在内)一个很重要的学习环节。(5)从持续性来看,高校面临如何留住优秀“双师”和不断培养新人的问题。由于“双师”人才需求有增无减,各类院校都会加入到这场“双师”的人才竞争中来,如何留住人才是一个问题。另外,从整体上讲,还面临如何全面、系统、批量地培养锻炼出一大批IT“双师”的问题。目前来看,在“双师”建设道路上,各方资源的衔接和融合度还不够,政府、社会、企业等在这方面的作用还有不少潜力可挖。13 IT“双师”建设途径当前,各高校均在通过多种方式增加“双师”数量、提高“双师”质量。其中,比较普遍的有内培、引进和外聘。这些方式各有特点,通常采用多种方式相结合的办法。内培:在统筹兼顾教学工作和“双师”培养的前提下,高校有目的、有计划、有针对性地对在职教师进行“双师”素质训练。从长远来看,这将是高校提高“双师”数量与质量主要途径。引进:从校外引进一些既有实践经验又有扎实理论基础并具备一定教学能力的人员到学校任教,是对“双师型”师资的有效补充。由于各种限制,显然这种人才不可能引进太多。外聘:从校外聘请优秀兼职教师可以改善师资结构,加强实践教学环节,为院校开设IT课程及教学提供更大灵活性。这种方式具有很大优越性,既没有“引进”的人数限制,也没有“内培”的人员和时间限制。但这种方式在实际操作过程中,高校实施起来却有一定难度。一是符合条件既有实际工作经验又具备教师素质的优秀教师本身较少,二是满足条件的教师其薪酬一般较高,大多数高校的现有工资制度很难突破。据笔者了解,由于示范性软件学院和示范性软件职业技术学院可以执行一些特殊政策,这类学校外聘教师工作一般都比较好。2 “双师型”IT教师培养新模式探索解决IT“双师”的建设问题,首要的是如何培养问题。IT“双师”的培养有多种模式,其优缺点不一而足。本文将提出一种全新的IT“双师”培养模式,供大家探讨。该培养模式力图通过行业、企业与高校的共同努力,实现高校IT“双师”的批量培养。21 背景在介绍新模式之前,我们先对IT“双师”培养需要解决的核心问题作一简要分析。作为IT“双师”,其核心能力主要包括两个方面,一是教师素质,例如前文提到需要讲师以上职称,这个能力对于高校教师来说不成问题;第二个能力就是IT相关技术的能力,这正是高校教师亟需提高的。而获得相应技术能力一般需要经过两个过程:首先通过短时间的自学或接受培训获得相应技术轮廓,其次通过较长时间的实践消化所学知识直至掌握该技术。前一个过程很容易解决,高校每年都派出教师参加各类培训;难的是后者,经过短期培训后的教师很难有后续的实际锻炼机会。第二个过程应该更加重要,因为IT新技术大多实践性很强,需要更多的操练。这好比我们去学钢琴,如果只是上课的时候摸摸琴,课后没有大量的钢琴练习,显然是不可能学好弹琴的。如何才能提供更多的锻炼机会给高校教师呢?一些有实力的高校通过与企业合作把教师派到企业实践或者承接一些实际项目来培养教师实践能力,而大多数高校都很难为教师提供这种锻炼环境,只有很少数的教师能通过自己的人脉或自学提高。综合上述因素,笔者认为,要将大批高校教师培养为具有“双师”素质的优秀教师,单单依靠高校自身的努力是不够的,只有整合了行业、企业、高校乃至培训机构和培训师的力量,才有可能实现这一目标。而构建一个为社会培训师、企业工程师、高校教 师和企业、高校、社会培训机构的互动平台,并通过该平台系统地、有计划地具体组织实施高校师资培养活动,正是本文所述IT“双师”培养新模式。这个平台就是中国软件行业协会IT教师俱乐部(ITTeachers Club,简称17C)。22 中国软件行业协会IT教师俱乐部为进一步提升IT教育和培训机构的师资能力,每年系统地培养一批优秀IT实训教师,使软件人才培养机构能够更多更好的培养出大批软件人才,中国软件行业协会教育与培训委员会于2006年初成立中国软件行业协会IT教师俱乐部。ITC作为非赢利性机构,紧紧围绕IT实训师资源的整合与培养,并通过培养机制及实训师分级授权机制,提供和储备不同专业方向、不同级别层次的实训师。具体来说,ITC主要有三方面的使命定位:(1)有效整合社会上分散的IT培训师;(2)将具有教师潜力的IT工程师转换为IT实训师;(3)向高校提供“双师型”IT教师培养和提升的平台。应当说,前两项是双师建设的基础,后一项是双师建设的具体体现;同时,通过ITC平台培养出来的优秀双师反过来也为前两项提供支持,注入新的活力。因此,这几项定位互为补充,并形成良性循环。针对高校“双师”的培养和提升这一环节,ITC专门拟定了一项系统而长期的计划IT“双师”培养“雨露计划”。23 IT双师培养“雨露计划”面对高校“双师型”IT教师队伍建设的迫切要求,以ITC实训师资源为基础,2006年底由中国软件行业协会牵头,通过全球最大的认证考试服务提供商普尔文(Prometric)公司,联合Microsoft、Cisco、Sun、Oracle等多家著名IT厂家提出了“IT双师培养雨露计划”(简称“雨露计划”)。该计划核心是为高校教师指定专门的企业导师,以“师傅带徒弟”的方式有效推进高校IT双师的培养。通过ITC搭建教师与具有丰富实践经验的实训师的融合,在不影响教学工作的前提下,为高校IT各个方向、各个层次的教师提供培养、实习与提高的平台。231 IT双师培养的五环节参加“雨露计划”训练的教师一般经过五个环节实现从“教师”到“双师”乃至“实训导师”的转变:该计划的核心指导思想是通过为教师不断提供各种实践锻炼的机会,同时配合中国软件行业协会授权实训师证书,使得高校教师培养更有计划和针对性。为便于实际操作和培养面更广,对教师的实践锻炼主要采用两种形式:一是在专门的实训导师指导下,教师可以灵活地进行自我学习(类似于现在的钢琴家教,讲为辅练为主。教师上一小时的课,学生要练习一周);二是充分发挥教师这个岗位最大的特色,通过讲课来提升能力。俗话说得好“讲十遍不如练一遍”“跟别人学十遍不如自己讲一遍”。可以说,“雨露计划”的核心就是四个字“多练多讲”。根据笔者多年培养教师的实践经验,多练多讲应该是最适合高校教师快速提高实践能力的手段。232 集中训练注重综合能力培养集中训练过程中,根据不同方向、不同层次的实训课特点,采用有针对性的讲授与实训相结合 1VRML和3DS MAX简介1.1VRML的发展虚拟现实是目前计算机界最热门的话题之一,其中如何利用VRML生成虚拟现实系统又是热点中的焦点。VRML的前身是SGI公司Open Inventer系统使用的一种文档格式,后经Mark Pesce、Tony Parisi和Gavin Bell等人的改进和努力,最终发展成第二代WWW的标准语言。到目前为止,VRML标准的发展已经历了三代。1994年10月公布的VRML1.0非常简单,只定义了36种节点类型,涉及的对象也只有静态对象,而没有声音、动画等动态对象。实际上,由于VRML1.0近似HTML的“3D版本”,因此,当时称VRML为虚拟现实标记语言(Virsual Reality Markup Language)。目前,VRML1.0已基本被淘汰。1996年8月公布的VRML2.0,名义上是VRML1.0的修订版,但两者从内容到文档结构上都很不相同。在2.0版本中,节点类型扩展为54种,支持的对象包括动态和静态两类。这个版本已经完全脱离HTML的影响,被正式命名为虚拟现实建模语言(Virsual Reality Modeling Language)。VRML1.0和VRML2.0并不是真正的国际标准。直到1997年12月,VRML才被国际标准化组织(ISO)和国际电子工业协会(IEC)正式接纳为国际标准,国际标准号ISO/IEC14772-1:1997,习惯上称为VRML97。VRML97是在VRML2.0的基础上进行了少量功能性调整而形成的。对用户而言,两者完全一样,可以认为VRML97是VRML2.0的国际正式名称。1.2VRML的特点与缺陷VRML所描述的三维场景可以说是一个“节点”的集合。节点(node)是三维世界的基本元素,几何体、视点(即照相机)、灯光、接受输入的传感器(sensor)以及控制动画的插件(interpolator)都以节点的形式定义和使用。节点可以引用和嵌套。这样,所有的三维场景中的对象组成一个层次的、树型的结构。VRML语言的诞生为World Wide Web世界带来了新的活力:充满幻想的三维世界和更加丰富的交互功能,使得Web站点不再是单一的二维页面。综合起来,VRML具有可交互、支持多媒体、结构化、可重组、易扩展和标准化等特点。VRML具有强大的编程功能,利用它完全可以构造一个虚拟现实的世界。但使用VRML编程给编程人员带来了很多困难。即使对一个有经验的程序员来说,用VRML语言编程的方式建立复杂三维模型也是相当繁杂和困难的。在VRML中利用程序语言来实现一个简单的三维场景需要编写几百行甚至上千行的程序代码。由于VRML编程语言毫无直观性可言,程序的调试、修改和调整过程非常困难,花费大量的精力有时依然不能完美地完成任务。1.33DS MAX的特点与优势3DS MAX是Autodesk公司在Windows/NT环境下全面重新开发的一个动画制作产品。3DS MAX具有一流的三维建模和动画制作功能,可以在PC机上制作出高质量的模型和动画效果,因而深受广大用户的喜爱。VRML在编程方面最复杂也是最困难的就是三维模型的创建和动画的制作,而3DS MAX正好在这方面是强手,利用3DS MAX的三维建模和动画制作功能恰好可以弥补VRML编程在这方面的不足。原来在VRML中需要几百行甚至上千行程序描述才能实现的三维场景和动画,在3DS MAX中只需要几分钟时间,很简单的操作过程就可以实现了。而且3DS MAX的环境是可视的,便于修改和调试。23DS MAX中虚拟现实组件的基本用法新版本的3DS MAX,为了更好、更全面地支持VRML97,特别提供了VRML97辅助对象组件以帮助建立虚拟现实世界。VRML97组件包含了几乎全部的VRML特有造型,极大地方便了VRML世界的建立。启动3DS MAX软件,打开VRML97组件,命令面板上会出现12种VRML97特有造型(如图1所示)。“LOD”造型(level of detail),用来描述同一造型不同细节层次的组织关系。因为人的观察力与距离有直接关系,在远处造型的细节根本看不到,所以相对于近处造型的细节可以大大减少。利用在LOD中一定的范围设定,让虚拟空间在不同的观察距离上呈现出不同的细节标准,这样既可以减轻VRML浏览器的负担,同时又不降低VRML世界的真实感。“声音”造型可以利用“音频剪辑”组件来指定声源放声,并将声音控制在一个椭圆区域内,音量的大小按距离声源的距离由近到远逐渐衰减,以达到真实世界中声音传播衰减的效果。“时间感应器”造型用来创建一个控制虚拟空间中动画进行的时钟。由于VRML97动画采用了关键帧技术,因而必须为时间感应器所控制的造型指定关键时刻和关键值,并且能利用线性内插算法计算出这些关键值之间的值以达到动画平滑的效果。“背景”造型用来描述虚拟空间中的背景特征,为VRML世界提供一个外部环境。该背景由一个天空球体、一个在天空球体内的地面球体和一个在天空与地面之间的背景立方体组成。三者在概念上均为无穷大,可以从不同的角度观察它们,但永远无法接近它们。“触动感应器”造型用来创建虚拟空间中的一个接触传感器造型,用于检测参与者的动作并将其转化为适当的输出以触发一段动画。当将鼠标移到该造型或从该造型上移开时,就会开始或停止一段动画。“雾”造型用来描述虚拟空间中雾的特性,可以通过设置在虚拟空间中生成浓雾或薄雾,并可改变雾的颜色。雾的存在会影响虚拟空间中造型的颜色,可以增加VRML世界的真实感。但必须注意的是,雾不会对“背景”造型中所描述的背景产生任何作用,因此在设计“雾”和“背景”时必须协调,以使虚拟世界更加接近现实环境。“内嵌”造型是一种虚拟空间构造技术,可在分离的VRML文件中创建VRML世界中的每一个造型,然后将这些造型组织起来构造出相当复杂的VRML世界。“内嵌”造型的使用,是一种类似于模块化的设计思想,可以免除很多重复性工作,从而极大地减轻了开发负担。“布告牌”造型用来创建一个始终面向参与者的布告牌,即使围绕它移动,它也始终面向用户。“漫游信息”造型被用来描述虚拟空间中替身的导航信息特性。在虚拟现实技术中,替身是真实世界中的人在虚拟空间中的代表。使用替身,可以控制在虚拟空间中进行交互,“他”所看见的也就是用户所看见的。“漫游信息”造型可以指定替身外部轮廓的大小,以及在虚拟空间中的行动方式和移动速度等特性。“范围感应器”造型用来创建虚拟空间中的一块不可见的矩形区域,该区域可以感知参与者的进入、离开以及参与者在该区域中移动的时间,等,以此来触发一段动画或声音。“锚”造型用来创建虚拟空间中的一个锚点造型,用于在VRML世界之间的链接。在VRML浏览器中打开VRML文件后,单击“锚点”造型将引导VRML浏览器顺着链接检索出该链接所连的另一个VRML文件,就这样可以很方便地从一个虚拟空间跨入另一个虚拟空间。“声音剪辑”造型用来描述虚拟空间中的声源特征,可以将VRML97支持的Wav文件格式或Midi文件格式的声音文件指定为声源,并且可以控制声音播放的速度和是否循环播放等内容。 3从3DS MAX中导出VRML文件的过程除了利用前面介绍的VRML97虚拟现实组件创建虚拟现实三维场景外,在创建虚拟现实三维场景和制作逼真动画时,还要充分调动3DS MAX中包括标准建模、扩展建模、修改器建模、复合建模、网格建模、多边形建模、NURBS建模等在内的其他建模方法。利用3DS MAX为VRML建立完毕三维虚拟场景后,就可以将其以VRML97文件格式输出了。单击菜单中“文件”选项,在下拉式菜单中单击“导出”命令,弹出“选择要导出的文件”的对话框(如图2所示)。在“保存类型”的下拉式组合框中选择VRML97文件类型并输入文件名,单击保存,就会弹出一个“VRML97导出器”对话框(如图3所示)。常用项设置:选择“法线”项会在输出时生成造型表面法向量。有些VRML浏览器需要利用法向量来达到造型表面平滑的效果,这时需要选择该项。选择“缩进”项会使输出的VRML源代码以缩格形式编写,便于阅读和修改。若选择“基本体”项,在导出时将尽可能地将三维场景造型以VRML97原始造型的形式输出,有利于减小输出的VRML文件的大小。选择“每个顶点的颜色”项,将会使对话框下部的“顶点颜色源”选项有效,可以在这里指定三维场景中造型顶点颜色的来源。在“顶点颜色源”选项中可以选择“使用MAX的”选项,此选项表示将当前场景中造型的颜色直接输出;如果选择了“在导出时计算”选项,表示在输出时,考虑灯光以及造型材质等作用对造型顶点颜色的影响。若选择“翻转书”项,创建的动画场景将会以多个VRML文件输出,文件的数目取决于该动画的帧数和采样率。还可以在对话框下部单击“采样速率”按钮,在相应的对话框中作细节设置。在三维场景中最好有一台自己创建的摄像机造型,这样不仅可以激活“初始视图”选项,还可为用户提供一个观察VRML世界的初始视点,有助于减轻浏览器的负担。当然在三维场景中也可创建多个摄像机造型,并选择其中之一作为初始视图,成为浏览时进入该虚拟世界的第一视点。如果在创建三维场景时使用了贴图,最好将这些贴图文件与VRML文件放在同一个文件夹中,或者在“位图URL前缀”项目的栏中指明贴图文件所在的路径。其他选项还有初始漫游信息、初始背景和初始雾。当三维场景中有不止一个漫游信息、背景和雾造型时,就可以在这里选择其中之一作为VRML世界启动时的导航信息、背景和雾。确认这些选项后,单击“确定”按钮,会自动生成VRML97文件,可以利用VRML浏览器打开进行浏览了(如图4所示)。利用VRML构建的虚拟现实世界是美丽和神秘的,但利用它建立复杂三维场景和动画是相当麻烦的,并且调试、修改非常困难。如果掌握并合理运用3DS MAX的虚拟现实组件和其他建模方法,可以快速实现虚拟现实世界需要的三维场 摘要:本文分析了当前高校计算机专业生产实习存在的主要问题,提出了校企联合的计算机专业生产实习新模式。关键词本文来自:计算机毕业网 :计算机专业;生产实习;实习模式;实训基地1引言生产实习是高校工科实践教学的一个重要环节,是培养计划中必不可少的重要环节。一般安排在四年制本科教育的第6学期进行,其内容是组织学生到专业对口的企事业单位生产第一线,通过看、学、做三个环节,使学生了解本专业领域科技发展水平和实际生产的基本过程,获得基本的科研、设计和劳动技能,做到理论与实际的结合,为下一阶段的专业课的学习打下坚实基础1。尽管各高校十分重视生产实习环节,并投入了大量的人力、物力加强生产实习基地硬件和软件建设,但目前高校生产实习仍然面临着诸如实习单位难找、实习经费短缺、实习效果不理想等困境,教学质量不容乐观2。经过认真研究近几年的生产实习教学的经验和教训,我们提出了一种校企联合的计算机专业生产实习的新模式。在这种模式下,实训基地由学校与企业共同建设,实训内容由学校与企业根据理论教学与企业生产实际共同制定,实训指导由学校专业

温馨提示

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

评论

0/150

提交评论