系統自學計算機科學之路
自學路線
科普讀物:《計算機概論》、《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++實現線程池
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
參考鏈接
如何自學計算機專業課程:https://www.jianshu.com/p/72512b2fcab9
系統自學計算機科學之路