是否應當鼓勵計算機專業的本科生積极參与科研?
按照官方說法,本科階段的目的在於打好基礎,全面了解掌握各領域的基礎知識並找到自己的興趣所在。
參與科研可以加深對某一領域的了解,但我們也看到現有的評價體系讓很多人為了獲得某些好處而熱衷於發表可能並沒有太大價值的論文。這是否是本末倒置,讓很多學生並沒有真正學好必要的基礎知識?以各位的了解,我們的對本科生髮表論文的評價機制是否合理?
謝邀。每天一篇長文還真是挺花時間的。
先介紹一下本人,我是清華大學計算機系本科,畢業後現在在卡內基梅隆大學(CMU)念博士,干很多亂七八糟的比如理論啊演算法啊並行計算啊圖形學啊以及蹭 @Yong He大神一起work過一些系統的project。
題主的問題問的很嚴謹,一看就是高端人士。所以把問題拆開來看,一共有如下幾個子問題:1)本科生是否應該科研?2)本科生如何在課業和科研中分配時間?3)本科生應該在科研中承擔怎樣的角色?4)我們應該如何評價本科生科研?
直接給予回答太困難,我們先做一些基礎鋪墊。首先,當下很多人希望出國,出國又不花錢的好辦法自然是念PhD。北美博士真的那麼好申請嗎?答案中已經說到,手上沒有好paper是很難申請到好學校的。於是國內現在有灌水成風的氣氛,不管做的事情價值多少,一定要發表,然後湊數。我個人是很反對的。
但是既然目的是出國(美國)申請,我們就需要首先看看美國本科教育是如何的。我在另一篇文章 國內名校的 CS 本科生實力超越歐美名校嗎?
中比較詳細分析了中美本科教育,當然了,主要是說差距在哪兒。由於美國對於天才學生的的初等教育比天朝好很多,因此很多學生到了大學只需要2-3年,甚至更短的時間就能完成大學的學業。因此他們就有更多的時間從事本科生科研。由於多種多樣的原因,美國的本科生(美國人)在科研中可以遊刃有餘,因為有更好的老師,更寬鬆的環境,不像我們這麼惡性的競爭,因此他們可以更加隨心所欲。
另外,我相信所有出國的同學在申請的時候都對推薦信制度有著極大的質疑,但是這恰恰是(至少對於美國人)非常好的。因為科研是否有結果本身是一個非常隨機的事情(知道一定能成功的就不叫科研了,那些最多算是實驗),但是高水平的老師可以很容易洞察出一個學生是否有研究的天份和本能,因此通過推薦信來錄取無疑是最好的選擇。此外學生則沒有發論文的壓力,可以更加靈活的參與學校內各個實驗室的工作,確定自身真正的研究興趣所在。但是由於眾所周知的原因,前面的每一條對於中國學生都不成立,因此可以說我們中國的本科生,無論你在清華還是普通一本,在與美國人的競爭中都處於絕對的劣勢地位,而且這些劣勢很難單單以個人的勤奮而彌補。於是我們只能通過變本加厲甚至喪心病狂的publication
list來填充我們的申請材料,以期達到類似的競爭力。
但是這是否真的是好的呢?顯然不是。首先,論文是結果但是絕對不是目的,以發論文為目標明顯是本末倒置的。同時干這些事情需要大量的時間,這就擠兌了大學期間正常的學習時間。就以我身邊的一些清華學生為例,有些自然是大神,天賦異稟,無師自通;但是也有不少人也通過各種投機取巧的方法羅織了很多的論文,甚至不惜以犧牲課業為代價,最後也去了四大(MIT,Stanford,CMU,Berkeley),然而功力不足,很多常識性的東西都不知道,這對於自身的發展肯定是極為不利的。
說完了背景,那再談談我對於題主的幾個子問題的看法。以下各個論點對於出國和在國內保研的同學都是成立的。
首先,本科生是否應該科研?答案當然是是!只要你還有繼續念PhD的打算,就應該首先嘗試一下科研的過程。姑且不說有多少PhD最終成為了科學家,PhD階段就有很多年,你會在這麼長的時間內處於兩耳不聞窗外事的狀態專心學術,這是怎麼一直狀態?你是否有思想準備?是否有能力handle?你是否能忍受的住寂寞?你是不是願意獻身科學事業?這些問題只有你在科研的過程中才能體會。如果在毫不知情的情況下就貿然選擇PhD,無論對於自己還是你的老闆,或者給你提供funding的政府或者公司都肯定是不負責任的。
其次,本科生如何在課業和科研中分配時間?畢竟課業才是本科生的主業,我認為本科生科研應該是在保證課業情況下進行的。眾所周知中國本科計算機專業的課業壓力並不是很大,即便清華也是如此(和美國相比),因此還是有充足的時間的。同時,本科是對於計算機科學打基礎的最好的階段,很多課程,比如很多數學課,編譯器,操作系統或者其他的系統課程,只要錯過了,以後很難會抽出完整的時間重新學習。如果這些基礎都不知道的話,是很容易鬧笑話的。當然了,還有一種可能性,就是國內的一些老師上課實在是太渣,學了感覺和沒學也差不多,這種情況自己酌情考慮。
接下來討論第三個問題:本科生應該在科研中承擔怎樣的角色?我個人認為,本科生不應該在科研中擔任主角,而應該擔任配角。在大多數核心的CS研究領域,比如理論,PL,compiler或者system,對於一個領域全面的了解沒有個把年頭是很難的。在都不知道這些領域的核心問題和詳細了解所有其它人的研究進度的情況下,就自行發掘出偉大的想法,這基本是異想天開。即便對於應用領域比如計算機視覺,數據挖掘,或者計算生物,自然語言之類的,上手速度比較快(這也是幾乎僅有的本科生能一作的方向),我認為本科生也應該是更多的去參與一個完整的project,體會一個領域的研究思路,研究方法以及對於個體的能力要求,而不是過於冒進的試圖獨立完成一些研究價值並不大的工作。
因此,有的人會問,那我完成了一個project後是否就應該獨立研究了呢?我的建議還是不是,而是去體會更多的研究領域。科學研究的學習是一個漫長的系統性的過程,不是三天兩天就能速成的,否則為啥博士要念這麼多年?你的科研水平很難在短期就達到極高的水平,因此本科的時候還是應該以學習為主,找到自己最喜愛的領域。至少在美國,很多人都嘗試過超過一個完全不同的方向,進而對於自己的各項能力有更加準確的評估。
最後是我們應該如何評價本科生科研?我希望大家能夠以一種更加平和的心態來看待,而不是我們中國傳統的大躍進式的眼光。本科生參與科研,主要是一種經歷,和自我學習的過程。至於結果,完全沒那麼重要,真正科學界也不在意。近來很多報道依舊以一貫的我天朝習慣性的宣傳口吻來講述本科生科研的事情,比如「吳佳俊超老師」,交大ACM班羅列每年同學一作發表論文的篇數之類的。我當然不否認這些人也都是大牛(或者我們中國的老師水平實在是……不怎麼行……),但是這種單一的羅列論文數量的衡量標準,絕對是弊大於利,可以類比中國體育的奧運金牌戰略,亦或說我們國家的挑選100個有希望的科學家衝擊諾貝爾獎這種滑稽的行為。天朝許多無良(or無知)媒體這種一刀切的指揮棒式宣傳,也絕對不是很好的對於低年級學生的導向。人家吳佳俊有那麼多優點,幹嘛光盯著這個?
最後再說幾個現實的問題。首先,我建議大家多嘗試不同的研究領域(不同到比如theory/system/AI這個級別的分類),但是我如何找到合適的實驗室和項目呢?這個問題確實在中國很嚴重,因此希望大家能儘早調研,而結果無非就是本校(或者北京的同學可以去清華)/MSRA(好像除了theory其它還是蠻齊全的)/國外學校三種。至於具體操作就不展開了,那又可以寫現在這麼長了。明顯這三者的水平是有明顯差別的,MSRA的大多數組比國內的大多數老師還是要牛的多,但是和美國頂尖大學的差距也是十分明顯的。不過MSRA畢竟招人很多,作為中間的一個過渡地帶,也是為我大天朝CS本科生的培養做出了傑出的貢獻的。如何選擇如何規劃必須要早作打算,比如來美國要把套磁啊簽證等時間都計算在內。我在清華旁聽本科生出國經驗介紹會(是學弟們講啦,我都好老了,也從來沒人請我講)的時候,有一位就說到我本科階段從事了情感研究,多媒體分析和計算機視覺,發現計算機視覺真是實在的計算機科學,我的真愛啊!我聽得真是內牛滿面……如果這就是清華學生能接觸到的最高水平的鍛煉的話,請大家酌情考慮MSRA實習/國外名校(如貴CMU)master的可行性。
另外一個顯然的問題就是,既然我們和美國人相比劣勢這麼明顯(人家高中就把大學的課學的七七八八了),怎麼補救呢?也無外乎兩種,一種是自身天資異稟,一天幹人家三天的事情的大神;另外一種像我們這種正常人,可以比如在MSRA請求一兩年的工作機會(大五),深入工作以彌補時間、數量上的不足;或者在美國申請碩士,在比國內質量高得多的整體環境下學習科研,以期更好的結果。相信我,這一兩年時間對於你絕對是有益無害:首先,你的這兩年的進步是實打實的,可以縮短你在博士期間學習過程;其次,你對於你的選擇更加理性,不會再患得患失,少走彎路。
好了就說這麼多,希望能對大家有所幫助。
好文合集:
申請美國 Top20 大學計算機 (Computer Science) 專業需要做怎樣準備? - Yong He 的回答(如何申請PhD。)
申請美國 Top20 大學計算機 (Computer Science) 專業需要做怎樣準備? - Yihan Sun 的回答 (如何申請master。)
看了 @Yan Gu學弟的說法,都不好意思答題了。
利益相關:2006年清華大學計算機系本科,2010年清華大學計算機系碩士,2013年清華大學經濟管理學院博士在讀
我就拿一篇論文來說一下,為何我鼓勵計算機系的本科生去接觸一點科研。
論文(目前這還是一篇工作論文,但以我淺顯的對學術水平的評價,它一定會發表的)是:
Baker S R, Bloom N, Davis S J. Measuring economic policy uncertainty[J]. Chicago Booth research paper, 2013 (13-02).
這是一篇經濟學論文,為了緊扣主題,我就不評述其經濟學意義了。單單介紹一下它衡量政策不確定性的方法。這個方法,按我的標準,放到我們java課程大作業都有點顯簡單了,放到小作業差不多合適。就是,作者判斷了10份美國的主流報紙所有新聞中同時包含表義」Economic「、「Policy」、「Uncertainty」的辭彙(大約判斷了共10個詞)的新聞百分比,而且匹配方法極其簡單,就是嚴格匹配。將這個百分比稱之為Policy Uncertainty Index。哪怕是高中學過一點編程知識的同學,都可以實現這個Policy Uncertainty Index。而截止我寫這篇文章時,上述論文已經被引用了585次(按谷歌的統計)。我在讀了經濟管理以後的一個感觸是,哪怕你在計算機系學渣如我,到了一個不太精通編程的人群中,也可以做很多有意義的事情。所以,不要怕自己學習成績不好或擔心自己的編程水平(實際上,學習成績不好和編程水平一般是我本科時候不敢去接觸的科研的主要原因),計算機是一門頗具應用性的學科,如果跟其他學科融合,不用很強的編程能力,你也可以做很多有意義的科研。我倒是建議計算機系的本科生能走出計算機系,去其他院系找老師聊一聊,說不定就有影響世界的想法可以實現呢?
這個回答可能應該已經不是題主的本意了,我覺得題主可能想尋求的幫助是「計算機系的本科生要不要提前接觸計算機方向的科研」。有這種想法的同學往往還是成績或水平在全年級過硬的。我希望我的回答可以鼓勵到那些在計算機系學習成績或編程水平一般的同學。本科剛剛結束,也是計算機專業,曾經像題主一樣經歷過類似的選擇和迷茫,以自己的經歷說一下自己的感覺,供大家參考。
樓上大神 @Yan Gu 的答案中提到針對的是「高端人士」,作為Diao絲我就寫一個自認為適合普通大眾的建議吧,畢竟不是每個人都能本科進清華、研究生讀CMU(膜拜)。
1.首先回答一下關於「是否應該參與科研」的問題。在這裡請允許我對CS專業的學生分為三大類(排名不分先後等級),本專業繼續深造(保研/考研/出國),畢業直接從事本專業相關的工作,對本專業沒興趣畢業就會轉行。這三類人在畢業之後作出的選擇會不同,所以本科期間要走的路也有些差別,下面分別給出一些建議:
(1)本專業繼續深造:這一類學生基本上是要讀碩、讀博,也就是以後要從事科研相關的學習和工作,所以導師在面試挑選學生的時候如果成績等基本條件符合時,會更加喜歡本科就有過科研訓練的人,同時糾正一下題主的認識,這裡的科研訓練並不僅僅指的發論文,像一些項目經歷、有價值的競賽經歷等等都會對你獲得深造的機會有很大的幫助。
(2)畢業直接從事本專業相關的工作:大部分本科就出去工作的同學,都是從事軟體開發的工作,所以對這一類同學,最需要的訓練就是動手能力(當然對繼續深造的同學動手能力也非常重要)。如果你所在的城市有很多實習機會(比如北京),跟老師從事科研工作還不入去公司來的實際。當然,你本科學校也許像我的一樣在一個二三線的城市,根本沒什麼IT企業更別提什麼實習機會了,這時候你可以退而求其次的去找老師參與一些實際的工程項目,暫且不把它叫做科研了吧。
(3)對本專業沒興趣畢業就會轉行:這一部分同學還是很多的,對確定自己以後會走這條路的同學的建議就是,考試不掛科就好,想幹嘛該幹嘛就幹嘛去,當然別整天自怨自艾打遊戲頹廢。
(4)還不確定:這個比較糾結,不過我們還年輕,可以多嘗試一下,比如跟老師去做半年科研,然後去公司實習三個月,對比一下更喜歡哪個。
2.然後說一下題主所說的「熱衷某些好處發些沒有價值的論文」。我想把這句話再分做兩部分來看:
(1)熱衷好處某些好處而發論文(做科研):我認為沒有錯,就算是專業的科研人員發表論文、爭取項目很多也都會或多或少受某些利益驅使的:金錢、名譽、職位。像我上面建議「本專業繼續深造」的要嘗試參與科研,也是從利益驅動舉證的。
(2)然後是發一些沒有價值的論文是否有必要:發表沒有價值的論文沒有必要,但是發表論文的這個過程對初涉科研還是有些必要的。本科生就想發表有影響力的高水平論文還是很難的,受到時間或者個人知識儲備和能力的限制。但是,通過發表一篇「水文」能夠讓你實際的了解解決一個問題以及做科研的過程,很有價值。其實我覺得只要是是你自己做出來的,沒有任何利益輸送就能夠被發表的文章,對本科生來說都不叫做「水文」。當然,我們鄙視那些太過功利通過利益輸送只求結果的人,其實這種方式是完全的花冤枉錢,起碼在面試過程中,你到底做了什麼,有幾斤幾兩,老師幾個問題就了解個大概了。
3.做科研和基礎知識的本末倒置。必須承認基礎知識的紮實學習是本,但是從事科研訓練我也不認為是末,這說白了就是一個怎麼合理規劃時間問題,如果連基本的課堂學習都不能駕馭,那就不要分心做其他的了;但其實自己好好協調一下,每周犧牲一些玩耍的時間去提升自己,大部分人都能夠做到的。
最後一句話總結一下,如果你想以後繼續深造,如果你專業基礎課學習之外還有剩餘時間,強烈建議花點去經歷一下科研相關的工作。
我的老師的說法是,不管你是本科生還是研究生,剛開始科研的時候在那個方向上總是還要學大量的東西,讀大量的paper。所以對於有志從事科研的學生來說提早進實驗室也是有必要的。
從我個人經歷來看,其實做科研很多時候和你學過多少東西關係不大,反正都是要讀很多論文的。但是數學基礎一定要好。TAT。我知道我的智商離當老師差太遠,那很可能我有一輩子時間做工程,又著什麼急本科甚至畢業幾年就開始呢?
看了一下樓上的幾個答案,果然理工科學生大都比較務實,那麼我就來補充點務虛的東西吧。
先拋觀點,不論以後是否想走科研道路,在本科階段嘗試做一下研究,都是十分有益的。
畢竟做研究和上課有非常大的區別,一般人也不是一開始就知道自己喜歡並且適合走研究路線。所以早做體驗對今後的道路該怎麼走很有幫助。如果體驗過後發現很喜歡,那麼就可以提早準備考研啊出國啊什麼的;如果發現不喜歡,能學習一點做研究的思路,對思維的訓練和看問題的角度都有幫助。而後者在我看來,無比重要。
另外附帶的好處就是可以認識師兄師姐,拉近和老師關係,個中好處不用多說了吧,畢竟是一個將要呆上4年的生活圈子,人際關係也很重要。
辛苦一下換來的都是好處,干不幹?自己看吧。當讓要參加,你不參加怎麼知道自己該不該搞科研
主要問題不是鼓勵不鼓勵吧?而是,對於大量的普通本科生而言,是否有做科研的意識和機會?
任何一個專業的學生都該鼓勵參與科研~不只是本科,不只是計算機專業~
應該鼓勵!但是如果他要去搞科研,請打斷他的腿!
推薦閱讀:
※如何回答師弟的問題:「發這些論文有什麼用?」 ?
※如何閱讀國外醫學文獻?
※科研大牛們怎麼讀文獻?
※英文文獻閱讀時,如何做筆記?
※為什麼經常會出現導師和學生搶論文第一作者署名的情況?
TAG:科研 | 學術 | 論文 | 計算機專業 | 普通高校本科層次大學本科 |