一旦你發現一個學習工具,它採用自上而下的方法,那麼什麼是最好的學習方法?我對這有一個具有爭議性的觀點:我認為盡可能快地記住基礎知識對初學者而言是絕對有必要的。當成為更高級的學習者,記憶很快就變成被丟棄了的方式。你可能聽過別人輕視地說(“不要死記,要內部消化”,“我在消化記住的東西”,“我討厭測試,我不得不回想起記憶中的東西”)。
另一方面,當你還是小學的時候,你被迫花時間來背乘法口訣表。為什麼要背呢?因為你的基礎乘法口訣表可以是建立更複雜的乘除法的基礎。這和你記憶程式語言的語法並沒有什麼不同:如果你寫 if 或 for 迴圈越自然,那麼你寫出更複雜的語句塊也更容易。
我也承認記憶並不總是學習所有東西的最佳方法,但是我相信對於程式設計初學者而言,是實踐程式設計所絕對必須的。為什麼呢?因為它可以減少阻力,如果有東西會帶給初學者挫折,那就是阻力。
考慮到這一點,這裡有一些具體的建議給那些正在學習或準備學習 Web 應用開發的初學者。實際上,說得更遠點更抽象點,這就是一個如何開始學習軟體開發的一個好計劃。很顯然,這不是一個適合所有人的計劃,但是我認為它一定適合大部分初學者。
- 學習一門弱類型的程式語言,不要先學習那種強制類型的、物件導向的程式語言。嚴格而言,如果有人對你提到 class (類別)或繼承,那麼你就應該去選擇其它的途徑了。雖然我認同類別和繼承相關技術是軟體開發中必不可少的,但是我強烈認為它們不應該是初學者的選擇。
- 鑑於此,我認為JavaScript 是初學者而言最理想的程式語言,因為:(a) JS 解釋器在絕大部分瀏覽器上都可用,(b)它的物件導向特性並不是強制型的,(c)在工業界被廣泛使用(是的,即使是web 之外的客戶端,即使是現在擔任設備工程師的我也做嵌入JavaScript 的工作。)
- 說得更具體點,我建議你學習用JavaScript 如何學習去下面的事,特別是以這個順序:
- 學習如何打印出一些東西,學習如何聲明和定義變量,學習基本算術運算操作(包括餘數操作),學習循環(特別是for 循環),學習把抽象重複的程式碼寫成函數,學習字串和用循環操作字串,學習數組和數組的循環方法(特別是foreach 循環),學習創建和操作對象資料集。
- 記住上面的這些並每天寫一個程式來實踐,直到這些都輕而易舉地想起來。
- 學習 Git 的基本操作,學習透過命令列使用 Git。這意味著要先學習四個 Unix/Linux 指令(ls,pwd,mkdir,cd)。當學習了這幾個指令,也學會了以「樹型」或層次結構的呈現方式查詢檔案系統。
- 一旦你掌握了上面的幾個 Unix/Linux 命令,並會從命令列進入檔案系統,你就應該學幾個基礎的 Git 命令。主要是 git init, git status, git add and git commit。
- 一旦你掌握了 Git 的基本操作,在學習下面的技術時將其整合到你的工作流程中。
- 學習 HTML 基礎,能夠憑記憶建立簡單的 HTML 頁面。學習 DOM 和如何理解 HTML 作為指定的分層樹結構。花點時間思考它如何關係到你在前面步驟中學到的分層檔案系統。
- 學習 CSS 選擇器,了解它如何讓你選定 DOM 的某些部分。了解 DOM 元素之間的關係。了解一個 DOM 元素作為另一個 DOM 元素的父元素或子元素的意義。理解這與後代和祖先之間的關係有什麼不同。記住選擇器可以讓你透過這些關係來選定某些元素。
- 學習 jQuery,並主要專注於 DOM 的操作能力。學會用 jQuery 對 DOM 插入或刪除元素,實踐視覺化如何影響 DOM 定義的樹型結構。
- 實踐 jQuery 中的事件處理和 DOM 操作(例如,實踐操作 DOM 當使用者點擊某個東西,或在指定的時間間隔)。
- 多練習 JavaScript 對象,並把它們當作可變的聚合器。學習如何用 JavaScript 來表示更複雜的資料而不是基本資料型別。學會應用並操作這些資料結構。理解並定義 JSON、理解它如何與 JavaScript 物件相關聯。
- 學會使用 jQuery 的 getJSON 函數從檔案中取得資料到 JavaScript 物件。使用類似的技術,用一個簡單的 JSONP API 去練習用 AJAX 拉取資料。練習插入 DOM 並刪除這個資料。
在這個階段,做一個簡單的幻燈片來循環播放 Flickr 圖片,這將是一個令人難以置信的項目,將真正考驗你的能力,使用之前學過的基礎技術來實現它。
如果你做了這一步,那麼你已經掌握了大量必備的程式設計和電腦科學基本概念。具體來說,你掌握了電腦程式的最重要元素(如果 if-else 語句,循環,變量,對象,函數,數組等),你已經學會了鍊式或樹型的資料結構。這時,無疑你已經準備好轉移到更高級的主題。
謝謝關注websites部落格!
本文最初發表在codecloud.net,文章內容屬作者個人觀點,不代表本站立場。
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
以上就介紹了一個非常正確且強大的程式設計學習方法,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。