APP下载

一种创新型的校企合作模式

2011-12-31张红范青武

计算机教育 2011年14期

  摘要:文章针对计算机专业被亮为红牌专业的问题,提出一种创新型课程教学模式的理念,并结合最新的RIA应用特点,分别从教学内容、教学模式、考核方式3个方面,对如何具体实施创新型课程教学模式进行详细论述。
  关键词:创新型课程教学模式;RIA技术;Flash/Flex
  
  1背景
  教育数据咨询和评估机构——麦克思研究院近期发布了大学毕业生求职与工作能力调查,其中红极一时的法学、计算机等专业被亮了红牌。按麦克思的划分,红牌专业是指失业量较大、就业率持续走低、薪资较低的专业,被定位为高风险型专业[1]。
  为什么我国的计算机专业会遭遇如此的尴尬局面呢?可以说计算机教育在近30年内得到了前所未有的快速发展,计算机成为我国高校名副其实的第一大专业。然而,在快速扩张的同时却出现了培养的人才无法适应社会的问题。国内高校的计算机专业一是重视理论教育而轻视实践环节,教出来的学生只知理论而不知如何应用;二是课程内容陈旧,与企业脱节;三是实践环节陈旧滞后,往往停留在验证性的层面上,虽然经过多年改革有了很大进步,但是由于种种原因,实践性的教学工作进步不是很大;四是实践教学的方法只是注重传授知识而忽略了创新能力的培养,由此造成的后果就是学生动手能力较差,形成了学校里学到的知识到企业里用不上的尴尬局面。从长期来看,校企合作似乎是最好的选择,但是,采用什么样的方式、如何更改教学内容也成了各个高校谈论的课题。
  为了适应企业的快速发展,也为了让学生能够在学完基础理论知识的同时尽早地融入社会,让学生能尽早地了解和学习社会上一些热门知识,经过调查和讨论,我们决定把互联网应用纳入创新课程,在学校的大力支持下,我们对创新课程教学模式进行了研究和探讨,并取得了良好的应用效果。
  2教学内容创新
  教学内容是决定人才知识能力结构的一项关键要素,在教学模式改革中,教学内容的改革是最重要的[2]。科学技术的日新月异,不断向大学教育提出更新的要求,然而,主要课程内容总有一个相对稳定性,这就难免与科学技术发展拉开距离。要培养出适合社会需求的创新型人才,必须要使课程内容与时俱进,在保证学生学完本专业必须掌握的基础内容之后,把科学技术的新成就、新课题反映到教学中来。
  RIA(富互联网技术)是企业级应用程序客户端的最新技术,具有高度的用户互动性和丰富的用户体验。它的出现是在企业级应用程序经历了几次系统构架转变的必然结果。RIA大致包括了Flex、Ajax、WPF等一系列产品,而Flash/Flex是目前最为普及的一种RIA技术,依托于脱胎换骨的AS3.0,可以实现相比传统的网络应用更加卓越的交互能力和更加绚丽的表现效果,广泛应用于各种商业领域,如电子商务、行政管理、企业业务流程自动化等方面。在Adobe的全球技术峰会上的报告中指出,现在全球的RIA人才需求趋势是Java占42%,.NET占有35%,PHP占有13%,Flash则为10%[3]。尽管Java和.NET的人才需求是压倒性多数,但是从indeed.com网站的职位预测中发现,Flash/flex的职位需求量一直处于上升的趋势。另外在Adobe的报告中也指出,目前中国是世界范围内富媒体开发人才全球增长最快的国家,对RIA人才的需求呈现出巨大的缺口。
  为了能让学生学习更多的计算机前沿知识,增加就业的机会,我们在本科生学习的第六学期开设了Flash/Flex技术与应用课程,以使得学生在掌握必备理论知识的基础上,熟悉一门计算机的前沿知识,为走入社会多做一份准备。在开设这门课程时,我们对如何设计课程的教学内容、教材的选定都进行了一些有益的尝试。
  2.1教学内容的调整
  如何使教学内容能够跟上企业的发展,如何使学生所学的内容能够在将来就业时用得上,是我们一直在讨论的问题。经过调查研究,我们最后决定使用Adobe的内部培训教材,并从互联网上获得最新的参考资料作为辅助,使得学生在第一时间接触到RIA知识的应用,并接受最新的内容。
  Flash/Flex技术是Adobe公司推出的一系列工具和技术,是开发人员可以开发和部署可升级的富互联网应用程序。Flex提供了一种现代的、基于标准的语言来支持公共模板设计、客户端运行环境、编程模型、开发模型和高级数据服务。Flash/Flex技术在游戏行业、电子商务等领域的应用之广泛也是大家有目共睹的。
  由于要求选修该门课程的学生了解面向对象编程的原理、了解HTML语言、CSS和数据库的知识,为此,根据教材内容的设定,我们进行了相应的调整,把内容分为了三个大的部分,并在每一部分结束的时候进行一个大的实验,以加深前一阶段知识的巩固。这三部分是:
  1) Flex基础知识。
  由于培训教材主要针对的是企业设计人员,而这些人员都有着项目开发的背景,而我们面对的是毫无开发背景的学生,所以对这一部分进行了调整。首先从一个简单的工程开始把在课程中所要学到的知识汇总到这个实验中,让学生明白今后要从哪些方面进行学习,从而做到心里有数。
  在这一部分主要进行设计界面的学习,让学生可以“所见即所得”,从而产生学习的热情。主要包括了Flash/Flex 版面的布局、简单的事件、视图的状态等,在学习这些知识的同时也让学生认识简单的MXML和Actionscript脚本。虽然这一部分的内容较为简单,但是我们还是用了8学时讲解这一部分内容,目的是为了让学生扎实掌握基础知识。实践是检验真理的唯一标准。当学完这一部分后,设计一个购物网站的实验来提高前一阶段的学习,在这个购物网站中要求使用基本的Flash/Flex UI控件、创建并实例化自定义的MXML组件、使用基本的Flash/Flex容器控件。
  2) 特效应用。
  有了基础知识还不够,还不能体会到Flash/Flex在RIA技术应用中的强大表现能力,紧接着我们进入第二部分的学习来美化我们的应用程序。Flash/Flex之所以能够成为强大应用程序开发工具的重要原因之一是引入了视图状态,使得开发者能轻松管理展示版面中的变化。对于每一个MXML页面来说都会至少有一种状态,开发者可以定义多个视图状态,使得浏览者无需刷新浏览器窗口即可更改版面的内容。而利用Flash/Flex的组件尺寸、图形显示、动态效果、字体等功能几乎可修改应用程序的外观和感官以及用户交互方式的任何方面,给用户体验带来了强大的冲击力。
  这一部分包括了视图状态的改变、应用程序的导航以及组件之间的过渡效果。这一部分需用8学时,让学生以直观的方式看到了Flash/Flex丰富的用户体验,以及给设计者带来的方便和快捷。当学完这一部分后,学生在第一个实验的基础上继续完善购物网站,要求给应用程序添加导航功能、执行绝对的定位、使用MXML创建视图状态、使用样式格式化应用程序和自定义组件。
  3) 高级应用。
  Flash/Flex 区分客户端代码与服务器代码,它将应用程序用户界面编译为二进制 SWF 文件,并发送到客户端。当应用程序向数据服务发出请求时,不会重新编译 SWF 文件,也无需刷新页面。远程服务仅返回数据,随后 Flash/Flex会将所返回的数据绑定到客户端应用程序中的用户界面组件。例如,在 Flex 中,当用户在应用程序中单击 Button 控件时,客户端代码会调用 Web 服务。从 Web 服务中获得的结果数据将返回到二进制 SWF 文件中,而无需刷新页面。这样,结果数据即可作为动态内容应用于应用程序。
  
  这一部分需用12学时。学习这一部分的知识就可以把Flash/Flex强大的客户端体验和后端的服务结合起来,从而使得数据不再是静态的,而是动态的可以实时更新的,主要包括了MVC的设计模式、ActionScript的入门、高级事件处理、数据表单的使用、数据绑定等。
  为了能够完善第二个实验,使得购物网站的数据能够及时更新,我们设计了第三个实验,要求能够检索数据并使用该数据创建对象的ArrayCollection、能够使用TileList动态显示图像、在视图状态中显示被单击的图像、自定义事件的派发、能够在购物车中显示已购买的图片。
  通过三个大的实验,把整个教学内容贯穿起来,不仅巩固了所学的知识,而且在做实验的过程中学生也提出了自己的想法,使知识得到了一个升华。
  2.2教学内容的更新
  为了让学生总是能够接受到最新的知识应用,在开设第三次课时,新的Flash/Flex 4.0版本发行了,虽然市面上中文版的参考资料非常少,但是在合作企业Adobe的大力支持下,我们及时更新了授课的内容,把新的知识带到课堂中。尽管这增加了授课教师的压力,但是为了学生能及时的融入社会,能够使我们培养的人才更好的为社会服务,我们最终使用了新的版本作为开发平台。
  3教学模式的改革
  创新是一个民族进步的灵魂,是国家兴旺发达的不竭动力[4]。做学问不是做作业,做学问就像在旷野或森林中寻找回家的路一样,需要开创性的探索精神[5]。教学方法也是一样,如果好的教学内容没有好的教学模式支持,是无法达到最终的教学目的的。虽然近年来,大家一直在谈要改变传统的教育模式,但是大部分的课堂还是停留在“以讲授为中心”、“以教师为中心”的教学方式上。
  为了充分调动学生学习的积极性,我们在教学方式方法上进行了很多的尝试。最终选用了“四个一”的教学法。表1是这几轮教学的选课情况、课程设计和毕业设计涉及Flex相关课题的人数变化对比。
  通过上表的比较可以发现人数在逐渐增多,而且学生反映良好。迟到早退现象少,出勤率基本上都是百分之百。这从另一个侧面证明,这种教学模式的改革是有效的,可行的。
  3.1四个一教学法(1+1+1+1)
  RIA技术作为一种新兴的技术已经拥有了美好的前景,但是采用什么样的教学方式也是值得我们探讨的。国内外的科学家教育家所总结提出的各种教学方法是否适合Flash/Flex这门应用性较强的课程也是我们在授课之前所探讨的。
  传统的教学方式有以下几种:
  1) 基于案例(Case based)的教学方式。
  案例教学法起源于上世纪二十年代,由美国哈佛商学院(Harvard Business School)所倡导,当时是采取一种很独特的案例型式的教学,这些案例都是来自于商业管理的真实情境或事件,透过此种方式,有助于培养和发展学生主动参与课堂讨论,实施之后,颇具绩效。
  2) 基于项目(Project based)的教学方式。
  项目教学法萌芽于欧洲的劳动教育思想,最早的雏形是18 世纪欧洲的工读教育和19世纪美国的合作教育,经过发展到20世纪中后期逐渐趋于完善,并成为一种重要的理论思潮。项目教育模式是建立在工业社会、信息社会基础上的现代教育的一种形式,它以大生产和社会性的统一为内容,以将受教育者社会化,以使受教育者适应现代生产力和生产关系相统一的社会现实与发展为目的,即为社会培养实用型人才为直接目的的一种人才培养模式。
  3) 任务型(Task-based Language Teaching)的教学方式。
  任务型教学(Task-based Language Teaching)是指教师通过引导语言学习者在课堂上完成任务来进行的教学。这是20世纪80年代兴起的一种强调在“做中学”(learning by doing)的语言教学方法,是交际教学法的发展,在世界语言教育界引起了人们的广泛注意。近年来,这种“用语言做事”(doing things with the language)的教学理论逐渐引入我国的基础英语课堂教学,是我国外语课程教学改革的一个走向。
  综合以上教学方法的优点并进行整合,在整个授课过程中我们采用了“四个一”的教学方法,即“理论+指导学习+项目实践+总结提高”的方式。理论部分,首先讲解和实践相关的理论部分,如在讲解组件和布局时,首先讲解MX和Spark组件的原理,以及Spark组件和MX组件之间的区别,接着引出Spark布局的属性并用实际的布局效果展示效果,然后使用具体的项目实践练习Spark的布局方式。经过了组件和布局、事件的处理、验证和格式化数据、控制导航几部分的学习,会让学生做一个比较大的Lab,综合前一阶段所学的知识,以提高应用能力。
  3.2工程师进课堂
  由于本门课程采用校企合作的方式,所使用的教材是企业内部的培训教材,不再使用传统的书本作为授课的教学内容,使得学生能在第一时间获取最新的知识。在第一次开设该课的时候,我们聘请了企业的资深工程师为学生授课,使得学生耳目一新,同时也给了他们巨大的压力,使他们体会到了企业培训的艰苦性。工程师给学生们带来行业的最新知识以及RIA应用程序,给大家演示了实际的工程项目,而一些增强现实的样例更给了大家强烈的震撼。MINI车的网站、糖果网站、风力发电的网站都给大家带来了全新的体验,激起了学生学习的热情。
  在第一次开课的基础上,第二轮的授课是由本校教师和企业工程师共同完成的,首先由企业工程师给学生讲Flash/Flex在RIA中的应用,其余部分由本校教师讲授,所授课的教师接收了企业的培训,由于教师接收到了企业的思想理念,所以可以在授课过程把理念传给学生。
  3.3参加技术峰会
  为了能让学生感受最新的技术应用,也为了能让学生了解RIA技术在国际范围内的应用,由授课教师带领2007届22名学生参加了Adobe的全球技术峰会。通过这次峰会,学生感受到了RIA技术的神奇之处,以及RIA技术在IT行业的应用现状、前景。而来自新浪、盛大等企业的演讲人各自讲解了RIA技术在项目中的具体实施以及RIA技术的优势。同时Flash/Flex和Actionscript的完美结合所制作出的具有超酷用户体验的应用更让学生觉得惊奇,激起了他们学习的热情。
  4考核模式的改革
  美国教育学家布卢姆(B.J.Bloom)等人提出将教育目标分为3大领域,即认知领域、情感领域和动作技能领域。关于认知领域,他又提出6个层次的分类目标,每一层次又可分为若干子层次:认知、理解、应用、分析、综合和评价。当然,不同学科和课程,其教学目标各不相同,不是所有学科的教学都要达到六级认知水平的目标[6]。传统的考核模式往往采用考卷的方式,围绕所授课程的教学大纲出一定量的题目进行笔试,最后得出分数。而在一些实践课程中,往往采用答辩的方式,也就是由老师提问,学生回答问题,综合给出最后的成绩。这些考核方式都存在着一些弊端,那就是学生考完了不知错在什么地方,也不知如何去改正错误。
  为了让学生更清楚自己的问题所在,我们打破了以往的考核方式,采用了新的考核方式,不再是教师单方面的提问,学生单方面的回答。
  4.1考核的题目
  考核的题目是由合作企业Adobe给出的,不是虚拟或模拟的,而是实实在在的项目,要求学生能够根据所学知识做出一个小的应用程序,并提出具体要求,如要求代码量不少于1500行、具备自定义组件、有一个外部的Actionscript Class形式的.as文件、使用容器、使用一种或多种形式的样式更改方式等。看似限制了学生的知识点,但是又给了学生发挥和想象的空间。学生最后做出的应用程序要拿到企业去,由Adobe的工程师给出优良合格等类别并给出评语。如2006届学生制作的影片查询系统获得了Adobe工程师的好评。在2006届的基础上,对2007届学生放宽了题目的内容,由学生自定,但技术要求没变,这给了学生更大的发挥空间,学生也投入了更大的热情。
  
  4.2考核的方式
  在最后的考核阶段,我们分五步走,第一步:按照以往的惯例,由2~3个学生一组完成最后的实践作业,学生把实践报告交给教师,由教师先审核,并提出问题。第二步:根据学生人数进行分组,如学生共有70人的话,按照2~3人的组合方式,大致会分为26分小组,把这30个小组再分为A、B两大组,从每小组抽出一人作为答辩小组成员,这样从A大组和B大组中分别抽出13人作为答辩小组成员,A组抽出的人作为B组的答辩成员,B组抽出的人作为A组的答辩成员,教师是答辩小组的组长。采用这样的答辩方式后,提问问题将不再是教师个人的事情,而成为学生和教师共同的责任。学生作为答辩小组的成员后能够取长补短。第三步:学生答辩完成后,根据答辩小组提出的问题进行改正,改正完成后参加第二次答辩。第四步:把最后的作业交给企业工程师,由企业工程师对最终的作业进行评定,并给出评审意见;第五步:企业的评审意见返回到学生手中,使学生看到自己的缺点和优点。
  当然最后的分数是由答辩成绩、报告成绩、应用程序、企业意见共同组成。采用这样的考核方式后,学生反映非常好,一是感到新颖,二是确实提高了自己的能力。表2给出了2006、2007届学生成绩分布情况。
  通过表2可以看出,大约占35%的同学获得了优异成绩,这在实践类的课程中是很少见的,而49.6%的同学获得良好的成绩,另外10.4%的同学成绩一般。这在选修类的课程中是比较少见的,这说明我们的教学是有效地、可行的。
  在毕业的2006届学生中有两名同学从事与RIA技术相关的工作,并且在短期内取得了较好的成绩。
  5结语
  通过这几轮的授课和实践环节,我们分别从教学内容、教学方式、考核方式三个主要方面探索了实施创新型课程教学模式的研究。创新教育已成为知识经济时代学校教育的主题,而高校是推动知识创新和技术创新的主要力量,如何在教学过程中把握好教与学的互动,如何加大高校与企业、高校与科研机构的结合力度,让学生直接参与科研、生产实践,进一步启迪学生的创新型思维,不仅仅是在创新型课程中探讨的一个话题,也是整个本科教育的一个话题。
  
  参考文献:
  [1] 麦克思研究院. 2010年中国大学生就业报告[R]. 2010-06.
  [2]