CS61A 學習筆記和心得1:Python 函數式編程/遞歸

CS61A(Fall 2022)第一部分的課程在介紹函數式編程,對應課本第一章,主要包含: 高階函數Higher-Order Functions 遞歸(一直call自己循環的函數) 也簡單帶過如下內容 Lambda( 匿名函數) Currying(只有一個argument的一串函數) Decorators(函數裝飾器,高階函數的替代) 提示:本文參考課本所寫的筆記,方便自己以後複習,舉例含有部分作業代碼,要上課的同學請不要閱讀。 ...

2022-10-25 · Ariel

從0和1開始造一台電腦3-電腦如何記憶

註:本文為From Nand to Tetris 課程學習筆記,目的為總結個人所學。如有點閱,請謹慎參考。 前一篇文章(總結了電腦如何計算,但是電腦光是計算還不夠,還需要有時間的概念和記憶的能力。 如果我們要用loop計算1+2+3+4,我們就要先設定一個sum,讓sum=0,還要有用(i=0;i<4;i++)來loop,然後計算: ...

2022-09-13 · Ariel

從0和1開始造一台電腦2-電腦如何運算/2補數/加法器/ALU

註:本文為From Nand to Tetris 課程學習筆記,目的為總結個人所學。如有點閱,請謹慎參考。 人類是高等動物,具有邏輯思考能力,所以我們使用文字和阿拉伯數字來傳遞信息。 但是有很多場合,當無法用文字和數字來處理信息時,也會用二進制來傳遞或處理信息。 二進制是最簡單的溝通語言 比如: 烽火 烽火有兩種狀態,點燃為1,表示有敵人來犯;沒點燃為0,表示沒有敵人。所以總共有2^1=2種。 ...

2022-09-12 · Ariel

從0和1開始造一台電腦1-邏輯門

在學習CS50wk0的時候有學到電腦最底層都是一堆的0和1,當時就產生一堆的好奇心。感嘆每天自己使用的電子產品竟然都是從0和1這麼簡單的開和關一步步構造出來的。 所以在看到Nand2tetris part1課程號稱從NAND邏輯閘開始造一台可以跑簡單程式的電腦時,沒多想就開始上課了。 上完了前五章,我從一開始連Nor這種邏輯門都不能理解的人,看書然後跟著課程,慢慢從簡單的邏輯門開始,用模擬器構造出RAM/register/ALU,最後做出CPU。這個過程使用教授專門為了課程設計的硬體模擬語言HDL,在老師的指導下通過5週的作業做出了簡單的HACK電腦。不是真的連一堆電線,而是用模擬的方式學習背後的邏輯。 ...

2022-09-10 · Ariel

CS50 wk9 Flask學習和Finance作業心得

學習心得: CS50 wk9 是學習用Flask框架做網絡應用,作業是做一個簡易的股票買賣網站。 wk8和wk9都是網頁相關的,一開始有些抗拒,感覺沒有前半部分的會涉及電腦底層知識的課程有趣。然後又一口氣教這麼多,壓力很大。 加上Finance是一個很大的作業,會不想下手。所以我改變想法,讓自己每天寫1個小時,專注在時間上,而不是專注在作業本身。因為有時候作業很難很複雜會造成很大的心理壓力讓我們拖延。這是從《學習如何學習》這門課程學到的,專注在Process,而不是Product。 ...

2022-07-09 · Ariel

30天習慣養成心得——從夜貓子到早起早睡努力成為晨型人

從讀高中開始,我幾乎都是11點以後睡覺,工作後常常12點後才睡。曾經很多次想改變晚睡的習慣,看了很多本成為晨型人的書,但是每次下定決心,最後堅持最多一個禮拜。 一個月前,又嘗試了一次早睡早起,沒想到這次竟然堅持了一個月。每天10點左右睡,早上5:00-6:30沒有鬧鐘自然醒,哪怕中間有幾天出去旅行也保持同樣習慣。 ...

2022-07-01 · Ariel

《想生金蛋的母雞》:不管結果如何,勇於嘗試就好

當媽媽後給孩子讀了很多繪本,當一本書讀了超過一百遍以後,好像自己真的被“洗腦”了。 書讀百遍,其義自見。比如這本《小母雞的故事》,教會了我: 結果不重要,失敗是人生常有 重要的是試試看 《想生金蛋的母雞》的故事 《想生金蛋的母雞》說的是一隻夢想生金蛋的母雞的故事。 這隻小母雞,跟一大群母雞被關在又擠又臭的雞舍裡。有一天她對大家說,「將來我會生金蛋。」 自然,所有的母雞們都笑她。 ...

2022-06-28 · Ariel

我為什麼學習電腦科學(從CS50開始)

1月的時候寫了篇文章,寫了為什麼學習Python,文科生為什麼學Python? 現在學完了CS50 哈佛大學的電腦科學入門導論課程 後,我想學習的不僅僅是Python了,被挖了很多坑想學習,比如演算法、計算機網絡、高等數學等等。 1.減少mind wondering 如果沒有很專注的工作或者學習的話,很容易胡思亂想。 在家帶小孩沒有明確的任務,空閒時間就很容易mind wondering。 ...

2022-06-20 · Ariel

Wordpress 部落格URL 設置

最近在學CS50課程wk9,裡面有提到route。學著學著發現了自己長久以來犯的錯誤。 那就是我寫了150篇文章,竟然一直都在用系統自訂的URL,如下。 在瀏覽器裡看不出來很亂,好像也還可以接受,有可能是因為瀏覽器有轉碼的功能。 但是把網址copy下來貼到word會是如下這一長串編碼。好像中文字全部變為一串%加十六進制的編碼。 ...

2022-06-15 · Ariel

《原子習慣》實踐一:我想成為什麼樣的人?

《原子習慣》這本書的副標題是細微改變帶來巨大成就的實證法則(Tiny changes.Remarkable results)。中文版本的封面上還有一段話:每天進步1%,一年後進步37倍;每天退步1%,一年後弱化到零。 有點像成功學和Self Help類書籍的宣傳方式。因為我對此類書有點反感,所以遲遲未讀這本書。 當我學習了Coursera上廣受好評的《學習如何學習》和《幸福的科學》這兩門課後,發現這兩門課都強調了習慣和提示對我們學習和幸福感的影響非常大。 ...

2022-06-14 · Ariel

頹廢時如何重新找回狀態?

在學習了課程《幸福的科學》後,我給自己立了一個愛學習的人設,每天學點新東西也確實讓我的生活充實和幸福。但是我不是一個很有自制力的人,我的狀態常常被打斷。 當我沒有狀態的時候,我無聊的看各種新聞、看劇、看ptt或者刷微博,然後越看越無聊越焦慮,明明知道自己沈迷網絡(我自己的定義是每天使用手機超過6小時),但是卻無法自拔,然後繼續熬夜,第二天繼續惡性循環,這樣到最後甚至會影響我的日常生活。 ...

2022-06-08 · Ariel

養成控制體重和健康生活的12個好習慣

之前我最羨慕的是很有意志力可以堅持不懈的人,但是去年我學了The Science of Wellbeing的課程後,發現對於自己這種沒有意志力的人,想要改變,就不能靠意志力,而是要靠創造環境和養成習慣。 因為過去幾年大部分的時間都在懷孕和哺乳,導致胃口超級好,養成了每餐都吃飽飽的習慣,節食被我排除在外。 所以怎麼不節食慢慢控制體重是我想要做到的。 ...

2022-05-19 · Ariel

CS50 wk8 TCP,IP,HTTP,HTML,CSS,JavaScript課程筆記

本週學習: TCP(Transmission Control Protocol) IP(Internet Protocol) HTTP(HyperText Transfer Protocol) DNS(Domain NameS) HTML CSS JavaScript DOM 本週課程前面40分鐘講解了Computer Networking相關知識,教授用傳輸信件這個方式來形象的解釋了互聯網是如何傳輸信息的。 在2016年的wk6課程中,教授是用google網上的信息這個例子來說明信息是如何傳遞的。其中還有一個動畫短片Warrior of the Net形象的說明信息是如何傳遞的。 ...

2022-05-18 · Ariel

CS50 wk7 SQL學習心得

學習心得: 本週學習SQL,處理數據庫的語言,句法簡單。主要的句法參考下面兩個網站。 SQL Keywords Reference https://www.sqlstyle.guide 為什麼不寫筆記? 1.可以google 2.細節內容太多太費時間 3.可以通過code練習 4.理解概念之類的可以做筆記。 不過這個對於初學者很難,比如OOP這個概念,我也沒有完全弄懂。想要用自己的話寫出來,無形中逼迫自己學習更多思考更多。為了了解什麼是OOP,我看了很多視頻和文章,但是只有大概的感覺,還沒有徹底懂,所以我還沒辦法用自己的話寫出來。 ...

2022-04-23 · Ariel

CS50 wk6 Python課程筆記和學習心得

心得: 本週從C語言轉到Python,一開課教授就說:過去的六週通過學習C語言學了很多語言的基礎,之後學任何語言靠google和stackoverflow學一下句法就可以了。經過這一個多月的學習,好像對Python稍微有點感覺了。 一週學習Python一門語言的基本語法,這節課課程本身簡單了很多,不像之前的課程,得分好幾次看,這週課程可以一口氣看完。但是這週的作業,尤其是DNA還是有一定難度。 ...

2022-04-14 · Ariel
  | Copyright © -2026 Everydaydiva's Blog