From 6b0d175d80e945391ddf86fb2e0017ef958b3e69 Mon Sep 17 00:00:00 2001 From: showthesunli Date: Tue, 27 Dec 2022 19:00:04 +0800 Subject: [PATCH 1/4] [COURSE] Add Haskell MOOC (#367) * Add Haskell MOOC (#356) * follow Chinese copywriting guidelines --- docs/编程入门/Haskell-MOOC.md | 38 +++++++++++++++++++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 39 insertions(+) create mode 100644 docs/编程入门/Haskell-MOOC.md diff --git a/docs/编程入门/Haskell-MOOC.md b/docs/编程入门/Haskell-MOOC.md new file mode 100644 index 00000000..9e7cb304 --- /dev/null +++ b/docs/编程入门/Haskell-MOOC.md @@ -0,0 +1,38 @@ +# Haskell MOOC + +## 课程简介 + +- 所属大学:University of Helsinki +- 先修要求:无 +- 编程语言:Haskell +- 课程难度:🌟🌟 +- 预计学时:因人而异 + +函数式编程正在越来越多的融合入现代编程语言。Java 的 Streams,JavaScript 的 Promises,以及在 ECMAScript 草案阶段的 Record & Tuple。在学习这些内容时,我总是感觉我在死记它们这些 api 的行为,虽然能够使用它们写出一些程序,但总感觉不到掌握了它们。究其原因,它们为什么存在?它们为什么是这样的?设计它们的思想是什么?学完函数式编程会给你答案。 + +虽然这门课的名字是 Haskell,但它的核心内容是函数式编程思想。就像学习面向对象程序设计,大概率不会选择 Java 之外的语言。 + +学习 Haskell,但不会去用它。这门课会让你用刚刚够用的 Haskell 语法,刚刚够用的库函数,一丁点的工具,去解释核心的程序语义,也就是函数式编程的核心思想。这不会让你浪费时间陷入语言细节以及语言生态中,我觉得它是这门课的最大优势。 + +这门课覆盖的内容: + +- Pure Function +- Lazy Evaluation +- Strongly Typed +- Type Inferred +- Curry +- Monoid / Functor / Monad / Applicative + +如果你有编程经验,课程的 Part1 很简单,难度集中在 Part2 的十三章之后。课程的练习很棒,它有一种在做 [CS61a](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/) 练习的感觉。练习的注释中有足够的提示,作业在你提交之后会给你标准答案,你还可以在官方的 Telegram 中提问或与他人讨论。 + +## 课程资源 + +- 课程网站: +- 课程视频:无 +- 课程教材: +- 课程作业: +- 社区: + +## 资源汇总 + +@showtheunli 在学习这门课中用到的所有资源和作业实现都汇总在 [showthesunli/haskell-mooc - GitHub](https://github.com/showthesunli/haskell-mooc) 中。(非常不建议在作业时,参考别人的实现) diff --git a/mkdocs.yml b/mkdocs.yml index 46ca4afa..32f780be 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -156,6 +156,7 @@ nav: - "Stanford CS106L: Standard C++ Programming": "编程入门/CS106L.md" - "Stanford CS110L: Safety in Systems Programming": "编程入门/CS110L.md" - "AmirKabir University of Technology AP1400-2: Advanced Programming": "编程入门/AUT1400.md" + - "Haskell MOOC": "编程入门/Haskell-MOOC.md" - 电子基础: - "EE16A&B: Designing Information Devices and Systems I&II": "电子基础/EE16.md" - "UCB EE120 : Signal and Systems": "电子基础/signal.md" From 0fbdaf37e2cc9002c837b865d5b5d7c916452d35 Mon Sep 17 00:00:00 2001 From: Lee Date: Wed, 28 Dec 2022 20:34:03 +0800 Subject: [PATCH 2/4] [TOOLS] Add PlantUML (#368) * add plantuml tool * modify expression --- docs/必学工具/tools.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/必学工具/tools.md b/docs/必学工具/tools.md index 910c8c5e..5db9dcc2 100644 --- a/docs/必学工具/tools.md +++ b/docs/必学工具/tools.md @@ -24,6 +24,7 @@ - [turbosquid](https://www.turbosquid.com/): 可以购买各式各样的模型。 - [flaticon](https://www.flaticon.com/): 可下载免费且高质量的图标。 - [标准地图服务系统](http://bzdt.ch.mnr.gov.cn/): 可以下载官方标准地图。 +- [PlantUML](https://plantuml.com/zh/): 可以使用代码快速编写 UML 图。 ## 编程相关 From 71049ff92c5fd1b79e5dfd373885505df8ca674d Mon Sep 17 00:00:00 2001 From: jihongyu <48473551+jhongyu@users.noreply.github.com> Date: Wed, 28 Dec 2022 20:34:20 +0800 Subject: [PATCH 3/4] [FIX] Fix link in the N2T.md (#369) --- docs/体系结构/N2T.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/体系结构/N2T.md b/docs/体系结构/N2T.md index f2a629f3..6aba15f9 100644 --- a/docs/体系结构/N2T.md +++ b/docs/体系结构/N2T.md @@ -18,7 +18,7 @@ - 课程网站:[Nand2Tetris I](https://www.coursera.org/learn/build-a-computer/home/week/1), [Nand2Tetris II](https://www.coursera.org/learn/nand2tetris2/home/welcome) - 课程视频:详见课程网站 -- 课程教材:[计算机系统要素:从零开始构建现代计算机](book) +- 课程教材:[计算机系统要素:从零开始构建现代计算机][book] - 课程作业:10 个 Project 带你造台计算机,具体要求详见课程网站 [book]: https://github.com/PKUFlyingPig/NandToTetris/blob/master/%5B%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E8%A6%81%E7%B4%A0%EF%BC%9A%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%9E%84%E5%BB%BA%E7%8E%B0%E4%BB%A3%E8%AE%A1%E7%AE%97%E6%9C%BA%5D.(%E5%B0%BC%E8%90%A8).%E5%91%A8%E7%BB%B4.%E6%89%AB%E6%8F%8F%E7%89%88.pdf From d6780193570baa2ff9608eaa38535c04384ff782 Mon Sep 17 00:00:00 2001 From: mancuoj <45707684+mancuoj@users.noreply.github.com> Date: Wed, 28 Dec 2022 23:46:29 +0800 Subject: [PATCH 4/4] [FIX] Fix giscus dark mode in new page (#371) --- overrides/main.html | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/overrides/main.html b/overrides/main.html index e7c8cffe..a82028c2 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -3,11 +3,19 @@ {% block disqus %}