CS50 課程導讀心得:Week 4

Lidemy 鋰學院
Aug 22, 2017 · 5 min read
  1. 直播影片:https://www.youtube.com/watch?v=KJ35LaK1VUA
  2. 投影片:https://docs.google.com/presentation/d/1PfNCvxJV_pOozArub_N-99-fXwu7yNw_Lt3EjlVKLiU/edit?usp=sharing

CS50 開始慢慢變得越來越難了,這一週的作業就是開啟我對於 CS50 感到驚歎的契機。

當初我在做這一週作業的時候感想是:

哇塞,太狠了吧!通識課欸!教你用 xxd 看 binary 還有直接寫 C code 去處理圖片,這太硬了吧!厲害厲害

就是因為這次作業,讓我覺得 CS50 的深度很夠,而且我以前其實也沒有用 C 處理過圖片的經驗,所以這次作業也讓我學到很多。

總之呢,CS50 前半段課程會愈來愈往底層走,最底大概到 Week6吧,要實作部分的 HTTP Server,接著就會慢慢拉回來了。所以前半段安然度過的話,後半段也一定沒有問題。

我在做投影片的時候,把這週的重點放在指標上面,畢竟這是我一直以來覺得 C 裡面很難的一個東西,尤其對於初學者。但看大家的反應,我解釋的應該是還可以啦,不錯不錯。

比較遺憾的是,這週直播剛開始又有一點小錯誤,麥克風不知道為什麼收音很奇怪,我後來也沒做什麼,就是重開 OBS 而已,怪了。但幸好重開之後就好了,不然我也不知道還可以怎麼修了。

這幾週導讀感覺越來越順了,而且這一週大概一小時以內就結束了,所以這幾週最快的吧XD

課後回饋

這一次的回饋表單裡面,我靈機一動加入了一個簡單的指標陷阱題小測驗,看起來效果滿好的,以後可以考慮多出一點這種測驗。

接著來看一下大家普遍的反饋:

指標講得很好、圖片解析那邊很有趣、喜歡問卷上的題目、搭配 PPT 很容易理解概念

圖片解析那邊我也是後來才想到要加上的,因為我也覺得超有趣。投影片我也是下了一番苦心在做,我自己在做的時候就覺得做得還不錯XD

然後這次這種出題的方式,我以後會考慮變成常態性的,而且我也不怕你改答案啦,畢竟我也沒有要評分的意思。

有人反饋了一個缺點:

程式底層運作那邊是cs50講的很詳細, 相較下導讀沒有詳述memory每塊大概的意思, 但可能是因是導讀所以也好像不算什麼缺點…

的確啦,我是認為如果有些概念 CS50 花很多時間講得很好,其實基本上我就不用再重講一遍了,除非是我覺得還可以再進步的、或者是真的很重要(例如說指標)的概念,我就會把它列入重點。

最後來回一下大家的問題:

請問哪裡可以找到作業的解答~~? 目前才跟到第一週的導讀, 寫完作業後程式碼可以依照作業需求run,但也很想知道可以在哪裡找到cs50或老師提供的解答,對對看有沒有哪裡寫法不一樣的地方 。

可能是因為怕別人抄作業的關係啦,所以有些解答大家都自己留著,沒有公開出來,官方就更不可能有解答了。但儘管如此,你 Google: cs50 pset 之類的關鍵字,還是能在 Github 上面找到其他人的解答喔。

至於我自己的,可能日後會公佈啦,我不太確定。

下次直播前幾分鐘可先作設備測試,關於題目我覺得比較好的解釋是資料型態錯誤,*ptr 應該assign成記憶體位址資料型態 而不是整數資料型態

好的,這個建議十分受用,我也覺得應該做個測試。

然後 Google 表單不能換行,所以要解釋很麻煩我沒解釋到這麼詳細,但你的這個解釋很好喔,大家可以參考這個解釋。

我還沒有花時間去找所以要求這個有點厚臉皮 … 我想問老師能不能提供CS50的作業環境架構指南跟每一次的作業內容。因為目前在資策會上課的時間壓力有點大,三不五時就要寫到天亮(功力太差orz),就沒餘裕去收集資訊…

不行XD

這些其實官網上面都有啦(只是是英文的),如果時間壓力很大的話,其實可以考慮之後再修,畢竟這堂課很自由的,任何時間都可以來修。不過我的確是有考慮把作業翻成中文的,但目前還在考慮階段而已。

一開始的設備問題老師非常快速即時的解決,非常感謝。關於問題詳解的地方我覺得自己答錯是因為,我本來認為的錯誤在於ptr應該宣告成 int* ptr才能使用(也就是後面才能接&a),我的理解是 int*(沒有空格) ->宣告int指標;*ptr(沒有空格) ->去到ptr所指的紙標。

我以前的想法跟你一樣,就是那個星號讓我混淆超久。所以我在直播裡面說了,「在宣告的時候的星號是一個意思,取值的時候又是另外一個意思」,int* ptr跟 int *ptr 一模一樣。

然後取值的時候用的 *ptr 又是另外一個意思了,絕對不要把它跟宣告時候的星號想在一起,不然會比較難理解。

哈哈 答案宣布在這邊,會不會有人偷改答案呢! 指標真的不是很直覺,我還是需要一點時間來理解 QQ

加油QQ 打敗他你就海闊天空了

好啦,以上就是這週全部的問題,再次感謝大家的填表,我們下週見。

意見回饋列表:https://docs.google.com/spreadsheets/d/1P3ypgUubB-o8b4132xb3tmhu-_YGTP32Lj51Z4quPII/edit?usp=sharing

)

    為初學者而生的線上程式課程平台

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade