摘 要:更新观念,引进世界先进教学模式及其迫切。我院在引进NIIT培训模式的过程中,对重实践经验的NIIT培训模式与重理论知识的计算机本科专业教学模式取长补短,进行了融合,力求解决引进过程中遇到的问题与挑战。
关键词:NIIT 引进 教学目标 教学课程 教学过程 实习
为了适应信息时代的需要,我国的计算机技术教育早已如火如荼地开展起来,为国家输送了大量的信息化人才。但是,我们培养的计算机人才依然难以适应社会的快速变化和飞速发展。究其原因,就是我们的计算机人才培养受到了传统观念的影响和制约,没有从“工业化思维”跃进到“信息化思维”,没有正确理解“信息时代”的真实含义。因此,更新观念,引进世界先进教学模式并结合我国实际情况进行教学改革和创新尤为迫切和重要。
一、NIIT培训模式及其引进
NIIT是总部设在印度的IT跨国公司,是拥有多年软件开发与IT职业教育经验的IT培训领导厂商,在发展过程中总结出一套独特、先进、高效的教学方法,以确保NIIT的学员可以在较短的时期内,不仅全面掌握业界的主流软件开发技术,而且获得自我学习、自我提高的能力,从而能够在技术快速更新的IT行业胜任多种富挑战性的职位。
NIIT的基于榜样学习法的培训模式是一种在专家引导下的独立解决实际问题的科学学习方法。在每个教学循环中,首先提出一个IT行业或工业界的实际问题,专家解决这个问题;然后向学生提出另一个类似的实际问题,学生在专家指导下参照专家的方法解决该问题;最后学生脱离专家指导综合运用所学知识解决一个新的实际问题,逐渐培养起学生独立解决实际问题的能力。
计算机专业本科类教材大多是以计算机理论为主,教师以“讲、听、谈、记、练”教学模式授课,培养的学生理论知识较强,动手能力较弱。NIIT教材基于IT行业专家经验以解决实际问题为主,专家以“观察、理解、记忆、练习”教学模式授课,培养的学生动手能力强,理论知识弱。因此,两者具有明显的互补性:NIIT重实践经验,计算机本科专业重理论知识。但是,如果不能将两者有机地结合起来,就难以达到预期的效果。例如,计算机本科教材与NIIT教材脱节、计算机本科教育的目标与NIIT培训的目标差异较大、NIIT培训模式需要有解决社会实际问题的实战经验专家、NIIT培训模式中需要有配套“软件工厂”等等。
目前,大学计算机专业教学正在为适应新的社会需求进行改革,NIIT也正在为适应中国这个新市场而调整自己的目标。我院在办学实践中,既注重从国外引进这种先进的培训模式,也根据实际情况加以创新,对重实践经验的NIIT培训模式与重理论知识的计算机本科专业教学模式取长补短,进行了融合,以解决引进NIIT培训模式后存在的问题。
二、协同教学目标
NIIT各阶段要到达的目标是:
第一学期,要求学生了解程序设计基本概念,熟悉LINUX工作环境,掌握面向对象概念,可使用C++和JAVA编写程序,成为WEB程序员。
第二学期,要求学生掌握使用SQL Server2000的数据库,能对其进行查询、修改、添加,能应用J2EE创建企业级应用程序,了解软件开发生命周期,成为面向对象的可视应用程序员。
第三学期,要求学生掌握XML数据存储和表示,连接.NET体系架构,使用VB.NET编写基于.NET,桌面应用程序,并使用VB.NET和ASP.NET编写企业级分布式网络应用程序,成为企业级应用程序工程师。
第四学期,要求学生能运用Visual C#开发com+,运用WAP.WML,J2ME与. Net技术开发移动应用程序,运用ASP.Net开发网络应用与服务程序,成为针对桌面和移动设备的企业级应用程序工程师。
引进NIIT培训模式后的以四年为期的大学本科计算机教育,不能照搬这种目标。前两年应以培养软件篮领为目标,否则只能是拔苗助长,欲速则不达。因此,新的教学目标需要进行如下调整:
第一学年的目标(里程碑一)是普通软件蓝领,要求学生夯实基础,养成有“工业化、组件化、标准化”意识的“软件蓝领”的习惯,掌握程序编码标准、COM/JavaBean组件编制技术、流水线装配流程。并以此为基础对真正合格“蓝领”进行验收。
第二学年的目标(里程碑二)是高级软件篮领,要求学生具有扎实的功底,养成有“高工效、低成本、高质量”意识的“软件蓝领”的习惯。掌握服务器端所提供的企业级基础设施、能快速而高效编制低成本的企业级COM+/EJB组件的方法。
第三学年的目标(里程碑三)是普通软件工程师,要求学生提高理论知识,养成“创新设计”意识,逐渐从软件蓝领提升到软件工程师。
第四学年的目标(里程碑四)是有经验的软件工程师,此阶段主要是让学生“走”出去,给学生提供机会与社会接触,进行生产实习。这也是大学本科计算机专业的培养目标。产品(学生)是否合格,要由社会来检验。
三、协同教学课程
NIIT教学模式是很先进的教学模式,在专家引导下用专业技能解决实际问题的同时,专家还必须引导学生探索相关的技术文献。它强调的不仅是知识的传递手段,更注重信息的获取过程。正因为如此,如果在教学过程忽略了信息获取能力的培养,就会出现知识断层。不仅会降低学生学习高级知识的兴趣和热情,而且也打破了课程的整体性和关联性。因此,新的IT课程计划需要注意以下几点:
(1)在NIIT课程之间插入部分专业或体系结构课程,防止知识断层。例如,在《C++程序设计》之前插入计算机专业课程《C语言程序设计》,打好程序设计的基础;在《C++程序设计》与《COM组件设计》之间插入《MFC》等。其中,《MFC》填补了《C++程序设计》之后的知识断层。如表一所示。
以C++系列为例,《C语言程序设计》专注于打语法基础,《C++语言程序设计》递进到面向对象思想,《Visual C++程序设计》着重讲解如何利用现有的类库以提高生产力,《用ATL设计组件》为现代软件开发模式软件工厂打下组件涉及技术基础。《用C++设计COM+》递进到开发企业级组件时如何利用已有软件基础设施以进一步提高生产力,最后在《基于.NET的软件开发》中进入真正的企业级应用开发。其它课程可联系这一主线,围绕成为真正精通C语言的程序员这一阶段性目标进行设置。按这种模式进行课程设计,因强调了整体性和联系性,不会出现知识断层,明确的方向感和不断积聚的成就感,使教师方便教,学生易于学,并逐渐形成良好的教学氛围。
(2)在专业理论课程中插入NIIT的培训内容,理论结合实践。例如,在《操作系统原理》中插入NIIT的《Linux》课程;在《数据库原理》中插入NIIT的《SQL Server》课程;在《软件工程》中插入NIIT的《UML》;在《计算机网络》中插入NIIT的《HTML》等。由于NIIT教材18个月更新一次,使我们的专业理论课能紧跟技术的发展,而这些发展了的新技术、新工艺也会作用于理论课程,促使理论知识的更新。
(3)以市场为导向,按公司类别开设课程,进行对比学习。例如:
(4)以项目为主导,突出电子商务,进行有针对性的项目训练。例如,以手机项目开发为目标,安排《电子商务》、《XML》、《网络安全》、《项目管理》等知识的学习。
四、协同教学过程
NIIT培训模式的引进能极大地促进计算机专业的教学改革,但同时也为相关教师带来了新的挑战。
首先,NIIT教师必须充分了解计算机技术体系结构,紧跟信息技术的发展,并适应其快速的变化。为了紧盯市场和新技术,NIIT教材每18个月要更新一次。这就需要NIIT教师不断地学习,以更新自己的知识结构。
其次,NIIT教师必须具备实际项目的开发能力和经验。NIIT教材面向程序员,指导学生如何按部就班地编程。如果教师只是按部就班地按照课程进行讲解,因其清晰性和流程性,还是比较容易的。但要“带”出一批合格的程序员(在我们的教学中,这些程序员的目标是“有经验的软件工程师”)就比较困难。因为NIIT教学模式要求教师必须具有各个领域的实际开发经验(这也就是NIIT为什么称为NIIT教师为“专家”的原因),用这些经验正确引导学生,用各种教学设施以及多媒体功能激发学生自身的学习兴趣和热情,现场解答他们提出的各种技术问题,并解决技术难题。
第三,NIIT教师之间必须紧密协作和配合。NIIT教学模式中强调学生自组织学习能力和创新意识的培养,课程之间的衔接非常强。例如,对于COM+和EJB的教学,教师讲得再清楚,如果学生对COM和JavaBean不是很清楚,还是没办法理解。而对于COM和JavaBean的学习,其前提是学生对组件技术软件工厂”见习经验。再如,NIIT在安排J2EE教学内容时,是基于学生已经完全掌握Java程序设计技术的,因此,J2EE内容就显得有些宽泛,包括JDBC、JavaBean、RMI、Servlet、JSP、EJB等。这就要求J2EE课程教师与Java基础课程教师之间的协同:Java基础课程教师在讲解Java课程时,引导学生了解将要学习的递进知识J2EE及相关教师的教学特点,增加学生对未来知识的学习兴趣以及为什么要打Java这个基础。J2EE教师则应适当地重复以前学习过的内容以防止遗忘,在项目实践中引导学生多使用以前的技能以防止退化等。
五、协同实习过程
随着计算机技术突飞猛进的发展,软件的应用领域也发生了根本的变化。从单机模式、C/S模式一直到现在的网络计算,特别是网络计算带领软件产业进入了一个新的时代。软件开发领域正面临着一些新的课题。如复杂的分布环境、灵活的应用模式、广泛的包容性等。传统的软件设计思想已远远不够,出现了采用构件化和软件复用等软件开发方法。NIIT的教学内容也主要围绕这些新的方法进行设计,如引导学生编制组件、生产组件、装配组件等。
为了让学生体验如何当软件“蓝领”,并成为一个合格的软件篮领,进而逐步由软件篮领提升自己成为软件“工程师”,就需要建立“软件工厂”并输入“组件化”观念。因此,有必要“创办”虚拟“软件工厂”,使之成为一个共享、协作、开放的软件群体。在按教学目标和社会实际需求决定生产什么产品后,学生可以按“厂”里的规定和要求进行设计、生产并在“厂”里测试组件,也可以在教师的带领下组队协作开发。这些由学生在学习期间按规格生产的组件将来既可以作为共享软件对外发布,也可以作为开源项目进行交流。学生在NIIT专家指导下还可以学习和研究的开源项目,为工厂提供更加先进的思想和便于重用的软件零部件。当学生能从实际运行看到随着自己组件的加入,应用程序功能逐渐增强和完善,而这种程序不只是练习时,其成就感是不言自明的。既感到学习的轻松,又能了解自己在一个团队里的作用。
学生在学习组件编程时如果没有“软件工厂”实习,就感觉不到编制组件的好处,也体会不到团队的协同编程能力和工业化生产的优势,就会逐渐对先进的编程技术失去兴趣。如果学生觉得想成为软件“蓝领”都那么难,又怎么会对成为软件“工程师”有信心呢。因此,这种让学生体会软件工业化大生产的实习过程是必须而且相当重要的一环。
综上所述,为了适应社会的快速变化和飞速发展,我们既要引进国际上先进的计算机人才培训模式,以摆脱传统的观念和陈旧的习惯,但同时也要注意根据我国的实际情况加以创新。21世纪对新型人才的知识结构和能力素质都提出了新的需求,从联合国教育委员会提出的新型人才“四大支柱”中可以看出,21世纪面临的全球性危机要求新型人材富有创造性、能合作共事并具有高尚的道德精神。具备创新能力是对新型人才的基本要求,这就要求我们在进行计算机专业教学改革时,既要注重“工程化”、“标准化”、“流程化”方面的蓝领技能培训,又要强化学生的自组织学习能力和创新设计意识,才能培养出合格的信息技术专业人才。
参考文献:
[1]Jim Arlow,Ila Neustadt著,UML and the Unified Process,机械工业出版社,2003年版。
[2]伊利亚·普利高津著,湛敏译,确定性的终结,上海科学教育出版社,1998年版。
[3]NIIT GNIIT(FTC) 类培训教材
[5]中国信息导报,试论创新人才,1999年第7期NO.71999。
[6]雅克·德洛尔著,教育——财富蕴藏其中,教育科学出版社,1996.12。
[8]朱三元,软件工程技术概论,科学出版社,2005年版。