软件教育随想

[由于工作的关系,我在过去的几年中访问了十二三所软件学院/计算机学院,和不少老师,学生座谈过。我在研究院里也碰到了不少各个学校来的学生,谈得多了,就有下面的随想。]

 

想来的人来不了

学校里都是按照高考/考研的成绩决定专业去向,我听到一些喜欢玩游戏的学生特别想来软件学院,但是由于成绩不够好,来不了。 一些成绩挺好的学生优先选择了了软件学院,但是到了快毕业的时候说,其实我不喜欢写程序,我想转行。 咳,如果你的位置留给当初那些喜欢玩游戏的学生该多好。

 

 

教务处的规定

老师聊天的时候说,本来想锻炼同学的团队协作精神,期末大作业让同学们分组合作一个项目,但是没想到教务处不同意。说大作业必须每个同学单独做,不能搞团队协作,其理由是团队协作之后,有人就会偷懒。 其实让一个人去做,他/她也有可能去糊弄,抄袭。 最后老师争不过教务处,只好让每个同学单独做一个项目,这些“项目”的水平可想而知。  据说在一些学校里,教务处非常强势,能决定老师的绩效考核。

 

 

知识和技能

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

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

 

 

如何教创新

现在 “创新”非常时髦,每个人都谈创新,在软件学院里,怎么教创新? 除了让学生打下坚实的专业基础之外,学校可以做的一件事就是 -  允许学生实验,失败,再实验,再失败。我不用重复爱迪生经过几千次失败才发明可以实用的电灯的故事了,创新不是公式推导,不是一旦学好例题,就能模仿炮制的解题方法。 要给同学们试验和失败的机会。 我写过一本 《移山之道》,有些老师说 - 写得特有意思, 但是不能在学校用, 因为太"活"了.  如果连这些活一点的东西都不敢用, 那我们怎么教创新呢?  干脆用十年前的教材和讲义算了。

 

学校的目的

我教的一个班是大三的学生, 他们反映课程压力很大 (同时上编译原理,  数据库等), 我跟系里建议是否把软件工程挪到大四去上, 这样他们学的数据库知识能更好地用上.  系里的老师列出了很多担心, 其中最重要的一点是 - 学生们大四的时候要考研, 所以不能上太累的课, 要让他们有时间为考研复习! 我们谈论了许久,  我终于明白系里面在选择“让学生上有意义的课”  和 "让学生能有时间考研" 两者之间, 选择了后者。  其实天朝学校的目的大抵如此 - 让学生顺利地升入下一个阶段, 就完事儿了。 在这种思想指导下,

  • 小学六年级开始复习, 准备小升初;
  • 初三开始复习, 准备升高中;
  • 高三开始复习, 准备升大学;
  • 大四开始复习, 准备考研; 

学生到了社会上, 发现再也没有考试了, 要靠真本事, 怎么办? 我们可曾教过他们?

 

 

清一色
一方面,软件学院的各年级学生年龄一样,背景一样。 老师像种庄稼一样,一茬一茬的播种和收割。每次课程和作业,同学们都是从头开始。

但是到了工作单位,学生们发现项目组中老中青,各种背景的人都有。 自己得从读别人的代码上手。参见 “三文鱼模型”。

一些软件学院收了双证的学生后,情况好了一些,毕竟有一些别的行业,别的经历的同学进来了。 但是很多学校有 “工业设计” 等设计类专业,他们其实可以在学校里就和软件专业的学生一起做做项目。

 

http://yishan.cc/blogs/xin/archive/2009/04/12/1056.aspx

 

================

 

来自

[http://zhangxinfish.spaces.live.com/blog/cns!AD3AAE057B31C3A0!746.entry]

 

的关于高等教育的愿望:

   不能光骂人,厚道点,也要提出点建设性意见:

1、不要再搞xx工程大学评定,多搞些教学质量评估。

2、立即停止对极少数大学的巨额投入,缩小学校资源投入差距。

3、废除现有的大科研项目评估机制,打击学霸,不能把所有的项目都投入到关系好的大牛手里,而要看已有的研究成果,发相关论文情况。

4、立即停止扩招,逐步缩小招生规模到适应现有教学能力的水平,特别要限制大佬过度招生。

5、严格教授博导评定,挂名论文不算做老师成果,不称职的教师应该予以降职,引导教师研究学术。

6、改变现有的校内利益分配方式,减少贫富差距,对弱势老师给予必要支持,最起码应该配备必要的仪器、计算机等设施,每年拨给必要的资金。

7、停止对硕士研究生不切实际的创新要求,引导多做实事儿,同时严格博士生毕业要求,引导高水平研究。

8、停办大量的垃圾学术期刊,提高学术质量。

9、减少上千万的特大项目,术业有专攻,大项目可以多个老师联合,而不是大佬揽过来糊弄或者发包。

10、共享高价的科研设备,一方面减少浪费,一方面支持弱势老师研究。

 

你可能感兴趣的:(教育,作业,数据库,工作,语言,游戏)