软件教育随想
邹欣
7) 同学们想说什么
我问了一些刚刚毕业的软件专业的同学,软件教育迫切要改变的做法是什么? 下面是一些回答:
a) 实践! 软件教育离不开实践,不要太强调闭卷考试, 老师一定要让学生实践,实习。给一个真实的客户做项目和自己幻想一个需求来做项目是有很大区别的。自己从头写程序和维护别人写的代码是有很大区别的。 没有真实的需求,没有软件的增量开发,没有团队合作,程序设计和软件工程中的大部分理论都沦为空谈。
b) 讲为什么! 学生上了很多课,反而觉得很迷茫,这些课的意义是什么? 为什么有这么多的原理,数据结构,模式和算法? 不知道我学的东西有什么用,怎么用。老师似乎不想告诉我们这些课程在实践中的意义 (或者他们也没实践过? )。学生只有死记硬背来应付考试,考试后全忘记。
c) 打好基础,其他自学! 好好学基础课,特别是算法, 数据结构, 编译原理,操作系统 。 其他课的内容用到了自己学就可以了。
d) 不光是代码! 软件教育不是孤立体,希望在软件教育中把文科的知识联系进来,和设计联系起来; 把软件/IT 行业有趣的发展历史 放进来 (讲讲图灵,冯 诺依曼,讲讲Smalltalk, 各种语言的源和流)。培养学生对这个行业的兴趣、热情和敏感。 提倡互动,介绍同学上相关的论坛,网站,开拓视野。
====================
邹欣现任微软亚洲研究院 (Microsoft Research Asia) 技术创新组项目主管。主要负责研究成果到商业产品的转化。他从1996年起在微软公司Outlook, Visual Studio 产品团队工作。 在加入微软公司之前,邹欣从事过 软件开发及软件测试工作。
邹欣1991 年毕业于北大计算机软件专业,获学士学位,1996 年获美国Wayne State Univ. (韦恩州立大学) 计算机软件专业硕士学位。
出版:《移山之道 – VSTS 软件开发指南》,《编程之美 – 微软技术面试心得》(合作)
教学:
讲授清华大学理论计算机中心 软件科学试验班 《现代软件工程》(2007, 2008)
讲授(合作) 北京大学软件学院 《软件实现技术》 (2008, 2009)
博客: http://yishan.cc/members/xin.aspx