计算机研究生应该明白的_计算机研究生学习方法
计算机研究生应该明白的由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机研究生学习方法”。
考计算机的人未必个个都是高手,严格来说,大部分都不会编程序。也就是说,庸庸碌碌之辈仍然占绝大多数。研究生毕业的师兄只拿2500元左右的比比皆是,所以不要寄希望于拿一张研究生文凭出去赚高薪。但是,对于有实际开发工作经验的人,要想自己在3年之中有一个真正的提高的话,计算机学院提供了广阔的平台。就我所知,每一个月拿2万以上的也有(上海育碧,图形特效算法设计)。所以,同为研究生毕业,能力的差距是极大的。所以,不要去问“研究生毕业能拿多少?”,要问“像我这种水平的人,研究生毕业能拿多少钱?”这样人家才能够准确地回答你。
所谓“有实际开发工作经验”是指你目前已经具备下列能力:
1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;
2)你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向;
3)你完全理解STL为什么这么重要;
4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;
5)英文网站是你的首要信息来源;
6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。
7)你经常站在集合论的角度思考算法问题;
8)能够理解一个简单的驱动程序,能够理解一个简单3D交互程序;
9)你能够认识到线性代数和概率论在实际编程工作中的极端重要性;
10)你完全理解COM的设计思想,尤其能够理解COM为什么要设计成这样;
11)当我说到虚函数的重要作用时,你不会急着去找书来翻;
12)你能够说出C++为什么比其他语言优秀的理由,记住这种理由应该来自于你的开发体会,而不是因为其他人都这么说。
此外还有很多判断标准,但如果你同时具备5条以上,可以认为你已经具备相应的开发经验了。在这种状态下读研,你将取得读研效益的最大值。
读研最重要的是要明白你自己要干什么,不能等导师来告诉你你应该干什么。研究生的优势在于理论功底深厚,思维具有穿透力,当然编程能力首先要过关,不要读完研究生还不知道MFC程序的WinMain函数在哪里。所以,研究生期间,你一定要做有理论深度的算法设计,比如大规模数据的搜索算法,性能是首要考虑因素,不要奢望SQL函数能够帮你解决问题,所有的问题你都必须自己解决,你必须解决内外存交换的性能瓶颈。再比如极品飞车的3D场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型等等,这些都是可以保证你能拿到2万以上月薪的技术。如果你认为这些东西太难,不可能做得出来的话,那么你就不适合读研。真的,要是你认为读研之后还是要去搞一般的程序设计,如信息管理系统之类的软件,那么你读研的价值就完全不会得到体现,因为这些工作根本就不需要读研。成为软件开发高手的路只有一条:自学!软件开发中需要大量的编程实践和独立思考,只有在此过程中,你才能够逐步成长起来。
如果你只想成为软件开发高手(比如认为会编驱动程序或杀毒软件就是高手的那种),建议工作,不要考研;完全没有工作经验的,也不建议考研,你进来了只有瞎混一通。如果你有上述工作经验且想成为高级软件工程师(能够独立理解并设计出快速傅立叶变换算法的那种软件工程师)的话,那么强烈建议考研。考研让你有3年放松思考的机会,也有3年让你思想和技术积累沉淀的机会。非常难得的机会。
读研的好处在于:A,把你自己放在一个学术和工程的交叉点上;B,让你具备了进入微软等世界顶级软件研发机构的可能性;记住只是可能性。但是不读研这种可能性为0;C,如前所述,如果没有读研的机会,你也就没有静下心来好好钻研几年理论的机会;一边工作拿高薪,一边深入地学习各种理论,诸位认为这可能吗?读计算机的研究生,主要依靠自己去查阅最新文献,自己去研读文献,和导师的口头交流一个月一次就足够了,前提还需要导师的水平足够牛。如果导师的水平不牛,这也没关系,不理他就是了,自己做好自己的事情即可。读研全靠自学,研究生之间的差距全部体现在自学能力上面。又有人问,既然是自学,为什么非要读研?回答是:因为读研就是为你买一份保险,就是买一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾,让你在自学过程中经得起诱惑,能够从容镇定地去追寻计算机理论发展的坚实足迹,从欧拉,费马,高斯,康托,图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证,你在家里面自学3个月,保证你会被失业的压力压得喘不过气来,何谈安心学习?
管理信息系统,设备驱动开发,工具软件开发,软件病毒剖析等等这些工作不太需要创造性,需要的是耐心和经验,需要的是对既有规范的准确理解,这类开发工作最适合在实战中提高,理论学习没什么作用。但是在人工智能,模式识别,图像压缩,虚拟现实,巨量数据检索,自然语言理解,计算机图形学等等领域,理论学习就占据着绝对的统治地位!这些领域的突破对人类的生活的影响是极其巨大而深刻的。某些领域处于一个极其快速发展的态势之中,比如计算机图形学,相信诸君能够从众多3D游戏的灿烂辉煌中体认到这种说法。在这些领域,如果没有扎实的理论功底,一切都是那么遥远,不管你花了多少时间在编程上面。
对于搞计算机的而言,英语就是你的母语!
读研之后,你的工作机会不是变多了,而是变少了。而且越是高手,他的工作机会和工作范围就越少。这是因为,越是搞前沿研发的公司,其数量越少,在这个圈子的人也就越少。你找工作的范围就越小,试问:如果微软的OS设计专家出来找工作,能够让他选择的公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学了高科技用不上,呵呵,你只会越来越感觉自己学的不够用。相信接到过猎头公司电话的人会体会得到。真正的高手从来就不会担心工作的问题,也从来不会到人才市场上去找工作。既然选择了理论深入,那么就应该把眼光放得更远。
第一阶段:
练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打
出来.1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成树(先写个prim,kruscal要用并查集,不好写)
3.大数(高精度)加减乘除
4.二分查找.(代码可在五行以内)
5.叉乘、判线段相交、然后写个凸包.6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)
7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.8.调用系统的qsort, 技巧很多,慢慢掌握.9.任意进制间的转换
第二阶段:
练习复杂一点,但也较常用的算法。
如:
1.二分图匹配(匈牙利),最小路径覆盖
2.网络流,最小费用流。
3.线段树.4.并查集。
5.熟悉动态规划的各个典型:LCS、最长递增子串、三角剖分、记忆化dp
6.博弈类算法。博弈树,二进制法等。
7.最大团,最大独立集。
8.判断点在多边形内。
9.差分约束系统.10.双向广度搜索、A*算法,最小耗散优先.第三阶段:
前两个阶段是打基础,第三阶段是锻炼在比赛中可以快速建立模型、想新算法。这就要平时多做做综合的题型了。
1.把oibh上的论文看看(大概几百篇的,我只看了一点点,呵呵)。
2.平时扫扫zoj上的难题啦,别老做那些不用想的题.(中大acm的版主经常说我挑简单的来 做:-P)
3.多参加网上的比赛,感受一下比赛的气氛,评估自己的实力.4.一道题不要过了就算,问一下人,有更好的算法也打一下。
5.做过的题要记好 :-)
计算机研究生英文简历在个人简历上胡编乱造的求职信息是一个大忌,招聘官阅人无数是谎言就会被看穿,最后只会让招聘官对这种个人简历十分反感。个人简历需要以诚信为本,不然就失......
刀豆文库小编为你整合推荐8篇计算机研究生自我鉴定,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
在硕士学位论文即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的导师,他在学习和科研方面给了我大量的指导,并为我们提供了良好的科研环境,让我学到......
刀豆文库小编为你整合推荐4篇计算机研究生毕业论文,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
刀豆文库小编为你整合推荐4篇计算机研究生英文简历,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
