Files
cs-self-learning/docs/编程入门/Functional/CS3110.md
Yinmin Zhong 4979ddabbe [UPDATE] Reorganize the intro to programming section (#593)
* reorganize intro to programming

* nits

* nits
2024-04-14 00:55:13 +08:00

35 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CS3110OCaml Programming Correct + Efficient + Beautiful
## 课程简介
- 所属大学Cornell
- 先修要求了解一门命令式编程语言类C语言
- 编程语言OCaml
- 课程难度:🌟🌟🌟
- 预计学时40 小时
### 课程评价: modern SICP
如果说编程入门的最好的课程是 SICP。在其之后就是 CS3110。
如果你不知道什么叫函数式编程语言,或者只是听过这个名词,那么这门课程,正如它的名字,会让你体会到什么叫正确,高效和美。
CS3110 不仅局限于函数式编程,更是将理论和实用充分结合。课程内容更进一步,涵盖了 OCaml 语言基础,数据结构和算法,测试开发,形式证明,语言特性实现等诸多内容。而且内容之间并不割裂,而是递进和互补,非常值得学习。
主讲老师 Michael Ryan Clarkson浸淫编程多年用词简单表述清晰内容环环相扣剖析一针见血。课程视频甚至用来练听力听不懂开英文字幕理解起来毫不费力。
### 课程简史,摘自课程教材
CS3110 是康奈尔大学打磨 20 余年的课程。最初发源于 MIT6.001 SICP在其基础上增加更严格方法和材料涵盖函数式编程环境模型数据结构算法和语言实现。2008 年,正式名称改为 CS3110改用 OCaml 语言。2018 年秋季,开始编写[课程教材](https://cs3110.github.io/textbook)。现任课程的主讲老师于 2021 年在 youtube 上公布了[课程视频](https://www.youtube.com/playlist?list=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU)。
## 课程资源
- 课程视频油管: <https://www.youtube.com/playlist?list=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU>
- 课程视频B站: <https://www.bilibili.com/video/BV1dv4y127Ui/>
- 课程教材:<https://cs3110.github.io/textbook>
- 课程作业:课程教材中 exercises 自选,难度 1 至 4 星,注意 3 星至 4 星的难度跨越很大。
## 资源汇总
@featherwit001 在学习这门课中用到的所有资源和作业实现都汇总在 [featherwit001/CS3110_OCaml_Programming - GitHub](https://github.com/featherwit001/CS3110_OCaml_Programming) 中。