曾幾什麼時候,利用Google搜索某問題的時候,意外地接觸到了一個網站:https://www.gitbook.com/。一個在線編輯書籍、文章的文章,具體描述能夠去其網站觀看。該網站舊版地址:legacy.gitbook.com.git
剛工做不到一年的時候,接觸到公司的商業項目,逐步意識到編程說難不難,說不難也難。以前看文章說學計算機繞不開的兩項技能:英語和數學,在此期間深入體會到了其重要性。尤爲是數學,我發現通常開發只須要中學數學知識就夠了,尤爲是高中數學,當年只是爲了高考,不知有何用,如今真要感謝高數的數學老師。固然搞人工智能只有高中數學是不夠的,我想從事人工智能行業的朋友應該對大學數學的做用有更深入的認識。程序員
編程中兩項核心能力——抽象和邏輯能力,均可以經過紮實的數學訓練獲得增強。爲何說編程的核心能力也是難點所在是抽象和邏輯能力呢?數據結構與算法是大部分程序員頭痛的地方,數據結構即抽象,是對現實世界的人和物的抽象表示;算法即邏輯。還有一樣使人頭疼的設計模式不也是由於太抽象了嗎? 還有一旦涉及到軟件系統設計,這也是抽象。算法
好比,編程語言的循環和遞歸,不就是數學概括法的體現嗎?編程
再如幾個常見數學概念在計算機和軟件開發中的體現,設計模式
1.函數數據結構
數學函數三要素:定義域、對應法則、值域。編程語言
對應於編程語言中的函數:形式參數、函數主體(邏輯、計算規則)、返回值。函數
2.命題工具
(1)命題的真假對應分支語句的真與假學習
分支語句判斷條件有無遺漏,從如下兩點分析:
a.條件有沒有遺漏
分支語句範圍要完整,纔不會有遺漏,致使邏輯錯誤。另外還要注意else if語句是排他的。
舉例,else if 語句:
if(x > 60){......} else if(x > 40){......} else if(x > 20){......}
b.條件有沒有重複
鋪墊了那麼長,就是想強調數學的趣味性和重要性。所以,本人就特地查找到了專門講解有關計算機科學的數學的課程,準備好好學習,並翻譯其教材,即精讀。翻譯工具即Gitbook。
初步成果展現連接:https://finit-xu.gitbook.io/msc20180606/。也能夠點擊閱讀原文查看課程詳情。