致研究者的一封信 Duane A. Bailey
Duane A. Bailey這是Duane A. Bailey的一個很有意思的網站,http://www.cs.williams.edu/~bailey/,羅列了Duane所涉及的各方面的講座,文章。他寫的那一篇文章,很值得我們仔細的讀一讀。致研究者的一封信Duane A. Bailey通過一點有條理的組織,研究工作可以變得更令人愉快,更富有成效。不幸的是,對很多計算機科學家而言,研究技巧的獲得是通過經驗,而不是通過正式訓練。本文概述了一些如何組織研究工作的建議。大多數建議對本科生也是有用的。斜體表示是針對研究生,職業研究者和教師的。希望本文能有所幫助。關於我的建議成功的計算機科學研究牽涉到很多方面的協調。為了使你花在研究上的時間儘可能的有成效,有趣味,我收集了一些你可能會發現有用的「組織方面的提示」。花一些時間來閱讀這些提示。一些提示是極為顯然的(另一些則是很困難的!!),但是都有改進你的研究事業的潛力。閱讀是基礎發現並且閱讀相關的著作是好的研究的基礎。如果在你的研究領域,你是一位新手,可能你只熟悉教科書上的內容。你可以從 ACM Guide to Computing Literature[3] 和 Computing Reviews[2] 這兩個重要的發現相關參考書目的資源入手。當你開始研究你的題目時,是從一個較短的基礎讀物的書目開始的。作為一個研究者,你必須發展這一相關著作的書目,並且不斷找到新的閱讀材料。你將會發現其他人錯過的有用的參考書目。持續不斷的閱讀。雖然背景知識的閱讀是任何研究工作的最初任務,但是重要的參考文獻經常較後才出現,尤其是如果研究的重心改變了的話。你務必識別出那些對你的研究領域有重要作用的資料,並且你閱讀期刊的速度能跟上期刊發行的速度。一個月只需花兩三個小時就能瀏覽一遍最新的論文。(雖然對會議錄的審閱不象對期刊那樣嚴格,但是會議錄在快速發表研究結果方面起著重要的作用。)因為計算機科學研究更新速度很快,所以及時閱讀最近的技術文獻是至關重要的。仔細的閱讀一些文章。粗略的瀏覽能識別出與你當前的研究有關的材料。當發現一篇論文對你的研究有所幫助時,更加詳細的考慮這篇論文是很重要的。閱讀論文時,需要考慮以下三方面:這一研究對你的工作有什麼貢獻?這一貢獻和你以前遇到的文獻是怎樣的關係?在這篇論文中,作者引用了那些重要的參考文獻?這些問題看起來似乎是顯然的、基本的,但是沒有理由不問這些問題。對每一篇你認為和你的研究工作相關的文章做摘要。摘要有助於向別人快速的介紹工作。如果你將來不得不再閱讀這些文章,以前寫的摘要就提供了一種「自助」機制。在研究工作中,做摘要(對你的或者他人的文章)是一項通常的任務;言簡意賅的寫摘要是一門藝術。閱讀完一篇寫得很好的文章後,考慮它表達的方式。它可能組織得很好,或者可能用了縝密考慮過的例子來強調重要的概念。什麼使得這篇文章容易閱讀?文章提供了什麼樣的詳細程度?使用什麼例子來論證了重要的概念?哪些問題未被回答?結論可以推廣嗎?因為我們是通過實例學習的,所以標記那些寫得特別好的文章是很重要的。不幸的是,技術文獻經常寫得比較晦澀。有時,和你的指導老師或者對此也感興趣的同事一起閱讀一篇文章會是頗有裨益的。這樣,進展速度可能會較慢,但最終一篇寫得好的文章的潛力會被實現,你對文章的理解也會增進。在較大的系,非正式的研討班或「期刊俱樂部」提供了一個理由,讓研究者們每周集會,討論論文。要集中於一個主題(如這學期的內存回收),但是當一個共同的興趣發展起來時,也允許偏題。在擁擠的日程表中,這些非正式的每周會議為那些否則可能會被扔在一邊的研究工作保留了時間。寫作是根本好的寫作是科學研究的唯一持久的方法。當口頭報告已被人遺忘,程序已被清除,很久以後,寫下的文章仍然保留有重要的概念。所以,你應該儘可能早的開始寫下你的研究結果。雖然實驗是重要的,但如果沒有仔細記錄下來的話,所有的努力都是白費。仔細的寫作。當你不知如何下筆時,請使用簡單的寫作風格。如果你是個生手,或者不常寫作,那麼你關心的是磨礪你的寫作技巧。如果你夠幸運,你閱讀的文章里就會有在你這一領域成功的寫作的範例。通常說來,有效的文章只需要一遍的閱讀就能傳達重要的論點。這些文章還會討論有趣的例子。當以數學公式或者代碼的方式直接給出技術細節時,它們都不能代替英語的說明。以能夠既正確又簡明的傳達信息的文風來寫作是比較困難的。當你對你使用的文風不確信的時候,重新閱讀一篇你喜歡的文章,同時注意把它的文風特性結合進你的寫作。保持寫日誌。在日誌中,寫下參考書目,提出疑問,描述問題和它們的解決方案。保持記錄實驗和實驗結果。就象實驗室科學家們所知道的那樣,日誌是組織你的研究工作的一個簡單工具,日誌也是你所做的進展的寶貴記錄。堅持對相關文獻中的結論做摘要。如果你預計你將會正式報告你的研究(始終對此保持樂觀!),那麼對你的讀者而言,把你的工作和其他人的工作比較、定位是有用處的。重新考慮相關研究也能提醒你那些重要的參考文獻,並且把你的目標和你的研究領域內其他人的目標有機的結合起來。因為這一摘要文檔需要經常被編輯,它應以電子稿的方式存儲。(BIBTEX[10]是一個組織參考書目信息的較好的系統,它還提供了和其他人交換參考書目的方便的機制。)寫下一些小的項目。寫下的是一兩頁關於某一主題的正式提出的構思。當構思不允許被表達出來,在腦子裡徘徊時,它們就逐漸變得畸形、混亂。這些記述幫助磨礪你的寫作能力,組織那些自發的想法。當學生們希望得到研究項目時,這些能迅速被找到的記下的構思就大有用處了保留一部分時間來好好寫作。花在寫作上的一小時是考慮問題的一小時,而不是和計算機格鬥的一小時。你必須離開那些令人分心的事,集中你的努力,專心記錄工作。象規則的練習那樣,你必須做它,並且你會慢慢喜歡它。和其他人一起工作對很多人來說,成功來自於和其他人一起工作。和他人分享構思,並且讓構思在一個組的環境下發展是很重要的。(在小的系裡,這可能是成問題的—尤其如果你是在一個孤立的領域內,但合作仍然是重要的。)不管什麼時候,只要可能,和你的指導老師或者研究夥伴討論你的想法。你可能認為你的想法不值一提,但是不管怎樣,你應當嘗試一下。讓談話繼續!大多數研究者都樂於參加富有成效的討論。遵循一個規則的會議時間表。如果看起來似乎「沒有什麼可以討論」,這本身就是一個重要的討論主題。不要輕易略過或者取消會議,因為這會成為一個不可逆轉的先例。如果你和你的討論組失去了聯繫,你應該主動重新建立聯繫。不太可能他們會主動來找到你,而且共同的興趣會隨著時間而衰減。會議提供了集中討論主題的同步點。會議上會產生重要的見解,所以花一些時間來寫下這些想法(帶上你的日誌!)並且複印分發它們。這些非正式的「會議記錄」幫助在各次討論之間維持前後聯繫,並且記錄下做出的決定。改頭換面的重複老的內容通常是在浪費時間。仔細考慮批評。因為別人的評論是科學研究過程中完整不可分的一個組成部分,所以總是有你的研究被批評的時候。不要被批評意見所觸怒,而是應該把它作為指導方針,使得你的論點更有效。同樣的,當批評別人的工作時,使得你的意見富有建設性是很重要的;那些沒有益助的意見就應該被忽視。報告並不容易在任何嚴肅的研究工作中,你都會需要做報告。好的報告需要相當多的準備,所以儘早開始。幻燈片應該是清晰的,沒有任何無關緊要的東西(包括代碼)。幻燈片中應該包含有能說明問題的例子,但例子的詳細程度應該對你的聽眾適合。幻燈片應該相互關聯,共同證明你的貢獻。對你的報告進行排練並且計時。沒有準備的報告是極為顯而易見的,並且通常會導致原本願意接受新思想的聽眾對你的報告發起攻擊。仔細組織並且排練你的報告,這樣當你面對沒有預料到的提問時,就有更好的準備。項目計算機科學的研究經常導致一個需要編程的「項目」。務必記住編程不是計算機科學研究。對於大多數計算機科學家而言,編程純粹只是做實驗的方法。象任何實驗一樣,編程也需要預先仔細計劃:* 建立目標。 知道你的目標,並且毫不分散注意力的接近它。列出一些表明進展的重大事件,並且努力實現它們。如果你不能簡練的闡明目標,那麼你就應該停止,重新考慮這個項目的動機。* 考慮簡單。 設計你的項目,使得它們能夠在合理的時間內被完成。一位熟練的程序員每個月產生的可靠代碼幾乎不超過一百行。因此,正確編寫一個需要上千行代碼的項目將花費掉一個熟練程序員兩三個學期或者更長的時間。所以,需要修剪實驗的大小,使它易於處理。修剪的時間是花得很值得的。大的項目並不必定產生大的結果。* 建立原型。 原型的建立對大多數的項目是有益的。一個考慮得很好的原型能驗證假設,測試摘要的價值,並且引起對於立不住腳的想法的重新考慮。儘管草草做一個「產品」幾乎沒有什麼研究價值,但是通過實現部分功能的原型系統,很多研究問題能夠被滿意的回答。* 使用工具。 通過使用一些簡單的工具,程序員的效率得到了極大的提高。今天的程序員應該意識到使用工具,例如anim[6],awk[1,4,5],HyperCard[8]和Mathematica[13]。 在窗口環境下,界面生成器能消除界面設計過程中很多讓人心煩意亂的瑣碎工作。當然,還有很多其他重要的、有用的工具,工具使用的主旨是清晰的:正確選擇工具能夠減少項目的整體工作量。找到工具,學習工具,並且使用工具。* 與人合作。 當資源能夠被協調時,群組協作經常比孤立的個人的奮鬥更有成效。如果你和他人有共同的研究興趣,那麼和他們聯繫,與他們合作。毫無疑問,有些他們已經解決的問題你正在考慮,他們的解決方案將會影響到你如何達到你們共有的目標。合作的一個副作用是增加了紀律性。為了減少花在各方面同步上的精力,紀律是很必要的。對程序員來說,現在有各種各樣的資源可以用來管理分布的項目。例如,GNU項目發展了一套合適的代碼標準,並且程序可以恰當的強制使用通用的編碼風格(例如縮進)。當多人共享對同一項目的存取時,就要考慮使用一個版本控制系統(例如SCCS或RCS)。* 為項目結果寫文檔。 應該為完成的項目編寫文檔。至少,項目的技術概述使得別人能夠了解到你的研究動機。文檔應該描述問題,你的假設,你的方法,和對你的項目結果的誠實的評價。當為軟體編寫文檔時,文檔要包括說明性的例子,指南,和任何從該軟體的使用中獲得的經驗。寫得好的文檔極大的增加了項目的影響。總結最理想的是,你在研究工作中的參與,是整個流水線的一部分。你的工作基於他人的工作之上,並且產生一些有用的東西。作為一個變化迅速的領域的參與者,你有責任保持了解情況,設計並且完成合適的實驗來測試你的假設,以所有研究成員都可以存取的方式來給出你的結果。這裡給出的建議能夠幫助你完成這些責任。
推薦閱讀:
※(1)善財童子五十三參之研究
※【VR研報】VR應用系列之「VR 影視」研究
※中藥抗腫瘤研究評析
※[轉載]【原創】金口訣次客法測彩研究
※Nature:胰腺癌研究重大發現!基因複製或能解釋胰腺癌的侵襲性和轉移性
TAG:研究 |