作IT学生不容易,当IT老师也很难(续)——软件教育随想(1)

来源:互联网 发布:软件项目开发总结报告 编辑:程序博客网 时间:2024/04/30 04:05

                                                          软件教育随想
                                                                                                  邹欣

中国的大学生教育体系中,和IT 相关的大约占学生数量的10%。 这些学生毕业之后,就称为IT 产业的从业者,用户,他们是IT 行业的希望。 由于工作的关系,我在过去的三年中访问了十二三所软件学院或计算机学院,和不少老师,学生座谈过。我在微软亚洲研究院里也接触了来自各个学校的学生,谈得多了,就有下面的一些想法。这里我主要谈计算机软件的教育。

1)    想来的人来不了
学校里都是按照高考/考研的成绩决定专业去向,我听到一些喜欢玩游戏的学生特别想来软件学院,但是由于成绩不够好,来不了。 一些成绩挺好的学生优先选择了软件专业,因为大家都说这个专业好找工作。 但是到了快毕业的时候才发现 不对劲, 于是有人后悔: “其实我不喜欢写程序,我想转行。” 咳,如果你的位置留给当初那些喜欢玩游戏的学生该多好。

2)    教务处的规定
老师反映说,本来想锻炼同学的团队协作精神,期末大作业让同学们分组合作一个项目,但是没想到教务处不同意。教务处坚持大作业必须每个同学单独做,不能搞团队协作,其理由是团队协作之后,有人就会偷懒。 其实让一个人去做,他/她也有可能去糊弄,抄袭。 而且正因为缺少协作,一个人不能完成很高质量的软件,单干的同学更有可能去抄。 最后老师争不过教务处,只好让每个同学单独做一个项目了事。  据说在一些学校里,教务处非常强势,能决定老师的绩效考核。

3)    知识和技能
很多人认为,大学是传授知识的地方。很多知识 (Knowledge)可以讲授,同学们也可以自己查找,学习。 例如程序设计语言的一些边边角角的规定,在工作中如果忘了,那就现查资料,或者写一个测试程序验证一下。  但是技能 (Skill) 则要通过实际的反复训练,才能获得,并优化。 我看到同学们经常能够背诵 “在设计中应该高内聚,低耦合”, 但是在实际中根本不知道如何应用。  就如同大家都可以在理论上掌握如何下围棋  - “要让每一步占领全局最有价值的要点”, 但是在实战中下的棋却支离破碎,溃不成军。

我们在考试的时候,能不能少考一些死的知识,而多考一些技能? 学校里能练习什么技能呢?很多:
•    自己学习的能力 (能不能自己学习一门语言,然后应用? 为什么非得先要老师讲解?)
•    理解别人的意思和动机  (inter-personal awareness)
•    表达自己想法的能力 (不妨从做 PPT 演示开始)
•    说服,影响同伴的能力  (大家一起合作,如何能让团队按自己的想法前进?)
•    制定计划,并执行计划的能力 (是自己的计划,而不是老师给订的计划)
•    总结,改进的能力 (一个项目之后,能否心平气和地总结,改进?)

==============
邹欣现任微软亚洲研究院 (Microsoft Research Asia) 技术创新组项目主管。主要负责研究成果到商业产品的转化。他从1996年起在微软公司Outlook, Visual Studio 产品团队工作。 在加入微软公司之前,邹欣从事过 软件开发及软件测试工作。
邹欣1991 年毕业于北大计算机软件专业,获学士学位,1996 年获美国Wayne State Univ. (韦恩州立大学) 计算机软件专业硕士学位。
出版:《移山之道 – VSTS 软件开发指南》,《编程之美 – 微软技术面试心得》(合作)
教学:
讲授清华大学理论计算机中心 软件科学试验班 《现代软件工程》(2007, 2008)
讲授(合作) 北京大学软件学院 《软件实现技术》  (2008, 2009)
博客: http://yishan.cc/members/xin.aspx
 

原创粉丝点击