计算机专业考研独白

 

哪些人才适合读计算机的研究生呢?参照些资料,归纳起来应该具备以下几点。 (注意, 不是我的独创, 我只是归纳以下而已, 主要参照一位开发人员的文章, 以此说明, 别无他意。希望作者与我联系,特此表示感谢。 )

 1.读计算机研究生最好要有实际际开发经验 这里所说的“有实际开发工作经验”通常应该具备:
 1)你已经认为 C++和汇编语言都是 很简单的语言,并能够自如地运用;
 2)你完全理解 STL 为什么这么重要;
 3)你能够在 30 分钟之内想到正确的五子棋 AI 算法设计思路和方向;
 4)你能够独立地解决所有的编译与链 接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;
 5)英文网站是你的首要信息 来源;
 6)能够读懂英语写成的国际标准,比如 NTFS 磁盘格式标准。 
 7)你经常站在集合论 的角度思考算法问题; 能够理解一个简单的驱动程序。
 8) 能够理解一个简单 3D 交互程序;
 9) 你能够认识到线性代数和概率论在实际编程工作中的极端重要性;
 10)你完全理解 COM 的设 计思想,尤其能够理解 COM 为什么要设计成这样;
 11)当我说到虚函数的重要作用时,你不 会急着去找书来翻;
 12)你能够说出 C++为什么比其他语言优秀的理由,记住这种理由应该 来自于你的开发体会,而不是因为其他人都这么说。
 此外还有很多判断标准,但如果你同时 具备 5 条以上,可以认为你已经具备相应的开发经验了。在这种状态下读研,你将取得读研 效益的最大值。 当然,如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需 要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层 楼。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不 一定等于开发经验,我见过很多工作 2-3 年的人,但是没有一点开发经验。比如我。我原先 的室友,研究生毕业,现在留校当老师,他好象从来都不写程序,好象也写不来程序。还需 要说明的是, 考计算机的人未必个个都是高手, 严格来说, 大部分都不会编程序。 也就是说, 庸庸碌碌之辈仍然占绝大多数。我的许多研究生毕业的师兄都只有到高校教书等,甚至找不 到工作。所以不要寄希望于拿一张研究生文凭出去赚高薪。但是,对于有实际开发工作经验 的人,要想自己在 3 年之中有一个真正的提高的话,计算机学院提供了广阔的平台。

2.为什么要读计算机研究生(目的) 读研最重要的是要明白你自己要干什么,不能等导师来告诉你你应该干什么。研究生 的优势在于理论功底深厚,思维具有穿透力,当然编程能力首先要过关,不要读完研究生还 不知道 MFC 程序的 WinMain 函数在哪里。所以,研究生期间,你一定要做有理论深度的算法 设计,比如大规模数据的搜索算法,性能是首要考虑因素,不要奢望 SQL 函数能够帮你解决 问题,所有的问题你都必须自己解决,你必须解决内外存交换的性能瓶颈。再比如极品飞车 的 3D 场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型等等,这些都是可以 保证你能拿到 2 万以上月薪的技术。如果你认为这些东西太难,不可能做得出来的话,那么 你就不适合读研。真的,要是你认为读研之后还是要去搞一般的程序设计,如信息管理系统 之类的软件,那么你读研的价值就完全不会得到体现,因为这些工作根本就不需要读研。 如 果你只想成为软件开发高手 (比如认为会编驱动程序或杀毒软件就是高手的那种)建议工作, , 不要考研;完全没有工作经验的,也不建议考研,你进来了只有瞎混一通。如果你有上述工 作经验且想成为高级软件工程师(能够独立理解并设计出快速傅立叶变换算法的那种软件工 程师)的话,那么强烈建议考研。考研让你有 3 年放松思考的机会,也有 3 年让你思想和技 术积累沉淀的机会。非常难得的机会。不考研的话,这种机会就是一种奢侈,可望而不可即 的那么一种奢侈。同时,不管你是哪一种情况,都不建议考软件学院。除非你是女生,把能 够成为一个研究生当着一生最大满足的那种女生。

