发信人: lcxy (老油条), 信区: S_Software
标 题: zz致软件学院的老师们的一封信
发信站: 南京大学小百合站 (Fri Dec 2 23:40:51 2011)

看到微软邹欣的微博发的链接,顺手贴过来了
http://blog.sina.com.cn/s/blog_4dff87120100vvwn.html
老师:
您好。
首先感谢你们给我们的教导,无论如何你们都花了不少时间在我们身上,因此我在此感谢
你们。但我有些话想和你们说一说。

我认为你们有一个最大的责任没有负好,那就是引导学生们的兴趣,引导学生们喜欢上这
个专业。在大一刚刚入学的时候,学生分为三种:第一种是对编程感兴趣;第二种是不喜
欢编程;还有一种就是完全的迷茫,既不喜欢又不讨厌,因为这一种学生对编程毫无认识
。我相信第一种很少,第二种几乎没有(来到软件学院的要么喜欢编程,要么是被调剂过
来对编程一无所知,所以不会讨厌),而第三种占绝大多数。这些对软件一无所知的学生
就像白纸,他们可能喜欢上编程,也可能会讨厌,但最开始的时候什么都不知道。
如果给这些学生适当的引导,让他们发现计算机最本质最吸引人的地方,我相信他们会毫
不犹豫地表现出兴趣。而这个任务理所应当地应该由老师来完成。学院年年宣称优秀毕业
生,为什么我们学院却鲜有进入微软、谷歌、IBM的毕业生?因为这些公司需要真正对计算
机有所了解、有所洞察、有所创新、有所热爱的人,请老师们问问自己:“我能培养出这
样的学生吗?”。

我身边的同学,每天从早到晚玩游戏的,有;认真学习的,不少也不多;上课睡觉或者玩
手机总之就是不听课的,不少;作业不会写四处抄的,多。这就是我眼中软件学院本科生
的现状。

这个专业名为“软件工程”,工程化最有利的武器莫过于化繁为简、化整为零。而递归是
计算机科学中的不可或缺的、极为美妙的技巧。学院却没有专门教授这些技巧的课程,你
让我们去哪学?然而麻省理工学院计算机系在给本科生上的第一门课程(著名的6.001)中
就把这些知识教授给学生了。这让我们如何去和他们竞争?
学院还在大二教学生面向对象编程。众所周知,面向对象有23种设计模式,为什么编程语
言用得好好的,会有人去设计这些复杂的设计模式呢?正因为面向对象语言本身有缺陷,
所以才不得不动用繁杂的模式让编程语言去实现目标。皮特·诺维格(Google研究部主任
,技术一把手)发现,有16种设计模式在Lisp中“本身就提供,或大大被简化”。国内的
公司把面向对象编程这门技术奉为圭臬,难道没思考过这门技术的缺点吗?卡耐基梅隆大
学的软件工程世界第一,他们培养学生的时候把面向对象编程列为选修,学生不想学可以
不学,学院的老师知道这件事吗?探求过原因吗?
如果学院的本意是想把学生培养成“符合行业需求的代码工人”,那我无话可说。为何不
思忖把学生培养成“引领行业的精英”呢?

我知道许多老师身上都挂着很多很多的项目,也很累。有了项目就有钱,老师也是人,也
要养家糊口,因此我对此表示非常非常理解。不过要是稍微换个角度想一想,每个老师少
接几个活,多花点心思想想怎么把课上好,怎么让学生感兴趣,这会把更多的“白纸”变
成第一种学生,对编程感兴趣的学生。兴趣是最好的老师,如果老师们能把这位“最好的
老师”带给学生,对这个国家、对这个行业、对学生而言都是莫大的福音。而对于老师自
己,我想如果真真正正这么做了,那么你们将会为社会创造出更大的财富,你们的人生也
会更有价值。

我上面说的话可能让老师感到可笑,或者无奈,也或许您看完这封文章不久之后就忘得一
干二净。但学院里有一些老师是非常负责任的,我相信老师们也希望把我们的学院办好。
我希望能从一个学生的角度来帮助老师们达到这个目的。

感谢您抽出宝贵的时间读完我这冗长的文章
祝:身体健康,工作顺利

——一个真心希望学院以后能办好的学生

--
※ 来源:.南京大学小百合站 http://bbs.nju.edu.cn [FROM: 172.16.13.158]
※ 修改:.lcxy 於 Dec 3 12:18:16 2011 修改本文.[FROM: 172.16.13.158]