[COURSE] Add KAIST CS220 (#724)
* [COURSE] Add KAIST CS220 * add course kaist cs220
This commit is contained in:
parent
a615e87bb1
commit
f234ecf6f9
|
|
@ -0,0 +1,24 @@
|
|||
# CS220: Programming Principles
|
||||
|
||||
## Descriptions
|
||||
|
||||
- Offered by: KAIST
|
||||
- Prerequisites: Any programming language
|
||||
- Programming Languages: Rust
|
||||
- Difficulty: 🌟🌟🌟
|
||||
- Class Hour: 40 hours
|
||||
|
||||
[Jeehoon Kang]((https://cp.kaist.ac.kr/jeehoon.kang)) from KAIST and his [Concurrency and Parallelism Laboratory]((https://cp.kaist.ac.kr/)) appear to be strong advocates of the Rust programming language. Their contributions include [CS431](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/) and [CS420](https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS420/) in the csidy curriculum. Naturally, they have developed an introductory course for Rust, which is this course. It covers most of the essential topics needed to get started with Rust.
|
||||
|
||||
This course does not have an official textbook. The course homepage recommends using the [Rust book](https://doc.rust-lang.org/book/) for learning and provides a structured learning path in the [slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p). Although there are no publicly available lecture videos, the comprehensive testing system makes this course an excellent resource for practicing Rust. Some exercises can serve as a great supplement to [CS110L](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/). If you still feel the need for more practice after completing CS110L, this course is a good choice. Some exercises are quite challenging, and Jeehoon Kang encourages the use of AI-assisted programming. However, AI is not perfect, and the core work must still be done by yourself.
|
||||
|
||||
## Course Resources
|
||||
|
||||
- Course Website: [Github Repository](https://github.com/kaist-cp/cs220)
|
||||
- Recordings: None
|
||||
- Textbooks: [slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p)
|
||||
- Assignments: [Github Repository](https://github.com/kaist-cp/cs220/tree/main/src/assignments)
|
||||
|
||||
## Personal Resources
|
||||
|
||||
There are no publicly available answer keys, and it is unclear whether the course instructor supports the idea of sharing solutions. If you encounter difficulties, you can find discussions about the assignments in the [ISSUE](https://github.com/kaist-cp/cs220/issues) section of the repository.
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# CS220: Programming Principles
|
||||
|
||||
## 课程简介
|
||||
|
||||
- 所属大学:KAIST
|
||||
- 先修要求:其他任何一门编程语言
|
||||
- 编程语言:Rust
|
||||
- 课程难度:🌟🌟🌟
|
||||
- 预计学时:40 小时
|
||||
|
||||
来自 KAIST 的 [Jeehoon Kang](https://cp.kaist.ac.kr/jeehoon.kang) 以及他所领导的 [Concurrency and Parallelism Laboratory](https://cp.kaist.ac.kr/) 实验室似乎是 Rust 语言的忠实拥趸,csidy 之中的 [CS431](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/) 和 [CS420](https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS420/) 都是他们的杰作。自然,他们肯定会开发一款针对 Rust 的入门课程,也就是本课程。课程涵盖了 Rust 入门所需的绝大多数知识点。
|
||||
|
||||
本课没有指定官方教材,课程主页推荐采用 [Rust book](https://doc.rust-lang.org/book/) 学习,并在 [slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p) 之中规划了大致的学习线路。虽然没有公开课程教学视频,不过完善的测试系统仍然可以使这门课作为 Rust 习题课来练手,部分习题可以作为 [CS110L](https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/) 的良好补充。如果在学习完 CS110L 之后仍然觉得需要更多练习,可以选择本课程。部分习题具有一定难度,Jeehoon Kang 对使用 AI 辅助编程持有鼓励态度,但是 AI 并不完美,核心工作仍需自己完成。
|
||||
|
||||
## 课程资源
|
||||
|
||||
- 课程网站:[Github 主页](https://github.com/kaist-cp/cs220)
|
||||
- 课程视频:无
|
||||
- 课程教材:[slides](https://docs.google.com/presentation/d/17G3SwkE_tq0H3lTt9N0ysIbHhqDZBfHkoWD5LwwAKSo/edit#slide=id.p)
|
||||
- 课程作业:[Github](https://github.com/kaist-cp/cs220/tree/main/src/assignments)
|
||||
|
||||
## 资源汇总
|
||||
|
||||
互联网上并没有公开的参考答案,也并不确定本课程主讲人是否赞同这种公开答案的行为。如果遇到困难,课程的 [ISSUE](https://github.com/kaist-cp/cs220/issues) 之中可以找到关于作业的讨论。
|
||||
|
|
@ -181,6 +181,7 @@ nav:
|
|||
- "MIT 6.092: Introduction To Programming In Java": "编程入门/Java/MIT 6.092.md"
|
||||
- Rust 语言:
|
||||
- "Stanford CS110L: Safety in Systems Programming": "编程入门/Rust/CS110L.md"
|
||||
- "KAIST CS220: Programming Principles": "编程入门/Rust/cs220.md"
|
||||
- "KAIST CS431: Concurrent Programming": "编程入门/Rust/cs431.md"
|
||||
- 函数式语言:
|
||||
- "Cornell CS3110: OCaml Programming Correct + Efficient + Beautiful": "编程入门/Functional/CS3110.md"
|
||||
|
|
|
|||
Loading…
Reference in New Issue