名牌大學計算機碩士的困惑

       我是2005年考取了國內計算機專業名牌大學系統軟件專業的碩士研究生,現在正好是碩士二年級,馬上就要開題了。我被同年級人稱之爲高手,但內心深處其實非常困惑。
  第一次接觸計算機還是在2002年我大一下學期的時候,那個時候課堂上教的是C語言。因爲有點感興趣,也覺得自己是學計算機的,應該掌握編程,就在暑假買了一臺計算機。同時,暑假的時候,在一個師兄的建議下,我開始學習C++。C++比較有意思,語法非常豐富。從C++的對象模型到爲什麼C++能做到面向對象,我深有體會。然後2004年我又學習了Java,由於C++的基礎,Java我學的非常快。本科期間,課程比較緊張,沒有多少業餘時間參與項目。但我每一個課程設計包括畢業設計都是自己親自編碼實現的。從一開始學習程序設計,到現在,用過Turbo C,Borland C++Builder6.0,VC6.0,JBuilder9.0。但,我僅僅是用它們做作業,對於BCB的VCL,VC的MFC等框架沒有非常深入的研究。平日裏我也買這方面的書籍去看,瞭解這些框架的原理,但是我確實抽不出那麼多時間去實踐。讀研的時候,我們高級軟件工程這門課程,講授設計模式和MOF,我聽了非常有感覺,自我感覺功力大增。今年上半年,也就是研一的時候,做了兩個項目,一個用到了Jsp+JavaBean,一個是J2EE的分佈式應用系統,用到Jsp+Struts+EJB+Hibernate+Oracle。項目完成後,非常有收穫。對於系統的穩定性,併發控制,可擴展性,有了非常直觀、非常深刻的體會。但是,這種應用性的項目,除了做整體的體系結構設計外,具體實現起來其實沒有什麼太大的技術含量,寫代碼只要正確的表達出業務邏輯就行了,用不到什麼複雜的數據結構。難就難在工具的使用上(比如IBM的WSAD5.0或者RSDP6.0等開發工具),系統的部署(比如Websphere和Oracle在Linux上的部署等等,整個系統的部署)上。另外,業務邏輯主框架的設計是一件非常有意思的事情,因爲用到設計模式用的非常多。
  我從一開始接觸計算機就晚了。我學理論知識的時候,喜歡總結,我寫下來的專業課心得,已經累積下了不少。但是,本科和研究生就那麼幾門課程,而且都是基礎性非常強的。就是這麼幾門課程,幾乎佔掉了我全部的時間。我就是這樣一邊摸索機器,一邊學習理論。可到現在,很多專業知識也都忘的差不多了。比如數據結構,很多經典的算法,比如排序,查找,樹,圖等很多算法,性能分析,複雜度,我都忘光了,現在即使拿起來分析,心裏反而有點恐懼和發怵。我聽說找工作的時候,大公司的筆試題目很多都是這方面的。當時學的時候其實也稀裏糊塗的,主要也是不重視,自己有點迎難而退吧,當時就跳過去了。現在,對於萬行以上程序的調試,和彙編語言程序設計,我覺得自己仍然不過關。我現在僅僅是熟悉各種編程語言的語法,可以流暢的按照自己的意圖寫代碼。
  爲什麼我這麼擔心這個事情呢?因爲我現在的環境裏面,周圍有不少優秀的同學,從小學就開始接觸計算機,初中就自學了數據結構和算法分析之類的,大學以前就有大量的代碼經驗,我估計自己本科階段也就兩萬行代碼經驗,我看了微軟亞研院的要求是一個本科畢業生要10萬行代碼經驗。讀了大學,他們又繼續參加ACM程序設計競賽,接受賽前培訓,他們的動手方面的培訓經歷,讓我羨慕。舉個例子,他們可以非常快速的寫出在一個象棋棋盤上,給出一個起點,給出一個終點,一個棋子能否到達。或者再舉一個例子,他們可以非常快速的實現一些算法。
  我對計算機,談不上很大的興趣。有一句話說的非常對,知之者不如好之者,好之者不如樂之者。我覺得自己充其量算是一個好之者。我只是覺得自己是學計算機的,將來要靠這個吃飯,或者至少現在要立足這個專業。另外,學生的天職就是學習。我學東西應該還算認真。通過我的體會,我認爲,工科學起來一個最大的特色在於――實踐!只有有了豐富的實踐經驗,你不管看書還是看論文,看起來纔有感覺,才能迅速理解。如果你不實踐,你根本不知道別人在講什麼。你做起研究來肯定累,效率也肯定低,而且理解的還未必深。我現在的環境還算好。每個禮拜有學術交流,能聽到計算機領域各個方面的研究生做的報告。我本人的興趣,從計算機體系結構到操作系統,編譯器,網絡,都有一點。我本科畢業的時候的定位是,希望自己畢業後可以迅速過渡爲一名合格的程序員。現在整個人的視野都開闊很多了。希望自己碩士畢業後不僅僅是一名合格的程序員。我師兄經常批評我在分析系統的時候,站的不夠高,他說我一定要具備系統的概念,要能分析大的系統的框架。可我總是達不到他那麼高的高度或者說站不起來。
  馬上就要開題了。但是,在一起做課題的日子,我總感覺很自卑。因爲我的周圍有很多很早就接觸計算機的人,有讓我羨慕的比我豐富的程序設計經驗。我在實踐方面的不足和無知,讓我現在不是特別有信心繼續做下去。其實我知道,我已經比周圍大部分同學的實踐經驗都豐富,他們也都這麼認爲我。但跟這些人比起來,我就是小巫見大巫了。我認爲,一個優秀的計算機專業的學生,最起碼應該具備紮實的理論基礎和程序設計能力。可是我自己,上面我寫了,有那麼多不足,讓我覺得很不踏實。這些不足,跟我認可的人相比,讓我偶爾會很自卑,心裏還特別焦慮。我甚至連換專業的想法都有了。儘管平日裏我也被大家稱之爲高手,但我心裏清楚,很多人的水平都比我高,我只是個普普通通的還算認真學習的學生。或許,我光看到了別人的優點。或許我的很多觀念還不太對。現在做課題的時候,我的步伐總是慢。我目前研究的一個東西國外已經搶先搞了3年了,我頭一次接觸這麼大的東西,總代碼量甚至超過了Linux的源代碼。看文章的時候,也總是特別慢,看快了,我什麼也體會不到。我覺得是自己的水平還不夠高,所以看快了纔跟不上理解。我的英語不成問題,口語還是寫作,都非常流利。我師兄的教導是看的時候,一定要心裏主動去猜測,根據文章作者的思路馬上形成自己的思路,然後去跟作者在文章中的論述去對,看作者是不是跟自己一樣的思路,如果是一樣的,就不用自己看了,如果不一樣再仔細往下看。可是,我在看文章的時候,文章作者的思路卻不能啓發我形成自己的猜測或自己的想法,也就沒法去跟文章作者的思路去比對。
  我師兄對我的評價是,什麼都想學會是不可能的,必須用有限的知識做更多的事情。他們認爲我太拘泥於細節,性格上太認死理。我的學習方法,比較慢,現在總是跟不上課題的進度。我覺得課題進度的確太快了些。這個寒假我想了很多,發個帖子到開復學生網上,摘下面具,把自己所有的鬱悶和缺點都倒出來,跟專家交流一下,希望得到大家的指點。謝謝!
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章