CS50 課程導讀心得:Week 2

依照慣例先附上本週相關資料:

  1. 投影片
  2. 直播影片

這一週的難度其實比我想像中簡單,就是兩個重點概念:Function 跟 Array,Function 的部分我選擇從國中數學的方程式去講:y=f(x)。

我覺得這樣會更好理解啦,畢竟兩個就真的是差不多的東西。從現有的知識下手會比直接帶來一個全新的概念好,至少可以跟以往的東西有所連接。

然後我看正課中有幫大家詳細講解 for 迴圈,但那個我們上禮拜做過了,所以這週我就再補充一個新的,是我剛好想到的,那就是 goto。

其實我以前大學在修組合語言的時候,就曾經有一個想法:

會不會其實讓初學者從組合語言開始,反而能更快上手?

理由是因為組合語言一行就一個指令,就是一條一條指令執行下去,你要講程式基礎概念那些變數(暫存器)、條件判斷(eq, neq)、迴圈(jump)等等的都可以講,而且是從最底層的角度出發。

但這個也只是一個想法啦,我也不知道正不正確,但這次講解迴圈就是把這個概念帶進來,我也是修組合語言才知道迴圈底層原來是那樣跑的,就是不斷重複然後跳來跳去。

以初學者來說,我覺得第一個卡關點就在迴圈,第二個卡關點就快到了,絕對是指標沒有之一。

接著,這次的意見回饋調整了一下,新增了兩個問題,而這次的問卷填表總數是 14,持續下降中XD

根據填表結果,有 8 成的人一直有在跟課,2 成的人是新來的。

程式基礎方面,最多的是有一點程式基礎的初學者:

然後有寫作業的人還是偏少,不知道是打算看完導讀再寫,還是就是不會寫的意思XD

這週的導讀內容的有幫助程度是 8.3 分,直播滿意度是 7.3,對比上週的 8.4/9.2,直播滿意度大幅下滑。

為什麼呢?

因為網路狀況不太好,所以輸出調 1080p 的話直播會卡,以後碰到這種情形大家可以儘早在聊天室出聲一下,因為可能不是只有你這樣,而是全部人都這樣。

後來緊急修復,把輸出調成 720p 就順暢許多了。網路問題真的是麻煩…

最後是意見回饋,這次的優點都滿一致的,就是整理得很好、講解得很清楚。有人提議說應該要講雙層迴圈,沒錯,我居然忘記有雙層迴圈了,這是我的失誤QQ

雙層迴圈絕對又是一個超大卡關點,看之後有沒有機會碰到吧,有碰到的話我會再提的。

缺點的話就是直播會卡,然後有一個問了跟畫格子有關的問題,其實那個格子也不用想得太複雜,你就想成每一格都是記憶體的一個位置(大小多少可以先不用管),然後一個字元就是佔一格,就是字串實際在記憶體裡的樣子。

最後來回一下兩個問題:

  1. 想問一下老師,如果在做作業時有問題,可以一併在直播時提問嗎?

我本來是覺得可以啦,但其實作業問題通常不是短時間能解決的,而且你還要附上範例程式碼跟錯誤訊息之類的,會拖到滿長時間。作業還是在社團裡面發問就好,這樣比較方便解答,不好意思囉,或是你私訊給粉絲團問我也可以。

2. 今天感覺起來好像沒什麼精神! 加油加油!

哇,這個人太厲害吧!這樣你也聽得出來。導讀那天其實身體不太舒服啦,就一直流鼻涕 + 頭有點痛,處於一個快要感冒(或其實已經感冒)的狀態,不過後來有好一點了,感謝關心。

這一週的心得就差不多是這樣啦,希望大家能夠持之以恆繼續修這門課,因為這門課如果你有認真修完,作業都有自己寫完,收穫真的非常非常大。

最後依照慣例附上所有回饋內容:https://docs.google.com/spreadsheets/d/1zvuLDq9VKp5QSTsx0c3fuhM6jjJeKIUSXWtM4kqohJY/edit?usp=sharing

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.