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"