# 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)。 ## 课程资源 - 课程视频油管: - 课程视频B站: - 课程教材: - 课程作业:课程教材中 exercises 自选,难度 1 至 4 星,注意 3 星至 4 星的难度跨越很大。 ## 资源汇总 @featherwit001 在学习这门课中用到的所有资源和作业实现都汇总在 [featherwit001/CS3110_OCaml_Programming - GitHub](https://github.com/featherwit001/CS3110_OCaml_Programming) 中。