小一下閱讀記錄+中英文閱讀書單

小一上通過英文橋樑書成功愛上英文閱讀(小一上英文閱讀書單和心得)。 小一下學會注音也認識了一點國字,可以開始自己讀中文書籍了,所以慢慢多讀一些中文的書。 不知道是因為年紀的關係還是有很多英文閱讀經驗的關係,小一下對一般字少的繪本已經不感興趣,所以直接閱讀超過4000字的橋樑書。剛開始孩子自己閱讀有困難的時候,就採用半讀半聽的方式。或者由媽媽讀個開頭,留些時間讓孩子自己讀,最後再由媽媽讀完整個故事。 ...

2023-07-19 · Ariel

Gitlet design document

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 following instance variable will be serialized. ...

2023-06-15 · Ariel

用Java寫個簡單的Git:CS61B Gitlet項目筆記

在寫Git 原理學習筆記的時候,就有考慮要不要跟著網上的教程:Write yourself a Git! 用Python寫個或者是照抄一個Git,但是當時不會I/O的處理,就先放棄了。沒想到CS61B的其中一個Gitlet項目就是用Java寫一個簡單版本的Git(包含checkout,merge,reset等),就試試看吧。 其實自己OOP的理解和I/O的處理都還不是很會,Java也是剛學,CS61B才學了一半,要自己手寫個Git,頗有難度,非常考驗耐心。不過這個項目有種魔力,一旦開始就很難放棄,所以我才能中途沒有放棄。(之前學CS50做tidman,覺得太難,我獲得70分後就放棄了) ...

2023-06-13 · Ariel

Java 和 Python 的區別

最近開始學Java,感覺和Python蠻不一樣,於是在網上找找資料,看看二者的不同之處。 先分享一篇好玩又很有啟發的文章: 两年,我学会了所有的编程语言! 下面進入正題。 Java是編譯式的語言, Python是直譯式的語言? 想要清楚這個問題,要稍微了解下二者的程序是如何運行的。 Python是怎麼運行的? 來源:is-python-a-compiled-language-or-an-interpreted-language 比如helloworld.py文件。如下是比較常見的運行方式: 使用interpreter(比如CPython),解釋器第一步將原代碼編譯(compile)為“byte code”。byte code和machine code區別在於前者是跨平台性的。 ...

2023-04-07 · Ariel

Git 原理學習筆記

之前學CS50W的時候學過一些Git指令覺得不好理解,這次開始CS61B課程之前又再次需要用Git。既然無可避免,那就花些時間試著了解看看git到底是什麼。 注:本文為初學者學習筆記,請謹慎參考。 名詞解釋: hash function,給予內容(value),通過hash function產生某種key,形成key和value的對應關係 ...

2023-02-18 · Ariel

9種方法寫Fibonacci(Python)

受A Python Guide to the Fibonacci Sequence啟發,我也來試試看用CS61A課程所學寫Fibonacci,感覺又好玩,又可以順便複習下課程。是的,好的課程一定要花些時間好好複習。 Fibonacci是什麼? Fibonacci,翻譯為斐波那契数。 請參考如下維基百科的定義。 source:Fibonacci number 維基百科中文版也有不同語言版本的程式參考: https://zh.wikipedia.org/wiki/斐波那契数#程式參考 ...

2023-01-18 · Ariel

小一上英文閱讀書單和心得

我們孩子就讀公立幼稚園公立國小,沒有提前學注音,小一上沒法獨立閱讀中文書籍,所以小一上的閱讀書籍以英文為主。 小一上我們每天至少閱讀了1個小時,至少看了100本橋樑書,和100本非橋樑書,總閱讀量估計超過10萬字。 寫這篇文章來記錄下,順便分享下書單和英文閱讀心得。 小一上英文閱讀書單: 1.Dog man TitleLexile Dog Man260-530LDog Man Unleashed260-530LFor Whom the Ball Rolls260-530LA Tale of Two Kitties260-530LDog Man and Cat Kid260-530LBrawl of the Wild260-530LFor Whom the Ball Rolls260-530LFetch-22260-530L Grime and Punishment260-530LMothering Heights260-530L Dog Man可以說我們姐姐看的第一套橋樑書,某次逛誠品買了一本回來試試看,沒想到兩個孩子搶著看。於是當天就在誠品線上買了一整套。 ...

2023-01-18 · Ariel

CS61A 學習筆記和心得4-Tail Call

注:本文部分引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,請小心參考。 上一篇筆記提到了Read-Eval-Print-Loop,這篇筆記記錄其中的附加題-tail call optimization。 尾調用(tail call) 在计算机学裡,尾调用(tail call)是指一个函数里的最后一个动作是返回一个函数的调用结果的情形,即最后一步新调用的返回值直接被当前函数的返回结果。 ...

2023-01-11 · Ariel

CS61A 學習筆記和心得3-通過學習用Python寫個Scheme Interpreter來學習編程語言

注:本文引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,水平有限,請小心參考。 心得: 本來我想學Scheme版本的CS61A,弄了很久環境都沒有設置成功,然後轉學Python版本的CS61A。 沒想到課程第三章是先用一個python寫的解釋器學Scheme,不用下載任何東西。然後作業是自己一步一步寫一個Scheme語言的解釋器,每完成一步還可以自己運行看看。完成作業後,我們自然了解到這個解釋器的程式也就這樣而已嘛,不難懂啊,沒什麼神秘的。 ...

2023-01-05 · Ariel

2022 總結--通脹時最好的投資是投資自己

巴菲特在年初的時候說:通脹時最好的投資是投資自己。而投資自己主要靠學習。 查理芒格的《窮查理普通常識》也教我們跨領域學習形成多元思維模型。 2022年是通脹的一年,聽從兩位大師的建議,我把主要精力放在投資自己上面,主要做法是跨領域學習。結果是,我的心情不僅沒受各種資產下跌的影響,反而覺得自己更幸福了。 ...

2023-01-02 · Ariel

設定目標總是沒法完成,用這些來取代目標好了

我是一個會設定目標卻又沒有自制力不能堅持的人,無論是年目標、月目標還是日目標。 我常常會設定年度計劃,比如每年讀多少本書或者每年寫幾篇文章之類的,最後都是最多堅持兩個月。 在學習CS50的時候,我也設定每週學習一節課的目標,最後顯然失敗。我一度設定每日發表文章的目標,結果也只堅持一個月。 我還有個壞習慣,那就是有目標後會告訴身邊所有的人。最後沒有完成,簡直雙倍打臉。讓我一直覺得自己是個loser,深陷負面的情緒。 ...

2023-01-02 · Ariel

為什麼自學程式

2022年我利用帶小孩和運動之外的時間,學習了三門CS的課程:哈佛大學CS入門課CS50、Coursera上被數百所高校採用的計算機體系入門課Nand2Tetris(前5章)和伯克利大一學生程式入門課CS61A(跳過SQL部分因為與CS50重疊),下面分享下我為什麼自學程式。 以下內容是我在一整年學習的過程中邊學邊總結寫成的,思考的過程就是找到動力的過程,幫助自己持續學習下去。 ...

2023-01-02 · Ariel

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
  | Copyright © -2026 Everydaydiva's Blog