# 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) 中。