1. 程式人生 > >高級軟件工程第一次作業--準備

高級軟件工程第一次作業--準備

時間 第一個 資料 http 政策 身體 tex 信息 能夠

1.回想對計算機/軟件工程的暢想

(1)考研時你是如何做出選擇計算機/軟件工程專業的決定的?

  • 簡要概括兩點:
    • 自身興趣所在;
    • 順應時代發展。
  • 具體展開如下:
    從高考填報誌願說起。和許多找不到自己興趣所在的考生一樣,在家人朋友以及自以為是的分析下,結合當時的全省排名,填報了母校的石油工程專業,相對來說是高分低報,所以很順利地被錄取了。進入大學以後的第一個學期,必修課表裏有一門程序設計,這門課程的標簽是通識教育課,實現語言是C。這是一門讓我感到驚嘆的課程,因為它讓我看到日常應用的計算機上五花八門的功能是如何實現的,而且,只要水平夠高,我可以自己動手來實現。也許是因為專業原因,周圍的很多同學並不喜歡這門課甚至反感,而我卻十分喜歡通過編程完成作業、解決問題帶給我的成就感。整個大一的所有課程中投入時間最多的,就是這門程序設計了。不僅如此,我還盡可能地把其他課程中遇到的問題,交給編程來解決,比如大學物理實驗的數據處理。轉眼到大二,學校有轉專業的政策,但是由於自己不夠勇敢決絕和其他一些因素與轉入軟件工程專業失之交臂,這也是本科四年中非常後悔的一件事。石油工程是一門綜合性學科,其專業課的支撐涉及到物理、化學、機械、力學、熱學和計算機等等。隨著接觸學科的增多和在學習中對自身的評估,我逐漸地確認計算機技術是我的興趣所在。並且在日常的生活和學習中,深切地感受到了當今時代對計算機的依賴,並認為深入地學習計算機技術是十分有必要的。因此在決定讀研,即再次面臨換專業機遇時,我堅定地選擇了跨專業攻讀軟件工程的碩士學位。

(2)你認為本科階段所學的知識是否符合你對計算機/軟件工程專業的期待,為什麽?

   由於本科階段的專業並非計算機類,所以從學校開設的課程角度出發,其並未滿足我對計算機/軟件工程的期待;但若從在課堂外自學的角度出發,我還是有收獲的。
   對計算機知識的學習,主要是源於自學。除了學校開設程序設計(C)和VB外,在可支配的時間裏,我主要通過網絡公開課和圖書館資源自學了數據結構、計算機組成原理、操作系統、計算機網絡、算法、Java和C++。在申請畢業設計項目時,我找到了當時學院軟件中心的一位教授,他給我提供了一個通過數據挖掘預測壓裂井產油量的項目,在接下來的三個月裏我通過自學python語言和機器學習,按時完成了畢業設計。通過自學,我學會了不少計算機知識並積累了實踐經驗,但在此過程中,我越發感受到了這個專業的博大精深,若想成為一名優秀的程序員甚至是架構師,需要學習的內容仍有很多。

(3)你覺得計算機/軟件工程是你喜歡的領域嗎,它是你擅長的領域嗎?

   由於本科所涉及的領域較為多和雜,綜合各領域的學習體驗和自我評估,我認為計算機/軟件工程是我喜歡的領域。但是就目前來說,這不是我擅長的領域,在自學計算機知識的過程中,我就已經發現了自身積澱之淺薄,所要學習和掌握的有很多。當看完汪老師分享的文章之後,看到該領域尖端人才的成長歷程和水平高度,更加感覺到自己的渺小。但是,我會努力積累,通過學習不斷地縮小和他們的差距。希望自己在若幹年後回答這個問題時,能夠自信的說:“計算機/軟件工程不僅是我喜歡的領域,而且是我擅長的領域”。

2.即將開始研究生生涯,對照前人們走過的路和描述未來發展,現在的你

(1)自我感覺你已經具備的專業知識、技能、能力有哪些?

  • 掌握的編程語言:Java、C、C++、VB、python;
  • 有較強的英語閱讀能力和良好的聽寫能力;
  • 掌握的專業基礎知識:程序設計、邏輯電路、算法、數據結構、計算機組成原理、操作系統、計算機網絡;
  • 開發經歷:基於Anaconda應用python做數據挖掘,通過構建模型,對油田壓裂井的歷史數據進行學習,實現對新井產量的預測。

(2)離成為一個合格的計算機專業碩士畢業生,在專業知識、技能、能力上還差距哪些?

  • 開發實戰經歷太少;
  • 理論知識積澱不夠;
  • 編程能力不夠強;
  • 文獻閱讀能力不夠強。

