From 204afd8bab61217af70a5ead64cd53f2e2e616c2 Mon Sep 17 00:00:00 2001 From: Yadunand Prem Date: Sun, 17 Aug 2025 00:15:22 +0800 Subject: [PATCH] feat: w1 notes --- cs3231/main.pdf | Bin 25262 -> 28272 bytes cs3231/main.typ | 12 ++++++++++++ cs4212/hw1-hellocaml-yadunut | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cs3231/main.pdf b/cs3231/main.pdf index 93b80f7aed5938c8eba73bf54ebb0a6f4d45cd80..a963bbe4f108c5bca3661e02f2a02550ec7f819c 100644 GIT binary patch delta 14318 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 delta 11408 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