什么人適合上計算機研究生--計算機白癡的獨白
準備考研的同時,只有兩條路可走——心理學和計算機。我也不知道我是否適合學習心理學,但我感肯定我不適合學計算機,我坦然的承認,除了因為英文的限制外,因為神經(jīng)衰弱,大學幾年許多課程都只是去考了試, 真正學了四分之三的課程也只有離散數(shù)學。雖然教學中教了上十門課程,也涉及操作系統(tǒng),高級語言、數(shù)據(jù)庫原理,計算數(shù)學等核心課程,那時因為當前這些計算機教師水平太差了,所以看不出我的問題,甚至還說我講得不錯,功底扎實。汗顏:)
其實我是一個計算機白癡! 現(xiàn)在,我準備考心理學研究生,我也不知道我是否適合學心理學,但我知道心理學要求的基礎水平,我的認識很膚淺,也沒有仔細歸納研究,不要見笑。1)英語一定要好,否則,你別去讀研了,沒有任何收獲,這點跟計算機一樣,處于母語位置。我們心理學研究生階段基本上是翻譯外國的資料寫我們的東西,只是文化不同,文字不同,分析的參數(shù)模型改變而已,理論和原理基本沒有什么獨創(chuàng),除了黃老師這樣的人物,大家也知道,他家的師母可是數(shù)學系的教授,許多數(shù)理的研究好象他們都是合作研究的。還有徐展老師研究的是創(chuàng)新思維等認知方向,大家都曉得,他的愛人可是我們計算機系的王牌數(shù)據(jù)結(jié)構(gòu)老師啊,讀的是心理學與計算機交叉的人工智能博士; 2)要有相當?shù)臄?shù)學水平和統(tǒng)計學知識,這點比計算機要求底得多,但你連初等數(shù)學與統(tǒng)計原理學起來都吃力的話,建議你不要讀心理系研究生;3)要有相當?shù)倪壿嫹治瞿芰捅磉_領悟能力,心理學是研究人的科學,不管是哪個方向,肯定離不開與人打交道;4)要有良好的道德品質(zhì)、心理素質(zhì)與個人修養(yǎng)。這點不多說,你們看心理學院的學得比較好的研究生,還有老師的素養(yǎng),你就能明白,就象我們學校數(shù)學系的學生的素養(yǎng)在理科中的優(yōu)勢是無疑的; 5)要有一定的人文修養(yǎng)和審美素養(yǎng); 6)要有相當?shù)闹巧毯土己玫那樯?,F(xiàn)rend的智商好象是195,我的一個朋友是心理學博士,智商是128,他說他們幾個博士有的智商是一百三十多,這點跟學計算機是一樣的。學計算機的也要有很好的情商才行,比如開復,張朝陽等,誰的情商不是高于常人。我個人覺得,我比較適合,從我的心理測量可以看出。 哪些人才適合讀計算機的研究生呢?參照些資料,歸納起來應該具備以下幾點。 (注意,不是我的獨創(chuàng),我只是歸納以下而已,主要參照一位開發(fā)人員的文章,以此說明,別無他意。希望作者與我聯(lián)系,特此表示感謝。) 1.讀計算機研究生最好要有實際際開發(fā)經(jīng)驗 這里所說的“有實際開發(fā)工作經(jīng)驗”通常應該具備:1)你已經(jīng)認為C++和匯編語言都是很簡單的語言,并能夠自如地運用; 2)你完全理解STL為什么這么重要;3)你能夠在30分鐘之內(nèi)想到正確的五子棋AI算法設計思路和方向;4)你能夠獨立地解決所有的編譯與鏈接問題,哪怕你從來沒有遇到的問題,你也不需要詢問任何人;5)英文網(wǎng)站是你的首要信息來源; 6)能夠讀懂英語寫成的國際標準,比如NTFS磁盤格式標準。 7)你經(jīng)常站在集合論的角度思考算法問題;8)能夠理解一個簡單的驅(qū)動程序,能夠理解一個簡單3D交互程序;9)你能夠認識到線性代數(shù)和概率論在實際編程工作中的極端重要性;10)你完全理解COM的設計思想,尤其能夠理解COM為什么要設計成這樣; 11)當我說到虛函數(shù)的重要作用時,你不會急著去找書來翻; 12)你能夠說出C++為什么比其他語言優(yōu)秀的理由,記住這種理由應該來自于你的開發(fā)體會,而不是因為其他人都這么說。此外還有很多判斷標準,但如果你同時具備5條以上,可以認為你已經(jīng)具備相應的開發(fā)經(jīng)驗了。在這種狀態(tài)下讀研,你將取得讀研效益的最大值。 當然,如果你有實際開發(fā)工作經(jīng)驗,感覺自己的水平和實力進入了一個高原期,迫切需要從理論上提高,那么計算機學院是唯一選擇。因為計算機學院才能讓你在理論上更上一層樓。當然能不能更上一層樓最終還是完全取決于你自己。需要特別說明的是,工作經(jīng)驗并不一定等于開發(fā)經(jīng)驗,我見過很多工作2-3年的人,但是沒有一點開發(fā)經(jīng)驗。比如我。我原先的室友,研究生畢業(yè),現(xiàn)在留校當老師,他好象從來都不寫程序,好象也寫不來程序。還需要說明的是,考計算機的人未必個個都是高手,嚴格來說,大部分都不會編程序。也就是說,庸庸碌碌之輩仍然占絕大多數(shù)。我的許多研究生畢業(yè)的師兄都只有到高校教書等,甚至找不到工作。所以不要寄希望于拿一張研究生文憑出去賺高薪。但是,對于有實際開發(fā)工作經(jīng)驗的人,要想自己在3年之中有一個真正的提高的話,計算機學院提供了廣闊的平臺。 2.為什么要讀計算機研究生(目的) 讀研最重要的是要明白你自己要干什么,不能等導師來告訴你你應該干什么。研究生的優(yōu)勢在于理論功底深厚,思維具有穿透力,當然編程能力首先要過關(guān),不要讀完研究生還不知道MFC程序的WinMain函數(shù)在哪里。所以,研究生期間,你一定要做有理論深度的算法設計,比如大規(guī)模數(shù)據(jù)的搜索算法,性能是首要考慮因素,不要奢望SQL函數(shù)能夠幫你解決問題,所有的問題你都必須自己解決,你必須解決內(nèi)外存交換的性能瓶頸。再比如極品飛車的3D場景生成,圖形變換,碰撞檢測,物性模擬,紋理映射,燈光模型等等,這些都是可以保證你能拿到2萬以上月薪的技術(shù)。如果你認為這些東西太難,不可能做得出來的話,那么你就不適合讀研。真的,要是你認為讀研之后還是要去搞一般的程序設計,如信息管理系統(tǒng)之類的軟件,那么你讀研的價值就完全不會得到體現(xiàn),因為這些工作根本就不需要讀研。 如果你只想成為軟件開發(fā)高手(比如認為會編驅(qū)動程序或殺毒軟件就是高手的那種),建議工作,不要考研;完全沒有工作經(jīng)驗的,也不建議考研,你進來了只有瞎混一通。如果你有上述工作經(jīng)驗且想成為高級軟件工程師(能夠獨立理解并設計出快速傅立葉變換算法的那種軟件工程師)的話,那么強烈建議考研??佳凶屇阌?年放松思考的機會,也有3年讓你思想和技術(shù)積累沉淀的機會。非常難得的機會。不考研的話,這種機會就是一種奢侈,可望而不可即的那么一種奢侈。同時,不管你是哪一種情況,都不建議考軟件學院。除非你是女生,把能夠成為一個研究生當著一生最大滿足的那種女生?! ?br> 3.讀計算機研究生投入與產(chǎn)出分析 1)機會成本。這是個經(jīng)濟學問題。讀研的機會成本的確是很高。任何人都可以簡單地計算出來。所以,我也不贊成所有的人都去讀研。讀研只適合那些痛感數(shù)學在編程中的極端重要性的人。如果對理論工具和理論思維的極端重要性沒有切膚的認識,那么讀研的價值幾乎為0;讀研的好處在于:A,把你自己放在一個學術(shù)和工程的交叉點上;B,讓你具備了進入微軟等世界頂級軟件研發(fā)機構(gòu)的可能性;記住只是可能性。但是不讀研這種可能性為0;C,如前所述,如果沒有讀研的機會,你也就沒有靜下心來好好鉆研幾年理論的機會;一邊工作拿高薪,一邊深入地學習各種理論,諸位認為這可能嗎?我反正認為不可能,我覺得學習鉆研理論最需要的就是一個長期安靜獨處的環(huán)境,一邊工作一邊讀書是不可能有這樣的環(huán)境的,你會覺得每天都在疲于奔命。而讀研正好可以提供這樣一個環(huán)境。我同時還反對整天跟著導師的屁股后面跑,這樣會浪費很多時間。讀計算機的研究生,主要依靠自己去查閱最新文獻,自己去研讀文獻,和導師的口頭交流一個月一次就足夠了,前提還需要導師的水平足夠牛。如果導師的水平不牛,這也沒關(guān)系,不理他就是了,自己做好自己的事情即可?! ?)教學質(zhì)量。就如網(wǎng)上一個人說,全國都是“洪桐縣中無好人”,尤其在計算科學領域,大牛極少。那為什么還要去讀研?大哉問!把讀研的收獲寄托在名校或名師的名我認為氣上,是注定要失敗的。讀研全靠自學,研究生之間的差距全部體現(xiàn)在自學能力上面。又有人問,既然是自學,為什么非要讀研?回答是:因為讀研就是為你買一份保險,就是買一份你自學三年之后不會失業(yè)的保險。這份保險主要是一種心理上的后盾,讓你在自學過程中經(jīng)得起誘惑,能夠從容鎮(zhèn)定地去追尋計算機理論發(fā)展的堅實足跡,從歐拉,費馬,高斯,康托,圖靈等巨匠那里尋找方法論的珠寶。倘若沒有這份保證,你在家里面自學3個月,保證你會被失業(yè)的壓力壓得喘不過氣來,何談安心學習? 3)理論與實踐。這沒有定論,如前所述,管理信息系統(tǒng),設備驅(qū)動開發(fā),工具軟件開發(fā),軟件病毒剖析等等這些工作不太需要創(chuàng)造性,需要的是耐心和經(jīng)驗,需要的是對既有規(guī)范的準確理解,這類開發(fā)工作最適合在實戰(zhàn)中提高,理論學習沒什么作用。但是在人工智能,模式識別,圖像壓縮,虛擬現(xiàn)實,巨量數(shù)據(jù)檢索,自然語言理解,計算機圖形學等等領域,理論學習就占據(jù)著絕對的統(tǒng)治地位!這些領域的突破對人類的生活的影響是極其巨大而深刻的。某些領域處于一個極其快速發(fā)展的態(tài)勢之中,比如計算機圖形學,相信諸君能夠從眾多3D游戲的燦爛輝煌中體認到我的這種說法。在這些領域,如果沒有扎實的理論功底,一切都是那么遙遠,不管你花了多少時間在編程上面?! ?)知識結(jié)構(gòu)。首先聲明,我不是一個純粹理論激進分子,即認為除了理論之外,一切都不重要。我認為,純熟的編程技能是最基本但也是最必不可少的技能。沒有這個基礎,一切計算機理論就是空談(研究圖靈可計算性理論的研究者除外)。有了這個基礎之后,一些基本理論學習方向必須重點突破。 4.讀計算機研究生應具備的理論素養(yǎng) 1,科學哲學。這是核心中的核心!可惜國內(nèi)不開這門課。不但不開課,而且還作為批判對象來引用,實在是遺憾至極!這是一門教你如何“釣魚”的學科,在一切科學研究中居于最核心的地位。它是古今科研方法和思維方法的集大成者,很難想象一個成熟的研究者沒有一套自己的方法論體系??茖W哲學最需要的是領會與總結(jié),它的思想與啟示會伴隨我們的一生?! ?,康托集合論,矩陣方法,離散結(jié)構(gòu),圖論方法,群論方法之間的緊密關(guān)系。最重要的認識這些理論對實踐的重要啟示和方法引導。我始終認為,如果你學了一門理論之后,卻不知道這門理論有什么作用,那么你的理論就白學了,你什么東西都沒有撈著。所以,學習任何理論之前,先問自己:它有什么用?在哪里用?如何用?帶著這些問題去學習理論,你才會真正地學到東西。用這三個問題去問你的理論課老師,他的回答就是判斷其實際水平的最佳標準?! ?,思維要有極強的穿透力,學會看透文獻作者沒有寫出來的動機。絕大部分大師都有隱瞞自己最具有方法論啟示意義的思考環(huán)節(jié)的習慣。牛頓和華羅庚先生都有這個壞習慣。這讓大家認為他們是天才,因為很多問題他想到了,我們想不到。但是為什么他們能想到,我們想不到?他們是怎樣想到的?沒有人告訴我們牛頓發(fā)現(xiàn)萬有引力定律時的思考過程,當然,牛頓可以慷慨地把他的思考結(jié)果告訴我們,但是,他那可以點石成金的“金手指”卻沒有教給我們。我們的任務就是要培養(yǎng)透過文章看穿作者背后意圖和動機的能力,在這方面,臺灣的侯捷和美國的Donbox是絕佳典范。這兩只老狐貍(呵呵,是愛稱)憑著其獵犬一般的嗅覺,抽絲剝繭,一個把COM背后的幕后設計動機揭開并暴露到了光天化日之下,另一個把MFC的宏觀架構(gòu)做了一次完美的外科手術(shù)。其非凡的思維穿透力令人驚嘆?! ∽詈螅⒄Z這個狐貍精。英語本身不重要,但是用英語寫成的文獻就極其重要了。所以,專門把英語作為一個重頭戲列出來。大家不要相信英語無用論的鬼話。對于搞計算機的而言,英語就是你的母語!英語是科學家的工作語言,就如普通話是教師的工作語言一樣,一個不會普通話的老師,一定是最早該下課的老師,一個講著方言的人,一定是沒有什么文化含量的人,一個到處是方言的學校,一定是三流或者三流一下,甚至是Y學校,一個只講方言的寢室要么是不團結(jié),要么是地方學校,要么都是一群沒有眼光的人,沒有什么出息。 其它的具體理論還有很多,但是都不如這幾個個方面重要,因為我覺得這幾個個方面是最具有根本性,全局性的能力培養(yǎng)環(huán)節(jié)。需要指出的是,很多高深理論對你的工作是無意義的,當心時間陷進去。一定要把效率最高的時間段用在最具有決定性意義的理論學習上。關(guān)于讀研之后的出路是否光明的問題。我們應該承認,讀研之后,你的工作機會不是變多了,而是變少了。而且越是高手,他的工作機會和工作范圍就越少。這是因為,越是搞前沿研發(fā)的公司,其數(shù)量越少,在這個圈子的人也就越少。你找工作的范圍就越小,試問:如果微軟的OS設計專家出來找工作,能夠讓他選擇的公司能有幾家?但是,這種公司數(shù)量的減少是以工資待遇的急劇上升為補償?shù)?,同時,你在工作中所受到的充分尊重也是在一般公司中體會不到的。所以不要擔心學了高科技用不上,呵呵,你只會越來越感覺自己學的不夠用。既然選擇了理論深入,那么就應該把眼光放得更遠。 綜合起來,我并不具備良好的計算機理論背景,盡管我對算法類的課程并不恐懼,對程序題自認為有一定的悟性,但是我根本就沒有什么編程經(jīng)驗,甚至對許多應用軟件都很陌生,況且我還許要相當?shù)臅r間惡補英語,我對數(shù)據(jù)也很敏感,但我覺得去做心理學的統(tǒng)計分析、理論假設,調(diào)查研究,似乎更合適。所以我覺得不適合讀計算機研究生,至少沒有這個時間,我把這些精力和我的基礎很好的應用于心理學上,無論是基礎心理還是應用領域,我覺得比較有信心學好的。希望大家給予指點,尤其上上次匿名的博友一定要來指點啊,你的分析還是很不錯的,謝謝。 中國考研指南網(wǎng) www.
|
|