本人用PPT畫的簡圖,不太規範。算法
知識架構圖:編程
總的來講大概的知識架構就如上圖所示。數組
回想一下本科所學的內容:網絡
1.有至關一部分時間在學數學、英語、馬克思這些內容。數據結構
2.而後就是一些體育、各類通識課、動手實踐課。架構
3.剩下就是專業課。機器學習
總的來講本科教育是以通識教育爲主,什麼都學一點,可是不得不說如今的大學教育與社會需求已經脫節了。編程語言
一些基本概念:學習
指令(instruction):字面上理解就是命令的意思,計算機執行指令就像人服從命令同樣。大數據
程序(program):指令的集合,可是隻有指令是不行的,還須要數據,程序才能執行。
算法(algorithm):解決問題的方法,一個好的算法很是重要,例如對於查找,簡單的就是遍歷這個效率不高,但像二分查找能夠極大地縮短查找時間。
數據結構(data structure):數據之間的組織結構,例如數組佔用一塊連續的內存空間,鏈表就能夠利用離散的存儲空間。
編程語言(programing language):與計算機進行交互的語言,又分爲高級語言、彙編語言、機器語言,通常如今都是用高級語言來編程,容易上手,開發效率高。
編譯(complier):例如C、C++、Java編寫的程序,須要編譯生成字節碼才能運行,負責編譯的模塊叫編譯器,須要編譯執行的語言稱爲靜態語言。
解釋(interpreter):例如JavaScript、PHP、Python編寫的程序,是經過解釋,邊解釋邊運行,負責解釋的模塊叫解釋器,須要解釋執行的語言稱爲腳本語言。
軟件使用:學習使用軟件是頗有必要的,像office辦公軟件在平常生活中的應用很是之廣。
軟件開發(software development):咱們目前通常都是開發應用軟件,少有開發操做系統的,開發軟件通俗來說就是寫程序。
操做系統(opreating system):雖然咱們不多開發操做系統,可是熟悉並理解操做系統的原理是頗有必要的。
計算機的物理層:涉及計算機的組成,數據的輸入、存儲、輸出,指令的執行。最底層還涉及電子技術,一些物理設備的製造,例如顯卡、CPU、磁盤等。
計算機網絡(computer network):計算機與計算機通信的網絡,到如今網絡已經很是普及了,除了傳統的網線鋪設、如今的移動網絡也很是發達。
計算機將來的發展方向:人工智能、大數據,這些概念基本是耳熟能詳的名詞了,在這裏就很少說了。
===============更新於2019-4-24====================================
如今已經進入到研究生階段了,不得不說本科時候的想法仍是太naive了,我記得剛上線性代數的時候,老師就說這門課對大家來講特別重要,由於線代在計算機中的應用不少,但當時不覺得然,以爲學了高數、機率論、線性代數沒有用。時隔4年,如今想來真是後悔沒把這些數學課學精。目前機器學習裏面有着大量的數學公式,例如像矩陣求導、矩陣分解、正態分佈等經常使用知識。之前寫簡單程序的時候,都是for循環了事,如今則每每經過矩陣運算來實現。而這些數學公式的推導須要紮實的數學基礎。