小一下閱讀記錄+中英文閱讀書單
小一上通過英文橋樑書成功愛上英文閱讀(小一上英文閱讀書單和心得)。 小一下學會注音也認識了一點國字,可以開始自己讀中文書籍了,所以慢慢多讀一些中文的書。 不知道是因為年紀的關係還是有很多英文閱讀經驗的關係,小一下對一般字少的繪本已經不感興趣,所以直接閱讀超過4000字的橋樑書。剛開始...
小一上通過英文橋樑書成功愛上英文閱讀(小一上英文閱讀書單和心得)。 小一下學會注音也認識了一點國字,可以開始自己讀中文書籍了,所以慢慢多讀一些中文的書。 不知道是因為年紀的關係還是有很多英文閱讀經驗的關係,小一下對一般字少的繪本已經不感興趣,所以直接閱讀超過4000字的橋樑書。剛開始...
This is the design document for Gitlet project. Classes and Data Structures Main This is the entry point to Gitlet program. It takes in arguments from the command line and based on the command (the first element of the args array) calls the corresponding command in GitletRepository which will actually execute the logic of the command. It also validates the arguments based on the command to ensure that enough arguments were passed in. Fields This class has no fields and hence no associated state: it simply validates arguments and defers the execution to the `Gitlet`Repository class. Blob GItlet, like Git, is a content-addressable filesystem. Even one byte change in content will lead to a totally different blob object. To accomplish this, Blob class implements Serializable to save each different file content as blob object for future retrieve. Fields All the...
在寫Git 原理學習筆記的時候,就有考慮要不要跟著網上的教程:Write yourself a Git! 用Python寫個或者是照抄一個Git,但是當時不會I/O的處理,就先放棄了。沒想到CS61B的其中一個Gitlet項目就是用Java寫一個簡單版本的Git(包含checkout,merge,reset等...
最近開始學Java,感覺和Python蠻不一樣,於是在網上找找資料,看看二者的不同之處。 先分享一篇好玩又很有啟發的文章: 两年,我学会了所有的编程语言! 下面進入正題。 Java是編譯式的語言, Python是直譯式的語言? 想要清楚這個問題,要稍微了解下二者的程序是如何運行的。 Pytho...
之前學CS50W的時候學過一些Git指令覺得不好理解,這次開始CS61B課程之前又再次需要用Git。既然無可避免,那就花些時間試著了解看看git到底是什麼。 注:本文為初學者學習筆記,請謹慎參考。 名詞解釋: hash function,給予內容(value),通過hash function產生...
受A Python Guide to the Fibonacci Sequence啟發,我也來試試看用CS61A課程所學寫Fibonacci,感覺又好玩,又可以順便複習下課程。是的,好的課程一定要花些時間好好複習。 Fibonacci是什麼? Fibonacci,翻譯為斐波那契数。 請參考如下維基百科的定義。 source:Fibonac...
我們孩子就讀公立幼稚園公立國小,沒有提前學注音,小一上沒法獨立閱讀中文書籍,所以小一上的閱讀書籍以英文為主。 小一上我們每天至少閱讀了1個小時,至少看了100本橋樑書,和100本非橋樑書,總閱讀量估計超過10萬字。 寫這篇文章來記錄下,順便分享下書單和英文閱讀心得。 小一上英文閱讀書單...
注:本文部分引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,請小心參考。 上一篇筆記提到了Read-Eval-Print-Loop,這篇筆記記錄其中的附加題-tail call optimization。 尾調用(tail call) 在计算机学裡,...
注:本文引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,水平有限,請小心參考。 心得: 本來我想學Scheme版本的CS61A,弄了很久環境都沒有設置成功,然後轉學Python版本的CS61A。 沒想到課程第三章是先用一個python寫的...
巴菲特在年初的時候說:通脹時最好的投資是投資自己。而投資自己主要靠學習。 查理芒格的《窮查理普通常識》也教我們跨領域學習形成多元思維模型。 2022年是通脹的一年,聽從兩位大師的建議,我把主要精力放在投資自己上面,主要做法是跨領域學習。結果是,我的心情不僅沒受各種資產下跌的影響,反而...
我是一個會設定目標卻又沒有自制力不能堅持的人,無論是年目標、月目標還是日目標。 我常常會設定年度計劃,比如每年讀多少本書或者每年寫幾篇文章之類的,最後都是最多堅持兩個月。 在學習CS50的時候,我也設定每週學習一節課的目標,最後顯然失敗。我一度設定每日發表文章的目標,結果也只堅持一個...
2022年我利用帶小孩和運動之外的時間,學習了三門CS的課程:哈佛大學CS入門課CS50、Coursera上被數百所高校採用的計算機體系入門課Nand2Tetris(前5章)和伯克利大一學生程式入門課CS61A(跳過SQL部分因為與CS50重疊),下面分享下我為什麼自學程式。 以下...
CS61A(Fall 2022)第一部分的課程在介紹函數式編程,對應課本第一章,主要包含: 高階函數Higher-Order Functions 遞歸(一直call自己循環的函數) 也簡單帶過如下內容 Lambda( 匿名函數) Currying(只有一個argument的一串函數) Decorators(函數裝飾器,高階函...
註:本文為From Nand to Tetris 課程學習筆記,目的為總結個人所學。如有點閱,請謹慎參考。 前一篇文章(總結了電腦如何計算,但是電腦光是計算還不夠,還需要有時間的概念和記憶的能力。 如果我們要用loop計算1+2+3+4,我們就要先設定一個sum,讓sum=0,還要有用(i=0;i<4;...
註:本文為From Nand to Tetris 課程學習筆記,目的為總結個人所學。如有點閱,請謹慎參考。 人類是高等動物,具有邏輯思考能力,所以我們使用文字和阿拉伯數字來傳遞信息。 但是有很多場合,當無法用文字和數字來處理信息時,也會用二進制來傳遞或處理信息。 二進制是最簡單的溝通語言 比如: 烽火 烽火有兩種狀態...