iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0

第0週一開始是十分基礎的介紹,對於電腦的語言是怎麼來的,我們平常是如何和電腦溝通的,都用了淺顯易懂的例子來解釋,我自己邊看影片的過程中做了以下筆記:

講者:David J. Malan

基本概念

課程最一開始就講解了電腦的基本組成就是:輸入 -> 輸出,然後解決問題,但中間留了一格方形空白,這個後面會講。

Unary 單元、Binary 二進制、Decimal 十進制

有聽過電腦是 0 與 1 組成的,但究竟是怎麼組成的呢?
講者用了燈泡的排列來講解 001 010 100 的排列代表什麼意思
000 為數字0
001 為數字1
010 為數字2
011 為數字3
100 為數字4
111 為數字7
最後可以得出每個數字計算的位置。

我聽完這段後,其實還是不太懂,但可以大概知道他的排列順序

ACSII ACSII編碼

接下來到了ACSII編碼,就會和熟悉的鍵盤有關,根據編碼表會知道每個按鍵所對應電腦的值是什麼:
ACSII

例如 Hello 所對應的 ASCII編碼 就會是:

72 69 76 76 79

二進制時就會變成

0100 1000
0100 0101
0100 1100
0100 1100
0100 1111

Unicode 萬國碼、Byte 位元、Emoji 表情符號

如果文字可以藉由鍵盤轉換,那大家最常使用的表情符號呢?
課程提出下列的表情符號是什麼 4,036,991,106.


答案是:😂 Face with Tears of Joy

RGB 三原色、Pixel 像素

接著來到了顏色的顯示,在此之前,我其實不知道RGB的數值的意義,直到這時候才了解
原來 RGB(72,72,33) 所對應的是電腦的編碼,他也可以轉換成文字 HI!

而每一個像素都由RGB組成,每張圖片最終會變成RGB組成的值,比較常見的例如base64

Abstraction 抽象化

這段在講解計算機概論和寫程式最主要的核心其實就是解決問題,這邊講者用找紙本電話簿的例子:
以前找商家時,我們會先去索引找對應的字母,然後再找對應字母的頁數,然後再去該頁找到商家電話

那現在的程式是如何在你輸入文字的一瞬間就找到了呢?
先找到對應的字母,那我在取得資料時就會過濾掉其他不需要的字母
然後找到對應的字母頁數,這樣又過濾掉了其他資料,最終在留下該商家的電話
其實這段就是將處理問題的過程敘事化後,然後拆解,寫程式就是不斷地在做這件事,而電腦會透過我們寫的程式去快速地執行,以達到我們想要的結果

scratch

這個是麻省理工學院的一個線上用積木學習如何寫程式的網站,後半段都在利用這個網站去執行一些簡單的結果和動作,還蠻有趣的,如果有空可以去玩玩看。

scratch

後記

抽象化的概念用於自己在拆解事情和function,以及TDD的測試案例;聽完這段後,在寫程式時就會練習不急著要找到方法和馬上查出範例程式碼,而是一步一步想著要怎麽做
練習拆解問題以及步驟後,會發現真的完全理解是怎麼一回事,對工作上的幫助很大。

一邊上課一邊整理筆記一邊吸收消化真的是蠻累的,希望我可以堅持下去!


上一篇
Day 0 : 前言
系列文
計算機概論 with CS50: 程式英文的雙修之旅2
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言