3.對照以上你閱讀的前人們的經歷,你畢業的選擇是什麽?

   關於畢業後的選擇,我目前尚未有明確的答案。若在學術上有所造詣,也許會選擇讀博;若在學習中培養出了有良好的開發能力,也許會選擇工作。這個問題的答案,需要在經歷成長中的各種事件後,對自己認真負責地評估才能夠給出最適合自己的答案。

(1)在這種選擇下,你認為你相比其他同學來說有何優勢,有何劣勢?

   劣勢是很明顯的,作為一名半路出家的軟工學生,我的實戰經驗、知識儲備和編程能力遜色於專業裏的許多同學。

到過年時,我學到winfrom了,然後過完年繼續回學校學習,過了一個年,又忘記了一部分,然後就開始學習數據庫,學習三大範式,數據庫本來我是感覺挺簡單的,也學得會,但是開始學函數,學子查詢,學遊標時,我又蒙了,後來我也明白,這個東西需要看多方面的資料,需要在使用中慢慢感悟,死勁看,死勁想是無法明白的。這個時候還要學習IO操作類TextReader,TextWrite,StringReader,StringWrite,SteamReader,SteamWrite;文件操作類File ,Directory,FileInfo DirectoryInfo;XML操作XmlDocument,XmlNode等;還有序列化特性還有其他特性學習;這個時候我非常搞不明白特性這個東西,我感覺它很醜陋,後來慢慢明白它就是個標記,要給一個類加上點額外信息,不用特性用什麽呢?就順理成章了。

-- 引用自《.net程序員工作兩年總結》

   這是汪老師分享的文章之一,看到這篇時的感觸特別深,因為作者年輕時的狀況和我著實相仿,都是半路轉行搞軟件。雖然我沒有學過winfrom,但是作者描述的歷程和其中滋味我非常能夠理解。我想,通過這個例子來說明跨專業學生的劣勢是非常合適的。
   優勢方面,起初並沒有想到什麽優勢。但仔細想想,自己本科所學的廣而雜的知識在某些時候興許能提供一些不一樣的思路。當開發的軟件與之前所學領域相關時,也許能對產品做出較為重要的改善。

(2)針對你的選擇,你給自己的研究生生涯的規劃安排是什麽?

  • 首先是學好每一門專業課;
  • 做好導師安排的科研工作;
  • 認真地做一次專業實習,為評估自己做鋪墊;
  • 認真地讀透幾本業內著作。

我讀書涉獵很廣,很多東西我都能大概知道怎麽回事,但是就是學得不深刻,所以即使當時花了很多力氣,需要的時候還要花大功夫重頭撿起。所以我的教訓就是,與其兩個半瓶水,不如一個滿瓶水。這個道理用在讀書上就是說,一本好書讀兩次要勝過兩本好書各讀一次。要是大學能重新來過一次,我會少讀一些書,多讀透一些書,這可能是我覺得當年猛讀書的唯一遺憾。

-- 引用自《徐宥:掉進讀書的兔子洞》
這方面我和這位作者很像,很多東西大概知道怎麽回事,但卻只學了皮毛。正如作者說的那樣:“即使當時花了很多力氣,需要的時候還要花大功夫重頭撿起”。因此,在研究生階段我要改正這個壞習慣,寧願少讀書,也要讀透書。

4.你願意為了一個你感興趣的、或得到實戰鍛煉的項目熬夜嗎?你想脫離小菜鳥的level嗎?如何評價上一屆同學說的“和隊友一起熬夜打代碼是個不錯的體驗,或許還可以一起吃夜宵!”

   我願意為一個感興趣的、能得到實戰鍛煉的項目熬夜,這能帶給我能力的提高和巨大的成就感。
   上一屆同學說的“和隊友一起熬夜打代碼是個不錯的體驗,或許還可以一起吃夜宵!”我非常認同,因為和團隊裏的小夥伴一起戰鬥著實是個很好的體驗,還有夜宵相伴當然是好上加好。
   但是談到“熬夜”自然避不開“註意身體”一類的話。曾經一度不以為然,而隨著經歷的增多和年齡的增長,著實感覺到身體健康確確實實應該擺在第一位。所以熬夜當適度,健康很重要。

5.針對上述問題(2)、(3)、(4),你對這門課的期待是什麽?你打算平均每周拿出多少個小時用在這門課上,以達成你的期待以及你在(2)或(3)或(4)上的目標?

   我希望通過這門夯實我軟件工程的基礎,並通過作業豐富我的實戰經歷,為我成為一名合格的軟件工程畢業生打基礎。我打算每周拿出10-15個小時用在這門課上來達成期待以及在(2)或(3)或(4)上的目標。

高級軟件工程第一次作業--準備