1. 程式人生 > >讀書筆記_寫給自學者的入門指南 >博客園||知識庫

讀書筆記_寫給自學者的入門指南 >博客園||知識庫

常常 入門指南 大學 轉換 數據結構 svn 導圖 png 結構

it背景缺失

初學者對於IT世界沒有足夠的認知來搭建起一個世界觀。無法把所學的基礎轉換成地圖的一個塊。容易感到失落(不知道學會了一門新技術的意義和使用方向)

1.學科基礎

《高等數學》、《離散數學》、《電子電路》、《數據結構》、《程序設計》、《計算機組成原理》、《編譯原理》、《計算機網絡》、 《軟件工程》、《數據庫原理》等。有些學校會有一些額外的課程,例如《通信原理》、《匯編語言》、《線性代數》、《C語言》、 《Java 語言》等

技術分享圖片

盡管IT行業知識更叠非常快,但是基礎知識並不容易過時,因此有大量的資料可以選擇。可以選擇從計算機經典叢書系列開始,比如佛羅贊和莫沙拉夫的《計算機科學導論》,甚至可以閱讀一些計算機科普類讀物例如《穿越計算機的迷霧》。另一種直觀的方式是觀看大學精品課和去跟慕課課程,比較推薦的有幾個:
中國大學精品開放課程

,高等教育出版社的精品課程項目,有全國大量的名校授課視頻和課件
中國大學MOOC ,這個是中國大學MOOC和網易合作的,提供了上文附圖中計算機課程體系中所有課程
果殼網的MOOC學院,主打翻譯全球名校的優秀課程,比如斯坦福的《編譯原理》和MIT的《Python》

2.從知識到實踐

除此之外,還需要了解實際應用於設計軟件或者開發網站中的實踐類知識,包括某個特定語言以及周邊的庫、框架和工具等。 我們可以把特定需求中用到的語言、庫和框架以及其他的工具稱為技術棧,在技術選型上通常也是被這樣考慮的,HR常常會根據技術棧來尋找需要的工程師。比如需要學習SSH三大框架和Java的Java技術棧;為服務器web開發而生的PHP技術棧;在移動開發領域流行的iOS、安卓技術棧等。當然這裏面有一些重合和共用的技術也需要學習,比如版本管理器Git、SVN就是每個合格的工程師需要去學習的。

3.武器的選擇

 老實來講IT行業的最終目的是交付可用的軟件,編程語言也是適應市場的。在工作中我們發現最好的語言是用來處理工作任務或者構建合適的應用,並不是出於愛好或者某種Geek精神。

選擇工具語言的考慮

1.適合目標,選取盡量優化的對應語言

2.在滿足第一條的情況下,降低學習成本(語法,環境搭建,以及未來的技術遷徙,輪子數量,資料)

3.IDE,不用在意他的提示功能,順手就行。畢竟熟練以後對這方面的需求不是特別高。

4.新手建議使用視屏教程,畢竟內容更豐富,防止出現內容理解的偏差。高手隨意看源碼和官方文檔。

5.讀工具書的時候一定要敲代碼,同時對於任何的疑問,理解都可以畫思維導圖。

6.長期的編程學習,十分的枯燥。要學會利用todo工具,給予自己階段式的獎勵。將一個巨大的目標拆分成多個合適的小目標。有利於目標的實現。
###4.最後的話

“聰明”從來不是這個行業的門檻。引用流行於知乎的一句老話“以大多人的努力程度,還輪不到拼天賦的程度”,在Thoughtworks有大量優秀的工程師,從他們身上我能看到聰明不是學習編程成功的關鍵,堅持和勤於思考才是。

讀書筆記_寫給自學者的入門指南 >博客園||知識庫