2019年6月3日 星期一

哈佛CS50 Week0 overview:1.從「進制」談起

Week0導讀大綱分為五單元
1.介紹各種進制(二元進制Binary/十進制Decimal)
2.如何表示資料(ASCII/RGB)
3.解決問題的流程(Algorithm)
4.程式基礎概念(Loop/Condition/Boolean/Expression/Function)
5.Scratch入門
--
導讀內容一開始教「進制」:
「進制」就是「進位制度」。

今天也是用貓騙讚
貓貓CS50


我們慣用的「個十百千萬」是「十進制」,每10個單位要再進位。
「二進制」顧名思義,每二個單位要進位,講是很容易啦,然後就卡關了(廢到笑)。

所以上網找了二進位的教學影片,然後就學會了(爆簡單)

至於為什麼要學二進制呢?

讓我舉個例子:我們都背過26個英文字母,學英文前要先學字母,接著才能用字母去組合,拼成單字、句子、文章...

英文有26個字母,加上大小寫就是52個字元
日文有50音,還有分平假名、片假名、漢字...
知道為什麼中文難學了嗎?
因為中文不是用拼的XD 你要學幾千個日常用字才能構築一個句子

而電腦是一台機算機,在具備複雜的計算能力前,要教它這麼多字母,根本不可能www

於是聰明的科學家教電腦超簡單的字母:0、1
沒了。

把0和1當基本字母,再用0和1的排列組合,構成複雜的語言和運算。

至於為什麼是0和1,這個說明不完全正確,anyway
電腦需要通電才能作用,把0想像成沒通電(關門)、1當作通電(開門)。開門關門、有通沒通,就是這樣簡單。

然後一定有人犯賤 :「門開一半不行嗎?0.5?」

不行!NO!沒有!
你看過有人懷孕懷一半嗎?
沒有,沒有這種東西!

如果你真的很犯賤,要說「我覺得有啊~」
那你可以下課了。
就像你要硬把學英文硬加上兩個自創字元,然後說「我覺得這樣也可以說得通」下場就是跟別人溝通不良,你水瓶座喔外星人喔。

語言存在的作用就是溝通
溝通是為了讓彼此的理解一樣(或者說盡可能一樣)

所以精確、精準,遵守規範,是語言、尤其程式語言很重要的認知,可以讓你少跌很多坑^.<

--

關於二進制更詳細、更科學的解說
請參考「寫點科普,請給指教」的這篇文章
為什麼電腦是只有 0 與 1 的世界?

佩服很多作者能寫出專業、有深度的科普文章(望洋興嘆)
沒關係,我寫筆記的初衷是路邊的小黃狗,也能聽得懂
而且我的強項不在於HOW,而是WHY。

Lynn寫得超好超詳細,看完請大家看文章右邊的抖內按鈕XD
我不只愛抖內、也愛鼓勵大家抖內(比心)

---

最後,Week0的大綱編制是有因果關係的,請按照順序用心領會:

進制-代表電腦的語言/邏輯。
不同國家的人使用不同語言,雙方要溝通,其中一人必須學會對方的語言 。但是電腦怎麼可能學人類的語言,想也知道是我們去學電腦的語言/邏輯,先認知清楚一個事實:「電腦和人類處理資訊的方式不同」,你才能繼續這門課。

*拉拉補充:關於語言/邏輯,我覺得人人都該有這個認知,由於從零建構一個全新的模組(概念)非常困難,抄截進的方式是:用對方已經會的事情為基礎來教他。用對方的語言/邏輯當成積木蓋房子,比你重新拌水泥砌磚頭蓋房子更快,understand?

---

這份筆記的內容取自哈佛大學CS50課程、鋰學院的導讀、Youtube網友製作的教學影片以及個人心得整理。

--
對了,寫這份筆記前,我問過鋰學院能否引用導讀的內容,他們的回答是OK,簡報和圖片也OK,真的很感恩。

大家如果有去翻cs50.tv的內容,每堂課使用的PPT和文字筆記也是被完整分享在網路上,使用條款請自行去翻,我懶得貼&說明了。

如果寫筆記真的懶爆或累到,我會直接copy先人們做好的資源啦~

偉哉公開課!

沒有留言:

張貼留言