# [ CS50x ] Week 0 Scratch 二進制好像也滿有趣的 簡單介紹 [CS50](https://cs50.harvard.edu/x/2024/) 這門課,這是哈佛大學教授 [**David J. Malan**](https://cs.harvard.edu/malan/) 每學期都會開的電腦科學課(而且是通識課,好羨慕),很棒的是不是只有哈佛的學生才上得到,全世界的人都可以透過網路來一起上課,甚至也可以一起參與交作業和詢問助教的過程。 加入這個課程只要在 [edX](https://learning.edx.org/course/course-v1:HarvardX+CS50+X/home) 免費註冊後,選你要的課程就可以了,升級的話可以拿到證書 再來就是要去 [GitHub](https://github.com/) 註冊一個帳號,之後交作業要用的,作業繳交的詳細做法在每次上課裡面 **Problem Set** 裡都有 **進入正題** ## 什麼是二進制 從電源🔌到電腦💻 因為我並不是資工相關科系,所以對於電腦裡面到底發生什麼事一直都是個謎,直到學了二進制,才知道電腦就是一直在開開關關,像燈泡一樣 💡 機器的訊號就兩種:開、關(廢話) ==開 = 1 關 = 0== 上表格,從右到左看過來 | 2^2^ | 2^1^ | 2^0^ | 得到的數字 | | ---- | ---- | ---- | ------------------------------------- | | 0 | 0 | 0 | 0 x 2^2^+ 0 x 2^1^ + 0 x 2^0^ = **0** | | 0 | 0 | 1 | 0 x 2^2^+ 0 x 2^1^ + 1 x 2^0^ = **1** | | 0 | 1 | 0 | 0 x 2^2^+ 1 x 2^1^ + 0 x 2^0^ = **2** |  表格中的每個 0 或 1 都代表了一個 **bit** => ==8 個 bits(= 1byte )== 總共可以創造出 2^8^ 個數字(0~255) 有了這些表示方法,可以控制開關,就可以定義所有現在電腦創造出來的東西了 ### Letters : [ASCII碼](https://shihyu.github.io/books/apas01.html) 用數字表示字母,但英文只是其中一種語言,於是產生出了 Unicode(萬國碼) ### Context matter : [emoji](https://en.wikipedia.org/wiki/Emoji) Unicode 延伸應用: `U+1F44D` 代表大拇指, `U+1F3FD` 代表皮膚的顏色  顏色、音樂、影片等等以此類推,都是由**二進制**小積木堆疊起來的 ## 基本演算法概念  一組指示,像SOP一樣 step by step,的解決方法,用 **PseudoCode** 來把每一步先寫出來,Devid 也示範如何在電話簿中比較快速的找到目標,比起一頁一頁的查找,先從中間一分為二,判斷名字字母順序,可以直接刪除不可能的那一半。 > **DRY Principle:** > Don't Repeat Yourself ```shell= # PseudoCode Pick up phone book Open to middle of phone book Look at page If person is on page Call person Else if person is earlier in book Open to middle of left half of book Go back to line 4 Else if person is later in book Open to middle of right half of book Go back to line 4 Else Quit # always quit ``` ## Scratch  來到我覺得很好玩的地方了,[Scratch](https://scratch.mit.edu/) 是一個很像在疊樂高的寫程式小遊戲,可以透過不同的色塊,自己創造出很多應用程式,但不用寫任何一行的 code 這個是我這次交出去的功課,有興趣可以玩一下😂 裡面有一位潛水員,有 20 秒的時間撿垃圾,隨著難度變高,垃圾會變小,不好發現 海裡有一隻水母,碰到水母會扣分,水母會說: **JELLY!** **遊戲的想法來自:** 海洋生物常常會把塑膠垃圾當成食物吃下去,例如以為塑膠袋是水母的海龜;而死亡海鳥的肚子中,也常常發現各種塑膠垃圾 按下<span style = "color:green">**綠色**</span>旗幟,開始遊戲 <iframe src="https://scratch.mit.edu/projects/894750720/embed" allowtransparency="true" width="485" height="402" frameborder="0" scrolling="no" allowfullscreen></iframe> </br> </br> </br> #### Source: - [CS50s Week 0](https://cs50.harvard.edu/x/2024/weeks/0/) - [Midway: Message from the Gyre](http://www.chrisjordan.com/gallery/midway/#CF000313%2018x24) By photographer [Chris Jordan](https://www.beautyemerging.com/contact)  - [海鳥吃塑膠?日益嚴重的海洋塑膠危機——《科學月刊》](https://pansci.asia/archives/94078) </br> </br> </br> </br> </br> </br> </br> </br>
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up