3.读计算机研究生投入与产出分析
 1)机会成本。这是个经济学问题。读研的机会成本的确是很高。任何人都可以简单地计算出来。所以,我也不赞成所有的人都去读研。读研只适合那些痛感数学在编程中的极端 重要性的人。如果对理论工具和理论思维的极端重要性没有切肤的认识,那么读研的价值几 乎为 0;读研的好处在于:A,把你自己放在一个学术和工程的交叉点上;B,让你具备了进 入微软等世界顶级软件研发机构的可能性; 记住只是可能性。 但是不读研这种可能性为 0; C, 如前所述,如果没有读研的机会,你也就没有静下心来好好钻研几年理论的机会;一边工作 拿高薪,一边深入地学习各种理论,诸位认为这可能吗?我反正认为不可能,我觉得学习钻 研理论最需要的就是一个长期安静独处的环境, 一边工作一边读书是不可能有这样的环境的, 你会觉得每天都在疲于奔命。而读研正好可以提供这样一个环境。我同时还反对整天跟着导 师的屁股后面跑, 这样会浪费很多时间。 读计算机的研究生, 主要依靠自己去查阅最新文献, 自己去研读文献,和导师的口头交流一个月一次就足够了,前提还需要导师的水平足够牛。 如果导师的水平不牛,这也没关系,不理他就是了,自己做好自己的事情即可。
 2) 教学质量。就如网上一个人说,全国都是“洪桐县中无好人” ,尤其在计算科学领域,大牛极少。那为什么还要去读研?大哉问!把读研的收获寄托在名校或名师的名我认为气上,是注 定要失败的。读研全靠自学,研究生之间的差距全部体现在自学能力上面。又有人问,既然 是自学,为什么非要读研?回答是:因为读研就是为你买一份保险,就是买一份你自学三年 之后不会失业的保险。这份保险主要是一种心理上的后盾,让你在自学过程中经得起诱惑, 能够从容镇定地去追寻计算机理论发展的坚实足迹,从欧拉,费马,高斯,康托,图灵等巨 匠那里寻找方法论的珠宝。倘若没有这份保证,你在家里面自学 3 个月,保证你会被失业的 压力压得喘不过气来,何谈安心学习?
 3)理论与实践。这没有定论,如前所述,管 理信息系统,设备驱动开发,工具软件开发,软件病毒剖析等等这些工作不太需要创造性, 需要的是耐心和经验, 需要的是对既有规范的准确理解, 这类开发工作最适合在实战中提高, 理论学习没什么作用。但是在人工智能,模式识别,图像压缩,虚拟现实,巨量数据检索, 自然语言理解,计算机图形学等等领域,理论学习就占据着绝对的统治地位!这些领域的突 破对人类的生活的影响是极其巨大而深刻的。某些领域处于一个极其快速发展的态势之中, 比如计算机图形学, 相信诸君能够从众多 3D 游戏的灿烂辉煌中体认到我的这种说法。 在这些 领域,如果没有扎实的理论功底,一切都是那么遥远,不管你花了多少时间在编程上面。
 4)知识结构。首先声明,我不是一个纯粹理论激进分子,即认为除了理论之外,一切都不重 要。我认为,纯熟的编程技能是最基本但也是最必不可少的技能。没有这个基础,一切计算 机理论就是空谈(研究图灵可计算性理论的研究者除外) 。有了这个基础之后,一些基本理论 学习方向必须重点突破。

