[COURSE] Add CS3110 Cornell University (#490)

* [COURSE] Add CS3110 Cornell University

* [COURSE] Add CS3110 Cornell University modify format
This commit is contained in:
featherwit001
2023-08-15 21:32:02 +08:00
committed by GitHub
parent ba9520c5b7
commit c49f7f9dd7
3 changed files with 69 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# CS3110OCaml Programming Correct + Efficient + Beautiful
## Descriptions
- Offered by: Cornell University
- Prerequisites: basic knowledge about imperative programmingsuch as C, Python, Java
- Programming Languages: OCaml
- Difficulty: 🌟🌟🌟
- Class Hour: 40 hours
### Evaluation for course: Modern SICP
If the best course for getting started with programming is SICP, then following it is CS3110.
If you are unfamiliar with what a functional programming language is, or have only heard the term, then this course, just like its name, will allow you to experience what is meant by correctness, efficiency, and elegance.
CS3110 is not only limited to functional programming, but it also combines theory and practical applications extensively. The course content goes further, covering OCaml language fundamentals, data structures and algorithms, test development, formal proofs, language feature implementation, and many more topics. Moreover, these contents are not isolated; instead, they are progressive and complementary, making it highly worth studying.
The main instructor, Michael Ryan Clarkson, with years of immersion in programming, employs simple language, clear explanations, and dissects the content with precision. The course videos are even useful for improving listening skills, and understanding is effortless with the aid of English subtitles.
### A Brief History of CS 3110
CS3110 is a course meticulously crafted by Cornell University over more than 20 years. Initially inspired by MIT6.001 SICP, it has been enriched with stricter methodologies and materials, encompassing functional programming, environment modeling, data structures, algorithms, and language implementation. In 2008, its formal title changed to CS3110, transitioning to the OCaml language. In the fall of 2018, the process of writing the [course textbook](https://cs3110.github.io/textbook) began. The current course instructor announced [course videos](https://www.youtube.com/playlist?list=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU) on YouTube in 2021.
## Course Resources
- Recordings on youtube: <https://www.youtube.com/playlist?list=PLre5AT9JnKShBOPeuiD9b-I4XROIJhkIU>
- Recordings on Bilibili: <https://www.bilibili.com/video/BV1dv4y127Ui/>
- Textbook<https://cs3110.github.io/textbook>
- AssignmentsIn the textbook, exercises are optional, with difficulty ranging from 1 to 4 stars, noting that the difficulty between 3-star and 4-star exercises varies significantly.
## Personal Resources
All the resources and assignments used by @featherwit001 in this course are maintained in[featherwit001/CS3110_OCaml_Programming - GitHub](https://github.com/featherwit001/CS3110_OCaml_Programming)

View File

@@ -0,0 +1,34 @@
# CS3110OCaml 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)。
## 课程资源
- 课程视频油管: <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](https://github.com/featherwit001/CS3110_OCaml_Programming) 中。

View File

@@ -162,6 +162,7 @@ nav:
- "Stanford CS110L: Safety in Systems Programming": "编程入门/CS110L.md"
- "AmirKabir University of Technology AP1400-2: Advanced Programming": "编程入门/AUT1400.md"
- "Haskell MOOC": "编程入门/Haskell-MOOC.md"
- "Cornell CS3110: OCaml Programming Correct + Efficient + Beautiful": "编程入门/CS3110.md"
- 电子基础:
- "EE16A&B: Designing Information Devices and Systems I&II": "电子基础/EE16.md"
- "UCB EE120 : Signal and Systems": "电子基础/signal.md"