計算機專業如何自學


我在知乎上聽了一場live分享,標題是”如果自學計算機專業課程“,覺得老師講的很好,所以整理了這篇筆記。

首先自己要明白,為什么要學習計算機專業,如果沒有明確的目標,是很難堅持下去的。這個目標就因人而異了,而我學習的目的是因為現在的工作的太無聊,為了提升自己的核心競爭力,也為了自己的一個小夢想。

計算機的基礎知識是枯燥難懂的,而且大部分知識工作中都用不到,但學習這些基礎知識,會讓你”知其然,知其所以然“,也更有機會獲得創造性強的工作。計算機知識雖然龐大,但靠業余時間自學是完全可行的,不用懷疑

關鍵知識領域

計算機科學被划分為18個領域,領域之間都是有關聯性的,他們共同構成了計算機專業的關鍵知識領域

自學路線

下面這張圖概述了要學習的內容,推薦大家閱讀下浪潮之巔

學習方法

推薦閱讀“學習之道”這本書,這本書介紹了人的大腦是如何進行學習的。簡單來說,我們很多時候學習的知識都是零散的,人類學習的過程就是把知識轉化為組塊,並將其移入長期記憶的過程。我們在學習時的記憶是瞬間的,比如我聽了這場live,過了兩天我可能全忘了,但是記錄下來通多不斷鞏固,就會變成長期記憶。

基於組塊的場景式學習


這種方式非常適合解決工作中的問題。舉個例子,我的github有個開源項目Essay,這個項目最初我是為了解決公司業務中的vue ssr問題,要解決這個問題我需要學習webpack、vue、node、linux等這些組塊,通過掌握結合這些組塊順利解決了ssr問題。

學習的基本原則

這張圖很好理解,任何知識都不是看一遍就能完全掌握的,因此好書值得多看上幾遍。同樣,學習必須要制定計划,遇到問題不能得過且過。現在網絡這么發達,你遇到的問題很多都有解決方案,即使網上找不到,還有很多社區同行可以幫你。而有計划的學習可以讓進度可控,比如一本書有二十章,我每天必須掌握一章內容,把時間得到充分應用。最后的學習目標那就更重要了,能讀到我這篇筆記的人,相信都是有目標的人

認知規律

很多時候我們學習都是出於一時的興趣,這時的我們是感性的,並不知道學習它能給我帶來什么。慢慢的,當我們逐步深入,我們就會對要學習的東西有了理性的認識。

從具體到抽象可以看做是一個從初級到高級的過程,比如編程語言中的面向對象

理論必須在實踐中才能真正學好,這點相信每個人都有體會,上學時不知道學習的知識有什么用,工作后發現到處都要用

知識的“互聯網”

知識的深度遍歷

深度遍歷在實際生活中都有用到,比如我是做前端開發的,需要學習HTML、CSS、JS,而學習這三項又需要掌握其他知識,直到把他們都搞懂才算真正掌握

N + 1 和 N - 1層

工作中,我們處於第N層,比如前端大部分時間是寫頁面、對接口。N + 1層表示上一層,比如這個功能我如何做才能讓用戶喜歡、體驗更好。N - 1層就是下一層,比如瀏覽器的工作原理、http協議,為什么瀏覽器能渲染我的頁面?客戶端和服務器是如何通信的?

讀書的基本原則

“難書”如何閱讀

有些書看似薄薄的一本,但是看一頁都要花幾個小時,自信心受到打擊,真么辦?下面是幾種推薦方法

計算機專業課程學習建議

計算機與數學

數學和計算機的關系是緊密的,特定領域對數學的要求不同,但不可能脫離數學

推薦學習教材

認識計算機

下面這兩本書,帶你走進計算機的世界

深入理解計算機系統是一本經典教材,值得多讀幾遍

數據結構與算法

數據結構和算法是緊密關聯的,因此當數據結構發生變化,算法也同樣發生變化。學習數據結構和算法的目的,是為了針對特定的問題,設計出解決方案。比如https中的非對稱加密算法,其目的是為了解決數據傳輸的安全問題

下面是推薦閱讀的書籍和學習路線

計算機組成原理推薦書籍

計算機網絡

學習計算機網絡的關鍵是為了弄明白計算機是如何連接的、數據是如何在網絡中傳輸的、網絡軟件系統應該如何構建

推薦閱讀圖靈出版的書籍《網絡是如何連接的》

結語

最后用一張圖概括這場live所要表達的核心。

點線面,構成整個知識體系。另外,這個live是針對研究生的,因此是有難度的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM