Cornell CS3110: OCaml Programming Correct + Efficient + Beautiful - CS自学指南 #491
Replies: 7 comments 11 replies
-
学完后,还用学CS61A吗 |
Beta Was this translation helpful? Give feedback.
-
看了一半左右OCaml的官网教程,今天准备系统学一下OCaml于是搜索了CS3110(之前就已经了解到这门课了),没想到csdiy恰好更新了这门课,感觉也算是缘分了,加油! |
Beta Was this translation helpful? Give feedback.
-
另外补充一点,这门课程串联了很多东西,可以尽自己所能去探索实现某一个方面的内容, 比如尾递归优化,参考课程教材,对所有之前设计到递归的函数改写成尾递归优化的形式,哪些能改,那么不能改? 比如:作业中的矩阵,尝试实现矩阵运算,加减乘除,为了加快矩阵乘法可以尝试使用矩阵转置,使用QCheck测试框架,看看优化前后面对不同规模的数据(100维至2000维)实际的耗时有什么变化? 比如:使用AVL tree实现Map,可以参考OCaml Stdlib中的实现,实现中平衡因子是2,而是不是标准的1,思考这是为什么? 比如:课程中只涉及了红黑树的插入平衡,可以探索红黑树的插入,使用红黑树重新实现Map。 比如: 参照课程提供的calc,实现完成的包含浮点数的四则运算,注意负数怎么实现? 比如:参照课程的simPL语言,探索一下函数fun和apply 如何实现? 比如:参照课程的simPL语言,探索一下函数fun和apply 如何实现?类型检查type check 如何实现 比如:参照课程介绍的 Hindley-Milner algorithm,类型推断type reference 的原理是什么?其他语言,如Haskell,rust,racket 都使用了什么算法实现类型推断? 这些是我做过的一部分,还有更多可以探索的东西,而且这些问题的起点都是课程中的内容,从课中出发,按照自己的兴趣,使用所搜索和chatgpt,能充分运用学到的知识。 |
Beta Was this translation helpful? Give feedback.
-
下学期学ocaml,先学上 |
Beta Was this translation helpful? Give feedback.
-
请问这门课可以代替sicp吗 |
Beta Was this translation helpful? Give feedback.
-
学完后脑袋空空,考试代码打的我发冷汗😭 |
Beta Was this translation helpful? Give feedback.
-
Cornell CS3110: OCaml Programming Correct + Efficient + Beautiful - CS自学指南
CS自学指南
https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS3110/
Beta Was this translation helpful? Give feedback.
All reactions