CS3110:OCaml Programming Correct + Efficient + Beautiful¶
约 481 个字 预计阅读时间 2 分钟
课程简介¶
- 所属大学:Cornell
- 先修要求:了解一门命令式编程语言,类C语言
- 编程语言:OCaml
- 课程难度:🌟🌟🌟
- 预计学时:40 小时
课程评价: modern SICP¶
如果说编程入门的最好的课程是 SICP。在其之后,就是 CS3110。
如果你不知道什么叫函数式编程语言,或者只是听过这个名词,那么这门课程,正如它的名字,会让你体会到什么叫正确,高效和美。
CS3110 不仅局限于函数式编程,更是将理论和实用充分结合。课程内容更进一步,涵盖了 OCaml 语言基础,数据结构和算法,测试开发,形式证明,语言特性实现等诸多内容。而且内容之间并不割裂,而是递进和互补,非常值得学习。
主讲老师 Michael Ryan Clarkson,浸淫编程多年,用词简单,表述清晰,内容环环相扣,剖析一针见血。课程视频甚至用来练听力,听不懂开英文字幕理解起来毫不费力。
课程简史,摘自课程教材¶
CS3110 是康奈尔大学打磨 20 余年的课程。最初发源于 MIT6.001 SICP,在其基础上增加更严格方法和材料,涵盖函数式编程,环境模型,数据结构,算法和语言实现。2008 年,正式名称改为 CS3110,改用 OCaml 语言。2018 年秋季,开始编写课程教材。现任课程的主讲老师于 2021 年在 youtube 上公布了课程视频。
课程资源¶
- 课程视频油管: 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 中。