如何 系統 學習 計算機?
請問計算機學習的具體步驟是什麼?如果想做軟體開發的話,應該從什麼開始,應該以什麼順序學呢?不僅僅局限於編程,而是整個計算機:網路,資料庫,軟體架構基礎,,,
基本按照大學的專業課順序來,中間加些偏實踐的步驟,可以降低難度。
1,模電、數電,電子工程師必備,驅動工程師一般也得會點兒,
2,C語言,
3,彙編+組成原理,
4,C++,5,數據結構與演算法,6,資料庫原理與SQL,以上6個是基礎,7,Unix環境高階編程,
8,HTTP權威指南,9,Nginx模塊開發與架構解析,10,TCP/IP詳解,以上4個偏網路編程,11,深入Linux內核架構,
12,Linux設備驅動程序,13,Linux0.11內核源碼分析,趙炯那本,14,操作系統原理,(找本偏理論的)以上4個偏OS內核、驅動,15,mysql相關的書,
16,SQL優化相關的書,只會點皮毛的SQL,推薦不了啥資料庫的書,……………………………………………………………系統學習,進入「深水區」,17,自己動手寫編譯器、連接器,
18,運籌學教程,19,編譯原理(龍書),這三個是編譯原理相關的,運籌學涉及動態規劃、NP問題、圖論等好多應用問題,對理解寄存器分配之類的有幫助。17偏實踐,理論很少,適合入門。…………………………………………………………………20,Python基礎教程,21,JS權威指南?犀牛書是叫這個名字吧……22,Node JS,這三個應該是最容易的,23,opencv3編程入門,毛星雲,
24,the「學習opencv」,你知道是哪本,25,Tensorflow的官方文檔,這三個主要是CV領域,偏實踐,OpenGL的也可以看看,例如紅寶書。到這裡也差不多了。
………………………………………………………………以下是偏理論,演算法工程師才用的到:26,神經網路原理,
27,支持向量機導論,28,統計學習理論的本質,29,深度學習,
這4個主要是機器學習的理論,30,機器視覺,霍恩那本
31,數字圖像處理,岡薩雷斯那本這2個是CV和圖像處理的經典書,偏理論,32,數字語音處理與MATLAB實踐,張雪英,關鍵有MATLAB代碼,可以作為語音處理的入門,
33,離散時間語音信號處理,這2個是NLP入門,NLP應該是最坑爹了,難學。…………………………………………………………空閑時間可以看看這些,有利於理解上面那些:34,數學分析,卓里奇
35,函數論與泛函分析初步,柯爾莫哥洛夫36,代數學引論,柯斯特利金基本包含了新老三高,柯老爺子的書也包括實變函數部分,那湯松那本就不推薦了。37,偏微分方程數值解法,
最近看圖像的L0範數平滑,涉及了一點,還好opencv里有,不用我自己寫代碼了,否則非吐血不可。38,小波與傅立葉分析基礎,
39,演算法導論,其他如果看不下去,就讀讀這本的前半部分吧。1、計算機 4件套。計算機操作系統、計算機組成原理、計算機網路,數據結構。
2、一門高級語言如python,ruby,go等,一門相對低級語言,如C/C++/Java
3、《代碼整潔之道》和一些列google的編碼規範
4、軟體工程
1的目的是讓你了解計算機是如何工作的,你的程序如何在計算機里工作,數據如何在網路中流通。相當於了解你的工作環境
2的目的是掌握一種工具,也就是說學會一種製造工具
3和4的目的是,程序不是一個人開發的、學會如何合作,如何規範的操作,學會讀懂別人的代碼
我最好建議你 帶著問題去學習 這樣子效率是最高的 也是最感興趣的一種學習方式 比如說 最開始就從學C開始 做一些難題你會發現 會涉及鏈表堆棧 你就去學數據結構關於那幾章的東西 碰到遞歸 你就系統的去學習演算法里的遞歸 到後面學著學著你發現興趣全來了 你就可以去完一些 操作系統 編譯原理 這種更底層的東西 你就會發現裡面關於硬的東西不懂 可以去學習計算機組成原理 說不定你會有其他方向 不會每一步都按照這個來 我想表達的就是這個意思
我覺得按照大學的課程來學習就蠻好的
好好上課或者報個班吧
推薦閱讀: