看板 Gossiping作者 jserv (松鼠)標題 Re: [問卦] 真的有人懂整臺電腦的原理嗎?時間 Sat Jun 8 15:15:56 2019
※ 引述《melogod (瓜瓜)》之銘言:
: 真的有人懂整台電腦的每個零件為什麼能夠運作嗎
: 雖然小弟也讀過三電一工 但讀得超級爛所以當我沒讀過也行
: 以前學mos什麼三極管區飽和區 感覺好像有那麼一回事
: 但回過頭來想 還是不懂
: 為什麼一堆各種不同的金屬或半導體什麼鬼的放在一起 插上電
: 竟然可以做出那麼多事情 可以加減乘除打遊戲
「理解原理」和「能夠親手打造每個環節」其實是兩件事,前者應該是「每個」接受
過相關訓練的人都該具備的素養。若將問題變更為:
「空難事故後,在追究具體的責任之際,客機設計和製造的公司表達『現代客機相當
複雜,本公司沒有人能掌握全部軟硬體機構通訊等等運作的狀況』的立場」
你想罹難者家屬乃至到社會各界會出現什麼聲浪?
1970 年代推出的首款廣體民航客機波音 747 軟體由大約 40 萬行程式碼構成,2011 年
引進的波音 787 的軟體規模則是波音 747 的 16 倍,約 650 萬行程式碼。換言之,你
我的性命緊繫於一系列極為複雜的軟體系統之中,後者之所以複雜,是反映了更多工程
考量和責任歸屬議題。 [2]
Shimon Schocken [1] 曾是紐約大學的資訊科學教授,當他回到以色列擔任教職後,
發現不少學生有著原發問者相似的困惑:半導體、數學、程式語言、編譯器、作業系統
和應用程式等等在電腦中,貌似五花八門的領域,該如何掌握個別原理呢?
已故的諾貝爾物理獎得主 Richard Feynman 教授說過一句經典的話:
> "What I Cannot Create, I Do Not Understand"
為了讓學子理解電腦軟硬體的運作原理,Shimon Schocken 教授也秉持 Feynman 教授
的信念,從 NAND 邏輯閘開始,一路打造整台電腦出來 (!),並且還提供對應的線上
課程:
*
https://www.coursera.org/learn/build-a-computer
*
https://www.nand2tetris.org/ (從 NAND 邏輯閘開始組合,一路打造能運作俄羅斯
方塊遊戲的整台電腦,中間包含自己設計的程式
語言、編譯器,還有虛擬機器)
參加課程前,可先觀賞十餘分鐘的 TED 演說,得知 Shimon Schocken 教授的宏願及
實事求是的態度: (有繁體中文字幕,請在 YouTube 操作介面勾選)
*
https://www.nand2tetris.org/talks
一門課程絕對能讓學生「理解原理」,從而搭配其他相關工程訓練,逐步掌握個別環節。
台灣許多大學課程都是 18 週,為何效果可能不如 10 週以內的同名課程呢?我想對學生
的期待可能是主因。
胡適先生的名句:「發表是最好的記憶」,搭配「費曼學習法」來落實,步驟如下:
1. 找一個想要理解的主題,學習過後,記下該主題的核心觀念和對應描述;
2. 設想一個場景,向其他人傳授這個主題概念;
3. 如果無法順利解說,表示還有不清楚的地方,這時再回去查找資料,重新學習;
4. 最後,以自己的語句解釋這個主題。表現這個主題概念已經大腦中產生更多的連結;
若只用眼睛去看,終究是別人的。唯有親身經歷,才能深刻體會。
Daniel Stefanovic 整理了一份貫串 Feynman 教授想法的 "build-your-own-x":
*
https://github.com/danistefanovic/build-your-own-x
這裡可見從無到有打造 3D renderer, 區塊鏈, 作業系統, 程式語言, 文字編輯器等等
資訊系統,都是我們數位化生活的一部分,但真的只有親身經歷,才會真的掌握。
當然,我們也用上述方式來學習 C 語言程式設計,歡迎參加線上講座:
*
你所不知道的 C 語言
[1]
https://www.shimonschocken.com
[2] 軟體缺失釀造的危害,可說從家破人亡到動搖國本都有,絲毫不誇張。參見共筆:
https://hackmd.io/@sysprog/B1eo44C1-
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.213.234 (臺灣)
※ 文章代碼(AID): #1S-s2paS (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1559978163.A.91C.html
→ tetani: 要喝牛奶 自己養牛種牧草?10F 06/08 15:21
→ jserv: @tetani, 倘若你懷疑牛奶本身有問題,想要去申訴甚至打官司是否該知道從牧場到精煉到物流過程的知識呢?21F 06/08 15:27
→ Wand …
推 Wand: 白天發文耶!難得。30F 06/08 15:36
推 peine: 推33F 06/08 15:40
推 oncemore: 老師不考慮轉youtuber嗎34F 06/08 15:40
推 yzpdal: 我自幹我驕傲36F 06/08 15:41
→ stlevi811101: Carrie Anne講的也很清楚 而且動畫又可愛
而且如果講太快B站還有中國人翻譯41F 06/08 15:47
推 chh1470: 為什麼都是中文 我卻看不太懂…45F 06/08 15:51
推 vendee: 簡單清楚的解說好文,感謝46F 06/08 15:53
推 w199381: jserrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrv!!!!49F 06/08 16:03
推 nilr: 軟體基礎有作業系統,硬體基礎有CPU,其它還有好多可學。51F 06/08 16:06
→ jserv: 金門大學陳鍾誠教授的「十分鐘講解 nand2tetris」:54F 06/08 16:15
推 gogob: 請收下我的膝蓋63F 06/08 16:39
推 wei115: 推jserv 現在在看mazuCC仿造一個自己的編譯器!66F 06/08 16:44
推 trchen: j大最近怎麼頻頻發文70F 06/08 16:50
推 cocota: 推推.老師最近很認真上來八卦教學哩77F 06/08 17:27
推 LierX: 推81F 06/08 18:07
→ Siu: 大學部就是懂一台386怎麼Work的吧...82F 06/08 18:10
推 g5637128: 跪著推,最近老師發文好勤勉85F 06/08 18:16
推 uismuu: 都有人可以在麥塊裡做電腦了97F 06/08 19:35
--