Nand2Tetris 課程學習心得
經過了非常艱苦的學習過程,終於透過 nand2tetris 學會了怎麼實作一台電腦。雖然學得很累,但是收穫也很多。
從 nand2tetris 課程當中我觀察到以下幾點:
- 對於這種實作型課程而言, nand2tetris 巧妙的安排了每一個習題,通常每個習題都有驗證程式,能讓你確認自己的實作結果是否正確,這對學習者非常有幫助。
- 雖然給了驗證程式,但是老師卻刻意將實作內容抽掉,但是留下框架,這讓學生能夠清楚地了解到底需要做甚麼專案,卻又必須仔細思考並想辦法填入對應的程式,這種以習題為主的學習方法,在實作性的課程上感覺非常有效。
- 習題的安排都是由淺入深,就像階梯一般,可以讓學習者一級一級的往上爬,於是不容易出現跳空的情況,這有效降低了專案對學習者的難度,當您完成了前一題之後,通常就具備進入下一題的基礎了。
- 投影片的內容雖然不多,但是幾乎都針對習題搭好了足夠的知識基礎,這對學習者而言是非常有幫助的。
基本上這個課程的安排方法就是,老師們先自己實作出所有的程式一遍之後,把模組框架留下,但是卻把實作內容移除,這樣自然就形成了一組習題,也就是請學員將實作部份完成,這種方法對學習程式而言是很好的方法。
另外、在網路發達的今日,您只要善用網路資源,就能夠學會絕大多數您想學的技術或知識,像是透過 nand2tetris 您就可以完整的學會實作一台電腦軟硬體的方法。
MOOC 的影片對學習而言是有幫助的,但是即使沒有影片,我們也能透過網路教材順利地學會 Part II 的內容。
雖然網路上已經有人給出習題解答,但是最好能夠在不看習題解答的情況下自行思考,這樣的學習效果會比較好,但是如我真的想不出來的時候,稍微參考一下這些解答,會是非常有幫助的。
解答就像是老師一樣,當您想不出來的時候,就提出問題問老師,然後看了對應的內容與解答後再繼續思考,這樣才不至於被卡住太久而喪失學習熱誠,所以在自學的時候,如果沒有老師與同學可以請教,那麼就先思考,真的想不出來的時候就參考解答吧!
編輯: 陳鍾誠 email: ccckmit@gmail.com