2012年12月8日-9日,第一届高等学校软件工程人才培养高峰论坛在广州召开,Sunny有幸受到主办方(“教育部软件工程专业教学指导分委员会”和“教育部示范性软件学院建设工作办公室”)的邀请,作了一个题为工程型软件人才设计能力的培养与提升——“设计模式”课程教学改革实践的报告。本次论坛由华南理工大学软件学院和清华大学出版社承办。
与其他讲座嘉宾相比,我的报告只是众多专家教授们饕餮盛宴之余的一盘小炒,,大部分作报告的嘉宾都是国内一流高校的软件学院的院长、副院长和教授(包括清华、上海交大、北京交通大学、北航、北京理工大学、华南理工、同济等高校),他们站在更高的角度对软件工程人才培养体系建设和培养目标进行了思考、探索和实践,从他们的报告题目就能够看得出来:
刘强教授(教育部软件工程专业教学指导分委员会秘书长、清华大学软件学院教授):软件工程教学改革的探索与思考
卢苇教授(教育部软件工程教学指导分委员会委员,教育部示范性软件学院建设工作办公室副主任,北京交通大学软件学院院长) :国际化软件人才培养模式的改革与探索
张莉教授(北京航空航天大学软件学院副院长):软件工程型人才培养的一些探索和思考
王树良教授(北京理工大学软件学院教授):培养智能、安全、创意的软件创新人才
蒋建伟教授(上海交通大学软件学院副院长):软件工程创新性人才培养模式探索
左保河教授(华南理工大学软件学院副院长):创新卓越人才培养模式
......
与其说是作为特邀嘉宾,我更觉得自己是一个学习者,去听听国内一流高校软件工程专业的专家教授们对于软件工程人才培养的一些想法、思路和措施,开拓视野,其实与这些专家们一起作报告,鸭梨还真的是挺大的,!国内90多所高校200多位老师参与了本次论坛,人多我并不怕,就怕自己讲的对大家木有帮助,浪费众人时间的罪名我可担待不起啊,!
一天半的论坛一共安排了十余场讲座,收获颇丰。下面我简单谈谈本次会议的几点感想:
(1) 培养目标问题。做科学家好还是工程师好?研究型大学是不是不应该培养工程师?研究型大学如何培养工程师?这几个问题在两天的报告中多次出现。现在很多985和211高校的口号都是建设国内一流的研究型大学,老师们都全力去做科研,而工程类专业,特别是软件工程又是以培养工程应用型人才为主,如果老师们都将精力用于做科研了,谁来培养工程师?怎么培养工程师?而且没有实际的项目开发经验,只是照本宣科,停留在纯理论的教学中,如何能够培养出合格的工程师?我个人觉得工科大学本科教育(工程类专业)应该还是以面向应用工程型为主,如果希望当科学家,应该是在硕士,特别是博士教育中。随着工程硕士规模的扩大,很多人硕士毕业之后还是当工程师。如果有志于当科学家的童鞋,应该从本科就做好准备,打下良好研究基础,学好数学、英语和一些基础理论课程,最好能够把算法、计算理论、编译原理、形式化方法、数据挖掘、计算机图形学等知识(或课程)也学好,为做科学研究打下基础,如果有机会的话,可以提前和老师们一起参与一下科研项目的研究,了解一下科研的流程,说不定还能够做出点啥科研成果,呵呵。而对于大部分想做工程师的童鞋而言,软件开发类课程就非常重要了,无论是编程、分析设计、架构还是测试,以及数据库、操作系统、数据结构等基础课都是成为一名优秀工程师的基础,如果有机会,做做实际的应用型项目(不是停留在课程设计或者项目实训等模拟项目上),那帮助就更大了。在大学阶段有一个比较明确的职业规划,对于同学们的成长确实有很有帮助,虽然这个做起来有点难度。
(2) 课程体系的建设问题。课程体系的建设问题也是软件工程教育的一个核心问题,它对应于一个怎么做的问题,软件工程专业的课程体系要兼顾多方面,因此一套完善合理的课程体系需要不断调整和优化,这样难免会有一些童鞋会成为小白鼠,但是这是人才培养道路上必经的一个过程,还望做过小白鼠、正在做小白鼠和即将成为小白鼠的同学们理解。一套科学合理的软件工程课程体系,我认为至少要考虑如下两个方面:用人企业的需求(分析用人企业所需的技能和技术,结合企业的招聘启事,请企业专家参与评审课程体系,包括课程的培养目标、先后顺序、教学大纲、实验安排等)、人才的长远发展(我们不能只是培养码农,需要培养出能够具有更好地发展前景的软件人才,因此,除了编码类课程,还需要开设需求、分析、设计、架构、测试、项目管理等课程)。对于教育工作者,人才是产品,用人单位是客户。我们都希望能够培养出高质量的产品,满足客户的需求,做到三方共赢!
说到这里,我想到自己曾经的一个构思:将软件工程专业课程整合起来,在大一和大二学完基础课(公共基础课和专业基础课,专业基础课包括面向对象编程语言<C++/Java/C#>、Web前端技术、数据库(SQL Server/Oracle)等)之后,花一年的时间(大三)来学习软件工程专业课,从软件需求工程开始,陆续讲授软件建模技术、面向对象分析与设计、设计模式、软件体系结构、软件测试与质量保证、IT项目管理(包括立项、结项、成本估算、进度管理、配置管理等)等课程,而且所有的课程都基于一个大小适中的项目,当这些课程全部上完,也将同时需要把项目做完。我相信这种做法会比一门门课程孤立地来学习收获会更大,当然,这对于相关教学资源的开发和师资也提出了更高的要求。
(3) 软件工程的理论基础问题和科研问题。软件工程的理论基础是什么?如何做软件工程理论研究?学科的发展跟不上产业的发展,师资是否能够跟上?北航软件学院副院长张莉教授在报告过程中有提到这个问题,其实Ivar Jacobson等专家已经在做相关的研究,在2012年10月份的IEEE Software上,Pontus Johnson, Mathias Ekstedt, and Ivar Jacobson(UML的创始人之一哦!)发表了题为《Where’s the Theory for Software Engineering?》的文章(我计划抽时间把这篇文章翻译一下,)。我个人觉得与力学里面的牛顿三大定律,电磁学中的麦克斯韦方程组类似,软件工程还是有理论基础的,不过这个理论基础会比较复杂(因为软件工程领域还是有一些经验性的东东在里面),可能无法用一个或一组简单的公式来表示,我也愿意投身到软件工程的理论基础研究中,我相信这是一个有趣味也有挑战的研究领域。此外,随着大数据、云计算等技术的发展,对于软件工程的科学研究也很重要,因为工业界需要面对虚拟化、分布式存储、安全、高效的数据挖掘算法、分布式计算等诸多问题,这些问题需要软件工程研究人员的参与,对于这些问题的研究也将让工业界和学术界的联系更为紧密,真正能够实现科研成果向生产力的转化。
(4) 教学与实践的结合。软件工程是一个重实践的专业,必须要多实践,重点培养实践能力,许多高校都在压缩教学课时,大量增加实践课时。但是现在有一个很重要的问题是很多学校的教学资源不足,不可能所有的课都在机房上。很多嘉宾在报告中都提到“做中学”的问题,对于软件人才的培养,确实需要增加实践课时,我个人觉得如果网速足够快并提供合适的在线项目开发和管理平台,有些练习和项目完全可以在宿舍完成。教学课时没有必要开设那么那么多,我始终还是坚信那句话:大学教育更多是培养大家学习知识的能力,而不是学习知识本身。
(5) 教师成长问题。作为软件工程专业的教师,必须不断更新自己的知识体系,需要至少在某一个或者几个领域与最新技术接轨,每年应该也要实时充电,让学生们能够在学校就学到一些前沿的知识。对于有些知识的学习,老师的理解能力和消化能力还是要强于学生,毕竟对行业和专业的了解更为全面和系统。我个人的观点是,作为从事软件工程一线教学的教师,应该有目的地提升自己的实际项目开发能力,不断学习新知识,“一门课上到退休”对我们来说并不适用,也不应该是这样。作为一名软件教育从业者,我要求学生要努力学习,学会自学一些新知识与技能,同时我也需要不断学习,只有这样,我想自己才能实现成为一流IT教育工作者的梦想。
(6) 高校与企业联合办学的问题。与企业联合办学是目前很多高校在培养软件人才的时候采用的一个重要的手段,这样一方面可以让学生学到一些企业实用技术,另一方面可以缓解师资不足的问题。学生也特别希望能够有一些企业老师来讲课,学习到更多实用的技术和经验。我想我的课之所有学生们也还挺喜欢,跟我之前有过几年项目开发经验有很大关系。。但是在校企联合办学过程中,地域因素也不得不考虑,例如在北京,如果要找一流的测试专家给某个高校上软件测试的一些课程,可以找中国软件评测中心或者国家信息中心软件评测中心,但是有很多二线、三线城市的高校就没有这么便利的企业教学资源了,应该建立一个校企合作的平台。我觉得校企合作也是一个对三方有利的方式,对于学生和学校的好处不用多说,对于企业而言,可以从中选拔优秀的潜在员工,还可以宣传自己的企业和产品,同时带来一些新的赢利点。很多国内外知名软件公司就成立了专门的校企合作部门,已经嵌入到师资培训、学生培养、实习生安排、社团活动等多个环节,并取得了不错的效果。
此外,本次论坛还涉及到不同层次的学校人才培养的差异性问题、测试专业开设和人才培养问题、企业对于人才的要求与高校人才培养现状等问题,百度质量部技术委员会主席陈伟先生和微软亚太研发集团主席助理张煜先生也给参会者做了精彩的主题报告,介绍了百度产品的测评流程、规范和人才培养以及微软的人才需求和培养等问题。
以上的感想由我的会议记录(从头到尾我还是听得很认真的,吼吼,)整理而成,有点小乱,还请包涵,,以后有时间我将再就软件人才的培养问题写几篇文章,深入谈谈自己的一些想法。
又想起我的微博简介:软件兴邦,教育利民!致力于中国软件教育!
教育,工程教育,尤其是软件工程教育尚有很多待完善的地方,路漫漫其修远兮,吾将上下而求索!(好木有创意的一句结束语,)
照片一:Sunny与清华大学软件学院教授、教育部软件工程专业教学指导分委员会秘书长刘强老师的合影
照片二:Sunny开讲,
【作者:刘伟 http://blog.csdn.net/lovelion】