乱谈计算机、转专业、考研

来源:互联网 发布:淘宝新开店卖什么好 编辑:程序博客网 时间:2024/05/06 16:27

 

 

  • 作者:Rockics(http://blog.csdn.net/Rockics  )
  • 转载请注明出处

 

既然是乱谈,那就是没有很好的组织,想到什么谈什么。也许有网友说了,IT民工真的那么好么?正所谓萝卜白菜,各有所好。我真告诉你说,我真的很喜欢这个行业,真的很享受看到自己冥思苦想的结果在计算机上跑起来的那种感觉,你相信么?我估计你也是嗤之以鼻,但是事实是:我真的很享受。开头这么一说,主要就是表明,本文不打算过多讨论计算机这专业好与不好,我也说不清。全凭感受吧。前段时间到了百度实习以后,有一次跟老婆聊起来说:多亏了转专业呀,以前那些付出,还是值得的。老婆不假思索,脱口而出:那当然了。哈哈,得到老婆认可,此生足矣。

 

清明时节雨纷纷,不过今天的北京艳阳高照,可我还是羽绒服在身,唉,感冒好几天了。鼻子难受。酝酿着出去真人CS,也不知道阿发给不给力?

 

穷忙了几天,今天全国人民都歇着,我也闲来无事,写些无营养的文字,如果有幸对那位看官起到帮助作用,不胜荣幸,如果不小心浪费阁下宝贵时间,欢迎拍砖喷骂。反正我这大叔是不会随便生气的,(已经好几次被小朋友亲切的称为叔叔了,要不是他们那一张张可爱的笑脸,我非要咆哮不可)不必为我身体考虑o(∩∩)o...哈哈。

 

本口水文章源于一年前给大一新生入学的一次讲座资料。这次讲座主题是跟大一新生说说考研的流程(大一?考研?是这样的,委托我整理这份资料的两位同学是积极分子,他们带一下低年级同学,发挥一下当头作用嘛,也算是D培养的一个过程。一年级的小朋友希望了解一下考研,于是乎。其实未雨绸缪无可厚非,不多说)。讲座的题目是:夯实基础,不惧考研

 

于是开始忽悠

 

嗯,大家好!很荣幸能够给大家整理这份资料,讲讲考研的基本流程。本来想从网上整理一份资料的,但是国旗跟我说要有自己的感受,结合自身体验,那好吧。是这样的,07年我从钢院材料学院毕业,由于我异常特殊的原因(请不要往成绩方面考虑,呵呵),07年1月份我不能参加研究生入学考试。当年5、6月份我正式复习考研,因为对计算机的强烈兴趣,我选择了跨专业考研。事实上,06年12月份我就有这个打算了,只是当时没有什么实际行动。当时有点不知天高地厚,报考了清华大学计算机系,08年1月我第一次考研,当时走进清华大学的六教,感觉挺神圣的。报考清华有个好处,就是可以上电视,当天央视新闻30份,果然有我埋头做题的情景,哈,视频我还留着呢。考研结果挺让人难以接受的,数学还过得去,专业课惨不忍睹,那个时候还没有全国统考。那年清华大学计算机的复试线是320分,专业课要求80分以上,我的分数总分单科都没达线。

 

总结失败教训,第一就是专业基础太差,复习的时候没有投入足够多的时间,对自己实力没有把握好,自以为做个几个小网站,计算机就很牛(之前真这么认为)。那年的计算机还不是全国统考,清华命题,难度比较大,我一电子科大的研友才考了38分。那年专业试题考了4门课:数据结构、操作系统、计算机组成原理、计算机体系结构。重点是前三门,没有考网络(现在计算机实行全国统考,考试科目是:数据结构、操作系统、计算机组成原理,计算机网络),据说体系结构在复试笔试时候占比较大的分量,我没有机会参加。我记得那次考试,操作系统部分我几乎全部空白,由于平时看操作系统教科书的时候,觉得这门课很简单,就一些概念,稍微理解一下就没有问题了,但是考场上的题目很灵活,反正我是丈二和尚摸不着头脑,压根不知道题中所云何意。

 

如果看官们有现在是大一的,应该都还没有接触专业课吧。可能没有什么概念,但是到时候可能很多同学会有这么一种感觉:这些课好虚幻,除了理论还是理论。这个时候建议大家实际操作一下,比如说,数据结构与算法设计时候,把算法实现了,然后看看有没有机会改进,改进的时候,带着一种分析的态度,就是说你得提供有效的数学证明过程,证明你的改进比原来方法更好,再有就是国旗跟你们常说的,参加ACM,我一高中同学,厦门大学的,痴迷计算机,没事就啃算法书,后来去东京参加了ACM全球总决赛,上研时候有机会去Google实习,现在这哥们就在五道口上班;再比如说,操作系统,反正才大一,如果立志从事计算机工作,何不自己实现一个操作系统呢?现在有本书,叫做《Orange’S:一个操作系统的实现》,上交大的于渊写的,不错的书。有兴趣的同学可以看看。组成原理这门课,要很重视实验环节,落实到考研这事情上,就是要做适当的题目,哈工大唐朔飞老师的《计算机组成原理》,有配套的习题,很多考研的同学都看这本书,时间多的话,做做题目,大家才大一,时间多的是,一定树立一个观念,那就是:我要把计算机的专业基础打好,即使我不考研。不要认为只要考研的同学才应该好好学习。同学们都有计算机,都可以上网,有时间留意一下各大公司的计算机笔试题,你就知道基础到底多重要了。不管怎么说,无论是否考研,专业基础,都应该好好巩固。

 

08年清华考研失败的教训,第二,没有好好把握时间,总觉得还有很多时间。记得那个时候考研,可能是没有充分认识到考清华的难度,几乎每天都是10点多才起来,开始看书已经中午12点多了。记得当时还有个研友说我:你这样也考清华?我当时不以为然。咋地,哥牛X,现在想想多么的可笑。考研是个漫长的过程,当然,漫长不意味这这个过程很痛苦。我就发现我的一些研友,每天都开开心心的8点开始看书,晚上10点多回去睡觉,从开始复习考研到初试开始,很有规律,从不轻易放纵自己。可能有的同学说,天啊,这有多无聊。是!挺单调的。可人家就坚持下来了,而且一路心情愉快,身体健康,后来功德圆满,哈。这里,提醒大一的同学,虽然考研离你们事实上挺远的,但是既然要我跟你们说考研经验,真的建议以后考研复习时候,找个好的研友,定期锻炼身体,研友,身体,非常重要。考研不但需要足够的耐力和恒心,更需要强大的动力和鼓励。研友们处境相似,有着共同的话题,也有着相同的压力,可以互相监督,互相促进。当疲惫得想要放弃时,看到研友仍坚持不懈,就会受到一定的鼓舞。复习过程中会遇到很多困惑、疑难,研友在一起能够交流对某个问题的观点,以复习经验。例如,如何安排时间、复习进度,如何更高效的复习某个学科等等。考同一所学校的还可以分享借来的笔记、往年考研题目,以及所考专业的最新信息。当然这是好的研友所起到的作用,不好的研友,消极作用也很大,不详述。身体是革命的本钱,尤其是在考研的时候。说实话,考研的时候,压力挺大的,尤其是那些考名校热门专业的同学,真的12月份以后就是拼毅力,拼身体了,呵呵。

 

09年第二次考研,这次我不报考清华了,报了北航,如你所料,failed again。不过这次过了北航复试线了,有幸参加了北航的复试。09年计算机第一年统考,全国考的都很不好,北航的分数却异常的高,因为北航的报考人数将近2000人,录取150左右,最后算上工程硕士招了200人左右。09年以前北航复试都没有笔试的,直接上机,面试。可能是由于第一年全国统考,那年第一年笔试,而且是笔试通过了才有机会面试。笔试几乎宣判我的出局了。记得笔试题目包括数据库,数理逻辑,编译原理,数字电路,还有一门忘记了,(据说那年哈工大也笔试了,考试科目多达15门,我没有确认)虽说这些都是计算机专业基础,由于我是跨专业的,笔试没有通过,因为我之前压根没有想过那年会笔试。备战北航计算机的时候,我吸取上一年失败教训,我复习的比较认真。虽然说,最后没有考上,但是这次没那么多遗憾,呵呵,尽力了,因为。

之后便是调剂过程,这段时间也挺难熬的。由于我没有计算机的专业背景,尽管我的分数那年算是比较高的,一些比较好的研究所,还是不太愿意要。我记得第一次和信工的杨老师联系调剂事宜时候,听说我是北科的,蛮高兴,然后听说我是材料专业的,就直接把我给拒绝了。因为别的原因,我只考虑北京的院校。北航复试失败以后,我本科的毕设老师帮我联系了科大的计算机,老师都很好爽,说只要需要调剂,马上通知我,保证录取。后来科大计算机确实需要调剂,但是领导说了,都是校内调剂,不考虑考外校的考生。郁闷的我去了中国石油大学面试,算上第一志愿的,我的初试成绩第二,可还是很不幸被他们录取为工程硕士(异常的怒)。那个时候已经比较迟了,4月底,心里很有些着急。从石油大学回来那天下午,我回寝室打印了一份我的简历,电话都没打,直接冲到杨老师的办公室,接下来的事情大家都能想到,否则我不会在这里了。说这些,就是想跟大家说,如果没有被报考院校录取,考虑调剂的话,要积极主动,电话,上门,都很值得一试。

由于我的英语比较差,政治又没有啥可说的,仅就数学和专业课谈一下复习经验,有点应试的感觉,哈。大家可以把基础打好,多参加各种比赛,争取保研。

 

数学

几本推荐的教材,课后习题解答,我只做了一遍。大家现在都大一,上数学课的时候,好好听课,打好数学基础,你以后会发现,复习考研数学很轻松。复习全书推荐李永乐的吧,我做了2遍(第一遍做了大概2个月,做的比较辛苦,不会的题还是很多的。一般都是做完后觉得有意思的题会接着在脑子里面回想一下证明方法。第二遍20天左右,这时候就主要是总结同类题型的解题方法了。)后来也做过陈文灯的,做到一百多页就不想做了。感觉他的题目要么超难,要么超简单(不过有可能是我做过李的以后才做的陈的,所以更习惯李的套路才会有此感觉吧!)线代和概率还是推荐李的,陈书上微分方程的算子法和求积分的那个表格法还是值得一看的,不过今年好像没什么用处。然后就是经典400题,还蛮经典的。 刚开始要将近4个小时才做完一套,但基本上每套都能拿110吧。 真题是李永乐的,推荐一下。因为他是把每一种题型都放在一起,前面是卷子,后面的解答相当于是专题的形式,把每一年考过的同一类型的题放在一起。最后没时间,想临时抱佛脚的同学可以买来当总复习。最后的试卷用了启航最后五套题和合工大五套题(网上下的)。数学没看过视频。数学就是多练,没什么捷径可走。

 

计算机

由于有过一年专业课复习经验,第二年复习起来比较轻松。但是还是不敢大意,买来了教材和试题。数据结构我用北航原来考研指定的,很不错。组成是白中英的和唐朔飞的都看了,白的是在图书馆借来看看的。推荐唐的吧,白的上面有些错误。数据结构还买了一本机械工业出版社出版的《算法与数据结构考研试题精析》,就是传说中的1800题。教材和习题每一本都看或做了2遍以上,计算机我没怎么做模拟题,因为第一年统考,很多莫名其妙的模拟题,很多错漏,都是出版社临时找几个人凑成的,没心情去做。  视频也看过很多,从头开始学的。计组大三上看过吉林大学刘子良的,当时看的一头雾水,其实什么也没记住。考研期间看了罗克露的,感觉不错。数据结构还是看的吉林大学的,老师名字记不住了,讲的很细致。感觉数据结构还是要多练,如果之前有ACM经验,那真是小菜一碟,如果临时抱佛脚,像我这样,跨专业的,把1800题做两遍应该就没什么问题了。操作系统看的是吉林大学的,印象中还可以。网络我没怎么用心,因为之前考过网络工程师,(吹嘘一下,全国25名,哈哈)。刚开始学专业课的时候是很辛苦的,计组的那几个原码补码乘除法之类的看视频都看了五六遍,数据通路更是一遍遍的看,基本是刚开始做题是一题也做不出的,每次看完答案以后,会马上把答案在默写一遍,等到过了一段时间以后再回头看的时候,发现自己又忘了,于是再看答案再默写,如此反复多次,一度怀疑自己是不是真的适合学计算机,还好最后坚持了下来。所以刚开始觉得吃力的同学不必担心,多看几遍,多做些题,慢慢会好的。

 

网上很多考研论坛,大家有兴趣的话可以看看。其实说实话,国旗跟丹丹姐跟我说要我跟你们分享考研经验时候,我挺惊讶的,毕竟你们才大一。未雨绸缪是件好事,但是要防备过犹不及。大家现在大可不必把考研当回事。好好上课,打好各方面的基础,这才是王道。我觉得计算机的学生,逻辑,编程,外语,这三种能力尤为重要。希望大家好好利用大学四年时光,以以不变应万变。再说了,争取保研,保到清华去,岂不是更好,考什么研呀,哈;又再说,算法、编程厉害了,本科毕业进名企,不也是挺好的么?即使大三决定考研,强悍的专业基础,数学能力,绝对让你如鱼得水。

 

开始觉得没啥可写,哪知道一发不可收拾,胡说八道一大堆。上面基本就是原先那讲座全文,没有做什么改动,文字功力有限。扯完基础,扯完考研,扯完转专业,再口水一下所谓计算机基础。网上有一篇很不错的文章,好像是从南大bbs流传出来的,叫做漫谈计算机科学,很容易找得到,大家估计也都看过。这里,向大家展示另一番景象,那就是乱谈。这主要是以水木上一个帖子展开。

*******************************************************************************************************

 

【基本背景】

 

  上了研以后,又慢慢懈怠下来了,忘了教训。本科四年,稀里糊涂的过来了,可以说一无所获。经过两年辛苦考研,终于得到了系统学习计算机科学的机会,虽然学校不是很理想,但是也算是上帝给的恩赐吧,毕竟,又有几个人那么幸运的获得这样的机会呢——学习自己喜欢的东西,并把它视为自己的信仰!

 

  希望自己毕业后有个好的去处。还需要努力,比考研那段时间更努力!!计算机系的学生,最需要的技能,可以说有下面的一些吧:扎实的计算机理论基础、编程、数学、英语。看着这几个要求,目前我一个都不具备,哎!!还TM的浪费时间玩游戏!!罪过,罪过!!

 

  我本科学的是材料,虽然通过了考研,对计算机“科学”还没有多大的概念,明知很多东西该补补,但是,没有指导!!

 

  计算机理论基础:数据结构,算法,操作系统原理,计算机体系结构,计算机网络,离散数学,编译原理,这些课程,应该说是计算机专业的内功吧。

 

  数学:数学只学习过高等数学,线性代数,概率论与数理统计!这些知识,对于想要在计算机科学上有所成就的人来说,是远远不够的。但是,说真的,虽然我有一大堆的数学视频,但是真的不知道该学那几门功课!!望有心人士指点!!

 

  编程:本科几乎没做过什么编程训练,目前也就在POJ上做做题,大家觉得简单的题目,我都要花很多时间去完成,哎,这个,慢慢来吧,使用的语言的C,参考的书是K&R的宝典。

 

  闻水木大牛成群,希望得到点点建议,O(∩_∩)O谢谢!!

 

*****************************************************************************************************

众神牛纷纷高谈阔论,且听我慢慢道来:

 

-----------------------------------------------------------------------------------------------------

等你工作了,就会发现编程只需要会写if和for就行了,然后来回来去写。

 

—— 某大牛

-----------------------------------------------------------------------------------------------------

进入社会,忘掉编程,学会忽悠,掌握信息,积累人脉,抓住机会

-----------------------------------------------------------------------------------------------------

人是最难搞的 还别轻易丢掉技术 被人整死了 还能留个养家糊口钱 就跟雷曼高管出来以后还能当个装修工一样

否则只能到麦当劳刷盘子

 

-----------------------------------------------------------------------------------------------------

首先问一下你原来什么专业?

然后希望你能够坚持下来,2年也可以有一点点成就了

值得注意的是不要试图一口吃个胖子

计算机科学是一个很广泛的范畴

像网络、数据库、操作系统、图形学、人工智能。。。

这些在就业时也会有很大区别

建议你找准一个较小的方向努力,不要贪多求全

数学用到时再补也可,不要试图全面完整的学习数学

英语怎么努力也不过分

 

-----------------------------------------------------------------------------------------------------

想两年毕业就把数学和英语还有什么扎实的理论基础都给忘了吧~

 

-----------------------------------------------------------------------------------------------------

搞技术最忌讳心浮气躁。不要想着突击毕业,你这种情况,现在最欠缺的

就是把基础知识给补一下,作为一个合格的IT本科生,以下基本书可以说是必读的

推荐一些:

算法与数据结构方面,可以读Data Analysis and Algorithm Analysis in Java

2007版,另外配合Java实践,从一些小项目做起,慢慢体会

操作系统里,必读推荐Stalling的Operating Systems,有电子版

http://williamstallings.com/OS/OS6e.html

计算机体系结构里,两本不可错过的是大名鼎鼎的CSAPP和The Art of Assembly

Language Programming,如果你一点C也不懂的话,至少先看任意一些C的入门书,这样以

上两本就可以看懂。

计算机理论基础方面,强烈推荐Introduction to Automata Theory, Languages, and

Computation.如果你是计算机院校毕业的,一问图灵机,PDA,WHILE,goto循环的原理都

不懂,就出洋相了。

软件工程方面,参考 Software Engineering. 8th edition. Addison-Wesley, 2007 ,

至少学会用UML建模,也足够了

数据库,吃透关系数据库,至少会写SQL,TRC,DRC,在DB2,Oracle里随便选一个弄熟,可以

看看经典的database+system+concepts。

当然,这些都需要有比较好的英语阅读能力。

数学方面,高数不用学太多,比如复变函数概率分布等等了解一下即可,线性代数是重点

,另外逻辑学,也就是离散数学是重点。这几项比较简单,多加练习即可掌握。除非你想

将来在算法方面发展,否则不要在高数方面投入太多而丧失时间和兴趣。

 

-----------------------------------------------------------------------------------------------------

看看就业需要啥就补啥

 

-----------------------------------------------------------------------------------------------------

你不可能学到系统的计算机知识。继续读博吧。

 

-----------------------------------------------------------------------------------------------------

我ft,中国有10%的本科计算机能达到这个水平

中国计算机还真有希望了

【 在 ksj (看世界) 的大作中提到: 】

: 搞技术最忌讳心浮气躁。不要想着突击毕业,你这种情况,现在最欠缺的

: 就是把基础知识给补一下,作为一个合格的IT本科生,以下基本书可以说是必读的

 

-----------------------------------------------------------------------------------------------------

1、C语言+数据结构

2、数学+算法

3、操作系统原理

4、数据库

5、根据专业方向看点结合专业应用的东西

 

-----------------------------------------------------------------------------------------------------

说实话,这个问题你应该去问问你的导师。

一方面专业上他比较熟,另一方面这也是个套近乎的机会。

 

-----------------------------------------------------------------------------------------------------

数学离散和模糊应该要补吧,其余不知道,等学计算机的来说....

 

-----------------------------------------------------------------------------------------------------

多编程多动手

选择一门开发语言,选择一个操作系统,选择一个应用对象。

 

-----------------------------------------------------------------------------------------------------

关键是选择一个项目,然后围绕那个补专业

 

-----------------------------------------------------------------------------------------------------

咱俩差不多。。我讲讲经验。

首先你要确实你想学哪门语言。语言很多,不可能都学。要选一门

学习基本的语法,找本经典教材好好看三遍。把课后题 好好做一遍。这个至少要三个月。还得需要有比较好的编程天分。

第三步就是实践。用这个东西去实际做一些东西。大部分的语言比如说C和C++你只能进行一些算法,做不出什么实用的东西,所以要跟一些外部的东西结合,比如说VC什么的。这样才能做出些实用的东西。才会有成就感。这个要三年。边学边练。功到自然成。

学编程是找罪受的事情。嗯。调一个错误调一天,我是经常干的。

 

-----------------------------------------------------------------------------------------------------

要看 具体专攻的方向的

比如 数字电路 计算机原理 接口 操作系统原理 编译理论 c语言 这些 就对我们体系结构 的人 很重要

但是 如果搞 图形处理 可能 线性代数 矩阵论 信号系统 最优化理论 计算机图形学 就很重要

如果搞 分布式计算 网络 什么的 也都不一样阿~

 

-----------------------------------------------------------------------------------------------------

数据结构很简单,算法是软件的核心,找个算法导论看,也许还要学组合数学

如果搞信号图像视频方面,那就超难的随机过程

 

-----------------------------------------------------------------------------------------------------

design pattern 超深奥阿~

每次 写东西 都觉得自己这个方面差

不过 这也是需要经验的

光看书 遇到实际问题 还是不能很好的解决

就跟 数据库 分表一样

经验丰富的关系表结构 和 rookie的 效率差很远

【 在 treesnail (尘归尘土归土) 的大作中提到: 】

: 这个要看具体应用了。呵呵

: 我倒是觉得软件工程和设计模式要好好学学。呵呵

 

-----------------------------------------------------------------------------------------------------

看做什么啦。有些东西如我做的最关键模块都用汇编

如果 不是编写操作系统和编译器的人

这些 不用了解也罢了

【 在 hurricanezhb (风无雪-流星的眼眸) 的大作中提到: 】

: 就是说,具体你要求一断程序运行到最快,或写汇编,那些什么cache呀,寄存器呀什么的

: 指令集啦,必须非常了解

 

-----------------------------------------------------------------------------------------------------

找你研究方向相关的东西看。或者还可以找大公司(比如MS或者Google)笔试面试题目看看,避免被忽悠。想搞research的话,找paper看。

 

-----------------------------------------------------------------------------------------------------

大多数人眼里的计算机,北大青鸟就能搞定……

计算机科学也是一大门,就跟材料也得往下细分一下的吧?你都不说你具体方向,怎么给你建议?

有啥的啊,不就是补补东西的事情么,你材料都能读下来,还怕个甚计算机专业啊。都是一样样的本科学位和硕士学位么,咋看着你这帖子透着一股子不自信呢。

你都有过材料专业的大学教育背景了,这问题自己也能解决吧。随便搜个学校的专业课程表,你都能知道该看点什么,看起来才能领会起来,有时候别人说也没什么用处,还有个人爱好和环境在里面呢。

自信点就行,哥们。

 

-----------------------------------------------------------------------------------------------------

想系统地学习一下“计算机科学”的话,可以参照这个网页:

http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm

找一下感兴趣的课程来看看,里面的一些“推荐阅读”相当好。包括可以通过其来了解计算机本科生需要掌握哪些知识。

不过如果是找工作的话,那就跟楼上说的差不多了,看看面试题感受一下吧。

不论如何,最重要的还是读书,真正读了才知道要学什么。

 

****************************************************************************************************

 

自己加油!!现在两年时间快过去了,才发现,其实我们有很多时间来改变自己,提升自己,然而很多时候,我们都把大部分时间花在抱怨时间不够,花在别的毫无意义的事情上了。我不反对做毫无意义的事情,但是我觉得不做有意义的事情就是浪费生命。

 

 

哈哈,这就是所谓的漫谈,在我这里就是乱弹。清明嘛,思绪如鬼魂,乱窜。

 

原创粉丝点击