35 lines
2.1 KiB
Markdown
35 lines
2.1 KiB
Markdown
|
# CS3110:OCaml 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) 中。
|