如何系統自學計算機科學——學習路線


整體路線

科普讀物:《計算機概論》、《IT簡史》

兩條并行線

編程語言(C/C++和Python)-----實用技術(流行的開發框架和工具)

數學基礎(離散數學、高數、線性代數、概論統計)------專業基礎理論(數據結構與算法、操作系統、計算機網絡、計算機組成原理)


兩條并行性之后就是深入鉆研特定的技術領域:人工智能、圖形圖像、云計算、物聯網等;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

語言介紹

C 語言——結構化編程語言

Java/c++ ——面向對象的語言

Python——動態編程語言,應用廣泛

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

學習之道

個人學習動機——決定自學好壞

方式、方法、策略;

了解學習理論

讀物《學習之道》

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

讀書之道

書的分類:

科普讀物:感性成份多,了解術語和概念,建立全局觀;

計算機專業教材:理性成份多,打好基礎,培養學習后勁;

實踐性讀物:多少天xxx,零基礎,xxx框架,xxx開發,培養特定開發技巧及對工具的使用

特定領域技術專著:復雜與抽象,深入挖掘規律與奧秘;


讀書之法:

多遍閱讀

斷點續傳

+++++++++++++++++++++++++++++++++++++++++++++++++++

專業知識具體路線

1、數學:

高等數學->線性代數->離散數學->概率論與數理統計;

推薦讀物:《普林斯頓微積分讀本》《離散數學機器應用》《線性代數及其應用》

MATLAB、EXCEL軟件促進數學學習;


2、計算機科學

《計算機科學概論》:建立全局觀;剝洋蔥方式學習;

科普讀物了解計算機科學:《人工智能》、《智能時代》;


3、數據結構與算法

針對特定問題,設計解決方案

算法的設計與評估

人工智能和大數據完全就是算法;


4、計算機組成原理

  看教材

5、操作系統

科普讀物+專業書籍(C/Linux);

深入理解計算機系統(OS、計算機組成原理、計算機網絡、編譯原理);

掌握Linux Shell編程、完成教程作業、開發網絡或多線程應用程序、使用工具完成相應實驗;


6、計算機網絡

(明白計算機如何連接,數據如何傳遞,網絡軟件系統如何構建)

前提要學:編程語言、數據結構與算法、操作系統

科普讀物---專業教材;

然后使用特定編程語言/平臺的網絡庫

動手寫網絡程序,工具抓包;

閱讀科普書籍、理解分層架構;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

核心基礎課程

C/C++

數據結構

算法

計算機系統

計算機網絡

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

其他課程

匯編語言

編譯原理

計算機組成原理

離散數學/線性代數/高數/概率論與數理統計

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

開源項目\庫\框架

網絡

網絡庫ACE(重量級)、libevent(輕量級)、《UNIX網絡編程》

socket原理;

數據庫

開源Mysql

懂數據庫的基本原理、熟練應用SQL語言、懂數據庫的優化、存儲過程;

日志操作

log4app日志庫、多線程、日志重定向到網絡、查找問題、記錄程序運行情況;

管理后臺

為程序提供一個web的管理界面,方便用戶登錄查看信息;

讀取配置文件

方便配置一些項目;為程序提供靈活性;必須有讀取配置文件的封裝類;

內存池

所有進程都需要分配內存;分配和管理內存是很有挑戰性的工作;

nedmalloc是開源的內存池庫;跨平臺的高性能多線程內存分配庫;

緩存庫

memcache,數據庫開發時候特別有用

腳本

python功能很強大,推薦學;

不同的應用領域會用到不同的庫;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

練手的項目與應用

應用

C語音實現Ping程序

C語音實現文件類型統計程序

C語音實現多線程排序

編寫萬年歷

制作計算器

項目

C++實現太陽系行星系統

C++開發Web服務框架

C++實現模擬銀行排隊

C++實現線程池

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

參考鏈接

如何自學計算機專業課程:http://www.lxweimin.com/p/72512b2fcab9

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容