第一文秘网    > 论文范文

我国计算机教育如何借鉴欧美CDIO模式

作者:jnscsh   时间:2022-03-12 08:40:55   浏览次数:

在我国著名学者查建中教授和汕头大学顾佩华副校长的大力倡导下,在教育部有关部门的大力支持下,90年代末期发源自美国麻省理工(MIT)的CDIO工程教育模式获得我国大批教育机构的重视,并在很多大学和专业试行。本文拟探讨这一模式能否在我国计算机工程教育中借鉴,以及相应的实验建设应该注意哪些问题。

大凡欧美模式,一律都是欧美人士或业界根据欧美文化和体制的特点,针对欧美社会的问题(例如这里是工程教育问题)所提出的解决方案,其是否有效的标准也是根据欧美社会实践来判断的,如果生搬丑中国就可能消化不良,其效果适得其反。如果我们的主管部门、学校和企业一律照抄欧美模式,结果只会造成金钱、人力和设备的浪费,却得不到什么效果。

回到CDIO正题:我们应该学习外国经验,但务必要明了中西文化差异、中西体制差异以及教育体制差异,什么该学、什么不该学以及该学的要怎样学,走出适合中国国情的计算机教育之路。

本文讨论以下6个问题:

(1)正确理解CDIO本意及其欧美教育背景;

(2)服务贸易时代正确对待软件产业及教育;

(3)借CDIO东风解决中国教育的根本问题:

(4)中国如何培养出自己的软件系统架构师;

(5)计算机教育首倡培养学生的主观能动性:

(6)教学相长、校企结合、共创CDIO环境。

1 正确理解CDIO本意及其欧美教育背景

CDIO于上世纪90年代末发源于美国麻省理工的航空航天工程系(MIT的Aero&Astro),后又发展为国际组织(.cn/qkimages//jijy/jijy201011/jijy20101103-1-l.jpg" hspace="15" vspace="5" align="center">

(4)CDIO是构思(Conceive)、设计(Design)、实现(Implement)和运行(Operate)4个英文单词字头的连写,涵盖了产品(或系统)从构思、研发、应用到反复改进的完整生命周期。帮助学生理解和体验产品或系统的“完整生命周期”,对发挥其主观能动性具有极其重要的意义。在全生命周期环境中,学生个人技能、协作精神和创新能力都将获得全面的发展。

笔者恰好是三十年前去北美留学的,也是我国第一位从那里获得计算机科学博士学位的学者,并且在计算机教育领域和产业领域供职至今,因此对中、美计算机教育的差异有着比较深刻的认识。笔者认为,中国完全可以在计算机教育领域尝试CDIO原则,只是我们务必要避免教条主义,务必要根据中国文化特点,根据计算机教育的特点,以及根据世界科技和市场的新发展,专门探索出一套适合中国计算机工程(包括或者主要是软件工程)教育的模式。

2 服务贸易时代正确对待软件产业及教育

WTO将计算机软件划归“服务贸易”类别。现代服务贸易是20世纪70年代逐步兴起的领域,现在在美国的产业比重已经高达85%。与制造业不同,服务贸易各领域大体有以下几个特点:

(1)购买前客户看不到服务;

(2)服务的生产与消费同步;

(3)服务质量具有不稳定性;

(4)客户是无法储存服务的。

显然,航天航空、机械工程和电子工程三大领域都不具备这几条特点。不难想象,来源于并首先适用于三大首要领域的CDIO模式,其原始形式必须经过一定调整才可能适用于软件工程领域。这里所需的调整未必是增加了困难。例如MIT航空航天系在其网站上介绍说,为了实施CDIO,他们建设了如图1所示的“Learning Laboratory”:光这个“CDIO环境”就花费了好几百万美金。相比之下,软件工程环境就不必花那么多钱。我们完全可以根据各个学校当前的财力条件,根据学校的重点专业布局,建设可大可小的环境来满足CDIO教育模式的需要。

在CDIO的4个环节中,D和I的环境几乎就是原有的计算机教学条件,只是c和O分别作为用户的使用需求和系统的运行环境,或者要求师生到现场,或者可以在学校实验室模拟客户环境,环境模拟的费用也不高,我们甚至可以鼓励师生发挥主观能动性,充分利用实验室原有条件以及互联网、开放源代码等资源,花费不多的资金和精力,就可能建成CDIO环境。这样做,我们的师生反而成长得更快。

3 借CDIO东风解决中国教育的根本问题

笔者除担任教职之外,还自2000年起在南开大学的海外公司(南开越洋)兼职。因为公司主要从事海外业务,国内市场上“有经验”的员工反而不适应我们的业务,因此我们不得不常年招聘应届毕业生,连骨干员工也都是自己来培养。但十年下来,我们感到国内毕业生(无论是计算机专业还是其他专业)解决问题的能力越来越差,尤其是在问题面前缺乏“主观能动性”。

作为教育者,笔者对其原因有自己的判断,那就是从西方搬来的“学位教育”到中国都“走了味”,家长、教师和学生本人都将“学士”、“硕士”和“博士”当成了中国历史上的“秀才”、“举人”和“进士”,“十年寒窗苦…暮登天子堂”,完全脱离三大社会实践,用人单位也往往重学历、轻能力,培养出来的毕业生只有分数、没有能力,尤其在面对难题时完全丧失主观能动性。

在这样的背景下,笔者特别赞成在计算机教育领域尝试CDIO模式,因为它向工程领域的师生们特别强调了,一定要对产品或系统的“全生命周期”负责,就是说一定要执行教育方针与生产劳动相结合。针对

中国教育问题,CDIO中的C和O最重要:

(1)Conceive就是要我们的学生从客户或用户(用户不一定是“客户”,而可能是客户的“员工”或者客户的“顾客”)的实际需要出发去构思产品或者系统的功能、性能和结构。

90年代初,笔者在美国硅谷领导的工程队有30多名工程师,其中一半是国内名校的博士、硕士生,另一半是从当地聘请的“洋人”,两类工程师相比,国内的人好像功课更好一些,但想象力远远不及国外的工程师,或者说不能从调研材料出发想象用户,给不出产品或系统的完善功能定义来。

(2)Operate就是要我们的学生想到,你所设计、研发的系统和产品必须能在客户或者用户的环境中运行,满足他们的实际需要。如果有问题,那你就必须纠正错误或改进系统,到其能够正常运行、完成用户业务为止。

我国教育所培养的工程师都很重视软件编程和功能实现,但一般都不关心软件是否好用,用户是否容易上手等,嫌这些事情琐碎、没有水平。待换到用户的运行环境,那问题就更多了,甚至暴露原有设计的根本性问题,不做大的改动简直无法使用。

CDIO的D和I环节往往就是原有教学方式中考核分数之处,但若没有C和O的目标,学生参加这种考核是很被动的。如果我们的学生能够理解、想象和掌控C和O这两个环节,那他在学习D和I时就有了明确的目标,他的主观能动性就调动起来了。当然,一个产品或者一个系统的全生命周期远远不是这样简单,CDIO 4个环节往往也难于这样机械地分割,但我们若能特别注意C和O,那“科考文化”的糟粕就很容易去除,我们的学生也就有机会提高能力了,我们的教员、家长和用人单位也就不会死盯分数了。

4 计算机教育首倡培养学生的主观能动性

读过《实践论》的人们都知道毛泽东的一句名言:“从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界”。

这句话好就好在其中的两个“能动地”,而我们当今毕业生所普遍缺乏的也正是这两个“能动性”。CDIO好就好在它恰好涵盖了这两个能动。

(1)第一个“能动”是从C到D·I的飞跃:学生在调研客户需求、占有大量素材之后,就会产生反映客观实际的“概念”,即客户到底需要的是什么软件。有了这样的概念,他再根据已经掌握的计算机知识(或者补充调研到的计算机知识)进行判断和推理,就会构思一个解决方案,从而完成了第一个飞跃,并为其后的D和I创造了条件。

我前面说到“洋人工程师”比我们名校研究生强的地方正是在这里。如果我们的教育能够让学生在毕业之前就具备了这种飞跃的自觉性,那我们的毕业生就是举世无双的了。

(2)第二个“能动”是从D·I到O的飞跃:学生在设计、研发了软件产品或系统之后,还要在客户环境或模拟的客户环境中运行他所研发的系统,看看它是否符合自己原来的设想,尤其要检验它是否符合客户的真实需求(一般来说,不走到这一步就无法最终验证客户的“真实需求”)。如果不合,就要纠正错误或者继续改进。

只有到了这一步,学生才真正地搞明白客户要什么,搞明白自己所构思的是否正确,以及自己的D·I是否达到了客户的要求。过了这个坎,学生当然就明白了什么叫“两个飞跃”,也就体验到如何发挥“两个能动性”。

当然,以上的叙述比实际过程要简化多了,因为学生往往会遭受多次挫折、往往要经过“实践一认识一再实践”的多次循环才能完成任务。但那正是他们磨练自己、长真本领的过程。这样培养出来的学生,别人就再也不会指责“分数高、能力低”了。因此,我特别赞成在计算机工程领域尝试CDIO教育模式,并根据中国情况,根据计算机工程的条件发展出适合中国教育和建设的最佳模式来。

5 中国如何培养出自己的软件系统架构师

大约十年前,软件业界常常有人说“我们的学校培养不出系统架构师来”。后来,大家明白了,原来架构师不是学校培养的,而是实践中锻炼出来的。这就好像新毕业生不可能当“总工程师”一样,门门功课都满分的毕业生也不可能担当系统架构师。

业界的第二个误解是“架构师只需要软件技术或者计算机知识”。这个误解也消融了,现在大家都已知道:架构师必须懂得客户所在的领域以及客户的具体需求,或者说在某种意义上成为“客户领域的专家”。只有同时考虑“客户业务架构”和“系统技术架构”,他们才有可能创造出好的软件系统。

这样说来,架构师就只能靠毕业后在企业里“煎熬”了,那还与计算机教育有什么关系呢?我们说,是大有关系的!一个人毕业后在企业里进步的快慢,与他在学校里接受教育的内容和方式都有着很大的关系:设想一个学生只学习了编程语言、数据结构、数据库、操作系统和网络等基础课程和相应的实验或实习,但却没有做过完整的软件系统,那他在工作单位就难以表现出主观能动性,也就难于获得最好的成长机会;如果一个学生念书时学会了设计和执行,但还是不会分析客户需求并给出方案(C)、不曾完成并最终运行一个系统(O),那他就听不懂客户在讲什么,也听不懂经理在要求什么,因而也就难于发挥主观能动性,难于争取到快速成长的机会。

卡内基·梅隆大学和加拿大滑铁卢大学等学校并未使用CDIO这种称呼,但他们的教育模式与CDIO是类似的,因此他们的毕业生能够较快地成长为架构师。为了帮助我们的学生将来快速成长,我们也要考虑采用类似CDIO的模式来培养计算机专业的毕业生。这里要特别强调的是,CDIO教育模式在学校条件下就给了学生提前体会“架构设计”的机会,他们在工作中就能表现出更强的竞争力,在群体中夺得机会、脱颖而出。

6 教学相长、校企结合、共创CDIO环境

软件工程的CDIO环境不像MIT航空航天工程系的CDIO环境那样复杂、那样昂贵,但我们要注意其环境建设的特点:

(1)教学相长、与时俱进。

IT技术或者软件技术几乎是发展最快的科技领域。我们教师在接受新鲜事物方面,就是赶不上自己的学生,尤其是他们上网什么都能搜索得到。这个领域的快速发展,同时也就决定了其CDIO实验室必须跟上时代、不断更新。为此,我们必须努力发掘和充分利用学生的积极因素,让他们成为CDIO实验室建设的生力军,我们自己则在旁指挥,甚至只当参谋。

我们要帮助学生总结网络调研的方法和经验,并为以后的师生积累教材:要学会调研和搜集企业信息、行业知识和典型的IT应用系统;要学会调研、搜集和管理各种软件资源,如开源代码、软件说明、免费的或比较便宜的常用构件;要学会整理、打包、积累各个项目的源码、注解、说明、开发文档、测试文档、发布文档、纠错(Bug Fix)数据库和完整客户以及内部通讯记录:要学会搜索、选择、开发和管理测试工具,学会编制测试案例(case)和测试用数据

库等。

我们要一边带着学生做,一边向他们学,很多时候要先当学生、后当先生。这样,他们只需花很少的钱就能建成很实用的CDIO实验室。“三人行必有吾师”,到了信息技术时代,我们就推崇“二人行必有吾师”了。

(2)积极开展校企合作。

上述第(1)条主要是讲CDIO中的D和I部分的建设,但两头的C和O才是关键。C是客户的实际需求,没有这种需求,学生就无以构思;O是运行软件的客户环境或者客户模拟环境,不这样运行软件,学生就无法实现第二次飞跃。C和O一般都需要与企业合作共同创建。事实上,CDIO国际组织在其网站上也明确指出:CDIO教育模式实际是由学界、工业界、工程师和学生共同提倡创立的(The CDIOInitiative was developed with input from academics,industry,engineers and students)。

如果学校与企业有合作项目,当然可以请他们来帮助创造c和。的条件。即使项目结束了,学校仍然可以和企业保持长期合作关系,包括帮助他们培养学生,以及请他们帮助不断地改进和完善CDIO环境。

(3)国际市场真实项目。

我们知道在国际市场上,尤其是欧美市场上有很多大大小小的客户,他们自主创新和创业的意识极其强烈,所提出的需求也十分有趣,不但可供中国人用作发展CDIO教育模式的素材,而且还可以鼓舞我们师生、员工的创新积极性。每当帮助这样的一家客户完成一个项目,学生们都很兴奋,而且还增添了自己出去创业的勇气。

(4)学校工程院系或专业所建造的CDIO是学校的无形资产,其中包括:

· 从市场上获得的软件、源码、文档、数据等。对这些,学校往往只获得了不可转让的使用权。

· 师生自己开发的软件工具和测试案例的源码、文档、数据、案例、测试库、维护记录和学员通讯等。对这些,学校一般都拥有完整的知识产权。

· 师生为完成企业应用项目所开发的软件、源码、设计文档、使用文档、通讯记录、测试案例和数据库等。这类项目的产权可能归企业,但学校保留一定形式的使用权;也可能反过来,学校保有产权,企业只有使用权。还可能有其他的情况。作为CDIO最重要的组成部分,学校、院系和有关专业必须建立并认真执行完善的知识产权管理制度,师生进入和离开这个环境都必须严格执行,否则学校的无形资产就会流失,CDIO模式就办不下去了。

因为已经长期脱离本科生教育,本文必有多处不当之处,希望读者指正,笔者再向各位求教,并与各位探讨中国软件工程教育的最合理模式。

推荐访问:借鉴 模式 欧美 我国 计算机教育