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设计专家出来找工作,能够让他选择的公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学了高科技用不上,呵呵,你只会越来越感觉自己学的不够用。既然选择了理论深入,那么就应该把眼光放得更远。
分享到:
相关推荐
嵌入式软件计算机科学与技术考研计划,提供了选择的学校分析,考研具体时间计划,自身所处专业分析
如果读研的主要目的是为了找一份好工作,那么博士可能不是最佳选择,尤其在顶级学校,主动性强且对研究有热情的学生更常见。 3. 选择研究方向的关键在于找到让你持续兴奋的问题。这需要广泛接触和了解不同的领域,有...
【读研规划】是关于研究生阶段的学习和生活安排的重要文档,旨在帮助研究生明确目标,有效利用时间,提升自我。在读研期间,学生面临诸多挑战,如生存压力、心理调适以及学术研究与个人成长的平衡。上海大学的崔老师...
2. **读研经验**:《计算机专业读研经验.doc》可能会分享一些关于研究生阶段的学习方法、研究方向选择、导师关系处理等方面的心得体会,对于有志于深造的同学来说,这些都是宝贵的指导。 3. **工作方向**:《计算机...
#### 一、背景与目的 华南理工大学为了进一步做好推荐优秀应届本科毕业生免试攻读研究生的工作,提高研究生的生源质量,特制定了《华南理工大学推荐优秀应届本科毕业生免试攻读研究生管理办法(2017年修订)》。该...
一个研究生毕业之后的人生规划,看看,相当有用!
首先,计算机学院的研究生教育更注重理论的深化,能够帮助学生在计算机科学的理论层面上更上一层楼。软件学院虽然也关注编程技能,但其教学目标可能并不强调理论基础的培养。因此,对于那些想要突破实践经验限制的人...
【标题与描述解析】: 这个文档标题和描述提到了“最新读研辞职申请因读研而辞职的辞职申请书示范文本”,意味着这是一份关于员工因为被研究生院录取而打算离职的辞职信样本。这份文档可能包含了如何专业且礼貌地表达...
- **标题**:“读研三年珍藏的ftp资源”表明这是一份经过长时间积累、精心挑选的FTP资源列表。 - **描述**:“读研三年珍藏的ftp资源,里面有很多好用的FTP网址”进一步强调了这些资源的重要性及实用性。 #### 标签...
出国读研是一个复杂的过程,需要事先准备好各种材料和信息。本文总结了出国读研的程序流程,包括准备推荐信、个人陈述、个人简历、其他证明材料、申请学校、签证办理等步骤。 首先,出国读研需要准备推荐信...
如果内心的答案是模糊不清的,那么,暂时不选择读研,而是寻找一份能够让自己成长和积累经验的工作,或许是一个更为明智的选择。 在专业选择上,保研的机会固然难得,但若非对相关领域有着浓厚的兴趣,这种机会也...
"因读研原因的辞职报告"这一文档,不仅是一份简单的离职声明,更是一次个人成长和企业文化互动的展示。在这一过程中,员工展现了自己对工作的负责态度、对未来的规划和对企业的感激之情,同时也体现了员工与公司之间...
在决定是否适合计算机考研时,你需要首先审视自己的能力和目标。计算机科学的研究生学习不仅仅是为了获得更高的学历,更重要的是深化理论基础,提升解决问题的能力,特别是在编程和算法设计方面。以下是一些必备的...
大学毕业留学读研理财计划.docx
一、数据结构 二、计算机组成原理 三、操作系统 四、计算机网络
B.7_本科毕业生读研和留学分析.pdf
文件为全国研究生一年级英语课程读研思教材阅读课本的英文阅读中文全文翻译,有助于大家理解课文内容
首先,对于读研还是就业的选择,这主要取决于个人的意愿和能力。研究生教育通常能提供更深入的专业知识,提升个人竞争力,也可能带来更好的待遇。然而,这并不意味着所有人都适合这条路。有些人可能更倾向于尽早进入...
《读研必备·学术风格PPT模板精选集》是专为研究生及科研人员设计的PPT模板合集。该模板集融合了多种学术场合所需的严谨与美观,从封面到目录、正文到结语,每一页都经过精心设计,旨在帮助用户快速制作出符合学术...
#### 一、什么样的人适合读研? 1. **具有实际开发经验**:根据文章内容,最适合攻读计算机研究生的人群是有一定的实际开发经验者。这里的“实际开发经验”指的是那些能够独立解决复杂编程问题、深入理解软件架构和...