這些很棒編程學習方法 你知道嗎

jopen 9年前發布 | 12K 次閱讀 編程

 

一旦你發現一個學習工具,它采用自上而下的方法,那么什么是最好的學習方法?我對這有一個具有爭議性的觀點:我認為盡可能快地記住基礎知識對初學 者 而言是絕對有必要的。當成為更高級的學習者,記憶很快成為一個被丟棄了的方式。你可能聽到過別人輕視地說(“不要死記,要內部消化”,“我在消化記住的東 西”,“我討厭測試,我不得不回想起記憶中的東西”)。

這些很棒編程學習方法 你知道嗎

另一方面,當你還是小學的時候,你被迫花時間來背乘法口訣表。為什么要背呢?因為你的基礎乘法口訣表可以是構建更復雜的乘除法的基礎。這和你記憶 編程 語言的語法并沒有什么不同:如果你寫 if 或 for 循環越自然,那么你寫出更復雜的語句塊也更容易。

我也承認記憶并不總是學習所有東西的最好方法,但是我相信對于編程初學者而言,是實踐編程所絕對必須的。為什么呢?因為它可以減少阻力,如果有什么東西會帶給初學者挫折,那就是阻力。

考慮到這一點,這里有一些具體的建議給那些正在學習或準備學習 Web 應用開發的初學者。實際上,說得更遠點更抽象點,這就是一個如何開始學習軟件開發的一個好計劃。很顯然,這不是一個適合所有人的計劃,但是我認為它一定適合大部分初學者。

  1. 學習一門弱類型的編程語言,不要先學習那種具有強制類型的、 面向對象 的編程語言。嚴格而言,如果有人對你提到 class (類)或繼承,那么你就應該去選擇其它的途徑了。雖然我認同類和繼承相關技術是軟件開發中必不可少的,但是我強烈認為它們不應該是初學者的選擇。

  2. 鑒于此,我認為 JavaScript 是初學者而言最理想的編程語言,因為:(a) JS 解釋器在絕大部分瀏覽器上都可用,(b)它的面向對象特性并不是強制型的,(c)在工業界被廣泛使用(是的,即使是 web 之外的客戶端,即使是現在擔任設備工程師的我也做嵌入 JavaScript 的工作。)

  3. 說得更具體點,我建議你學習用 JavaScript 如何學習去下面的事,特別是以這個順序:

  4. 學習如何打印出一些東西,學習如何聲明和定義變量,學習基本算術運算操作(包括余數操作),學習循環(特別是 for 循環),學習把抽象重復的代碼寫成函數,學習字符串和用循環操作字符串,學習數組和數組的循環方法(特別是 foreach 循環),學習創建和操作對象數據集。

  5. 記住上面的這些并每天寫一個程序來實踐,直到這些都輕而易舉地想起來。

  6. 學習 Git 的基本操作,學習通過命令行使用 Git。這意味著要先學習四個 Unix / Linux 命令(ls,pwd,mkdir,cd)。當學習了這幾個命令,也就學會了以“樹型”或層次結構的呈現方式查詢文件系統。

  7. 一旦你掌握了上面的幾個 Unix/Linux 命令,并會從命令行進入文件系統,你就應該學幾個基礎的 Git 命令。主要是 git init, git status, git add and git commit。

  8. 一旦你掌握了 Git 的基本操作,在學習下面的技術時將其集成到你的工作流中。

  9. 學習 HTML 基礎,能夠憑記憶創建簡單的 HTML 頁面。學習 DOM 和如何理解 HTML 作為指定的分層樹結構。花點時間來思考它如何關系到你在前面步驟中學到的分層文件系統。

  10. 學習 CSS 選擇器,了解它如何讓你選定 DOM 的某些部分。了解 DOM 元素之間的關系。了解一個 DOM 元素作為另一個 DOM 元素的父元素或子元素的含義。理解這與后代和祖先之間的關系有什么不同。記住選擇器可以讓你通過這些關系來選定某些元素。

  11. 學習 jQuery ,并主要專注于 DOM 的操作能力。學會用 jQuery 對 DOM 插入或刪除元素,實踐可視化如何影響用 DOM 定義的樹型結構。

  12. 實踐 jQuery 中的事件處理和 DOM 操作(比如,實踐操作 DOM 當用戶點擊某個東西,或在指定的時間間隔)。

  13. 多練習 JavaScript 對象,并把它們當作可變的聚合器。學習如何用 JavaScript 來表示更復雜的數據而不是基本數據類型。學會應用并操作這些 數據結構 。理解并定義 JSON 、理解它如何與 JavaScript 對象相關聯。

  14. 學會使用 jQuery 的 getJSON 函數從文件中獲取數據到 JavaScript 對象中。使用類似的技術,用一個簡單的 JSONP API 去練習用 AJAX 拉取數據。練習向 DOM 插入和刪除這個數據。

在這個階段,做一個簡單的幻燈片來循環播放 Flickr 圖片,這將是一個令人難以置信的項目,將真正考驗你的能力,使用之前學過的基礎技術來實現它。

如果你做了這一步,那么你已經掌握了大量必備的編程和計算機科學基本概念。具體來說,你掌握了 計算機程序 的最重要元素(如果 if-else 語句,循環,變量,對象,函數,數組等),你已經學會了鏈式或樹型的數據結構。這時,無疑你已經準備好轉移到更高級的主題。

英文原文: A Strong Approach To Learn Programming

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!