mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-25 10:56:55 +08:00
2.1 KiB
2.1 KiB
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年秋季,开始编写课程教材。现任课程的主讲老师于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 中。