软件教育随想
邹欣
4) 想创新, 如何教创新
到大学里听领导的报告,你会听到很多次 “创新”和与“创新”相关的词汇。 你觉得这个学校的领导的确非常想创新。 但是另一方面,我听到一些同学反映教材,教案,教学方法都是几年甚至十多年不变的老一套,和实际非常脱节。 难道老师们不想在教学上创新么? 后来有比较了解内情的人跟我说,现在软件相关的专业非常热门,毕业前景也不错,一些计算机系的老师能拿到不少项目,资金也不少, 老师和领导都忙着开公司去了。他们为什么要在教学上创新? 重用几年前的教案不也这样过来了么?!
在软件学院里,怎么教创新? 除了让学生打下坚实的专业基础之外,学校可以做的一件事就是 ——
允许学生实验,失败,再实验,再失败。
我不用重复爱迪生经过几千次失败才发明可以实用的电灯的故事了,创新不是公式推导,不是一旦学好例题,就能模仿炮制的解题方法。 要给同学们试验和失败的机会。 有人问 - 学生失败了,课程怎么给分呢? 如果同学们能够认真总结经验。同样也可以得到比较好的分数。 这些同学真正到了工作中, 以前失败经验教训就能帮助他们更好地创新。我在给学生上《软件工程》课程的时候的评分标准大致是:
A. 有创新的想法,并成功实现,优。
B. 有创新的想法,但是失败了,能认真总结,优。
C. 无创新的想法,能成功地实现平庸的计划。 良好。
5) 清一色
一方面,计算机系和软件学院的各年级学生年龄一样,背景一样。 老师像种庄稼一样,一茬一茬的播种和收割。每次课程和作业,同学们都是从头开始。大家懂得一样多, 大家都是理工科学生的思维。
一些软件学院收了双证的学生后,情况好了一些,毕竟有一些别的行业,别的经历的同学进来了。这些人组成的团队能互相取长补短,对学生们很有帮助。 我建议要尽量打破 “清一色” 的配置模式, 很多学校有 “工业设计” 等设计类专业,“经济管理”等管理类专业,他们其实可以在学校里就和软件专业的学生一起做项目。
==============
邹欣现任微软亚洲研究院 (Microsoft Research Asia) 技术创新组项目主管。主要负责研究成果到商业产品的转化。他从1996年起在微软公司Outlook, Visual Studio 产品团队工作。 在加入微软公司之前,邹欣从事过 软件开发及软件测试工作。
邹欣1991 年毕业于北大计算机软件专业,获学士学位,1996 年获美国Wayne State Univ. (韦恩州立大学) 计算机软件专业硕士学位。
出版:《移山之道 – VSTS 软件开发指南》,《编程之美 – 微软技术面试心得》(合作)
教学:
讲授清华大学理论计算机中心 软件科学试验班 《现代软件工程》(2007, 2008)
讲授(合作) 北京大学软件学院 《软件实现技术》 (2008, 2009)
博客: http://yishan.cc/members/xin.aspx