4.读计算机研究生应具备的理论素养
 1)科学哲学。这是核心中的核心!可惜国 内不开这门课。不但不开课,而且还作为批判对象来引用,实在是遗憾至极!这是一门教你 如何“钓鱼”的学科,在一切科学研究中居于最核心的地位。它是古今科研方法和思维方法 的集大成者,很难想象一个成熟的研究者没有一套自己的方法论体系。科学哲学最需要的是 领会与总结,它的思想与启示会伴随我们的一生。
 2)康托集合论,矩阵方法,离散 结构,图论方法,群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方 法引导。我始终认为,如果你学了一门理论之后,却不知道这门理论有什么作用,那么你的 理论就白学了, 你什么东西都没有捞着。 所以, 学习任何理论之前, 先问自己: 它有什么用? 在哪里用?如何用?带着这些问题去学习理论,你才会真正地学到东西。用这三个问题去问 你的理论课老师,他的回答就是判断其实际水平的最佳标准。
 3)思维要有极强的穿 透力,学会看透文献作者没有写出来的动机。绝大部分大师都有隐瞒自己最具有方法论启示 意义的思考环节的习惯。牛顿和华罗庚先生都有这个坏习惯。这让大家认为他们是天才,因 为很多问题他想到了,我们想不到。但是为什么他们能想到,我们想不到?他们是怎样想到 的?没有人告诉我们牛顿发现万有引力定律时的思考过程,当然,牛顿可以慷慨地把他的思 考结果告诉我们,但是,他那可以点石成金的“金手指”却没有教给我们。我们的任务就是 要培养透过文章看穿作者背后意图和动机的能力,在这方面,台湾的侯捷和美国的 Donbox 是绝佳典范。这两只老狐狸(呵呵,是爱称)凭着其猎犬一般的嗅觉,抽丝剥茧,一个把 COM 背后的幕后设计动机揭开并暴露到了光天化日之下,另一个把 MFC 的宏观架构做了一次完美 的外科手术。其非凡的思维穿透力令人惊叹。

 最后,英语这个狐狸精。英语本身不 重要,但是用英语写成的文献就极其重要了。所以,专门把英语作为一个重头戏列出来。大 家不要相信英语无用论的鬼话。对于搞计算机的而言,英语就是你的母语!英语是科学家的 工作语言,就如普通话是教师的工作语言一样,一个不会普通话的老师,一定是最早该下课 的老师,一个讲着方言的人,一定是没有什么文化含量的人,一个到处是方言的学校,一定是三流或者三流一下, 甚至是 Y 学校, 一个只讲方言的寝室要么是不团结, 要么是地方学校, 要么都是一群没有眼光的人,没有什么出息。 其它的具体理论还有很多,但是都不 如这几个个方面重要,因为我觉得这几个个方面是最具有根本性,全局性的能力培养环节。 需要指出的是,很多高深理论对你的工作是无意义的,当心时间陷进去。一定要把效率最高 的时间段用在最具有决定性意义的理论学习上。

关于读研之后的出路是否光明的问题。我们应该承认,读研之后,你的工作机会不是变多了,而是变少了。而且越是高手,他的工作机会和工作范围就越少。这是因为,越是搞前沿研发的公司,其数量越少,在这个圈子的人也 就越少。你找工作的范围就越小,试问:如果微软的 OS 设计专家出来找工作,能够让他选择 的公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你 在工作中所受到的充分尊重也是在一般公司中体会不到的。 所以不要担心学了高科技用不上, 呵呵,你只会越来越感觉自己学的不够用。既然选择了理论深入,那么就应该把眼光放得更 远。 综合起来,我并不具备良好的计算机理论背景, 尽管我对算法类的课程并不恐惧,对程序题自认为有一定的悟性,但是我根本就没有什么编 程经验,甚至对许多应用软件都很陌生,况且我还许要相当的时间恶补英语,我对数据也很 敏感,但我觉得去做心理学的统计分析、理论假设,调查研究,似乎更合适。所以我觉得不 适合读计算机研究生, 至少没有这个时间, 我把这些精力和我的基础很好的应用于心理学上, 无论是基础心理还是应用领域,我觉得比较有信心学好的。希望大家给予指点,尤其上上次 匿名的博友一定要来指点啊,你的分析还是很不错的,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值