From ba1032311c354bfad5ecb7f547f13f346424d13e Mon Sep 17 00:00:00 2001 From: smxm <695335574@qq.com> Date: Fri, 30 Sep 2022 15:18:12 +0800 Subject: [PATCH] translate CS110L.md --- docs/编程入门/CS110L.en.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 docs/编程入门/CS110L.en.md diff --git a/docs/编程入门/CS110L.en.md b/docs/编程入门/CS110L.en.md new file mode 100644 index 00000000..7d8e96eb --- /dev/null +++ b/docs/编程入门/CS110L.en.md @@ -0,0 +1,28 @@ +# CS110L: Safety in Systems Programming + +## Descriptions + +- Offered by: Stanford +- Prerequisites: basic knowledge about programming and computer system +- Programming Languages: Rust +- Difficulty: 🌟🌟🌟 +- Class Hour: 30 hours + +In this course you will learn about a fantastic language, Rust. + +If you have studied C and have some knowledge of systems programming, you should have heard about memory leaks and the danger of pointers, but the fundamental features of C and its efficiency still make it impossible to replace it in systems-level programming by other higher-level languages such as Java, which have embedded garbage collection mechanisms. Whereas Rust aims to build on the efficiency of C and make up for its lack of security. Therefore, Rust was designed with much ideology of system programming. By learning Rust, you will also be able to write a safer and more elegant system-level code (e.g., operating systems, etc.) in C afterwards. + +The latter part of this course focuses on the topic of concurrency, where you will systematically master multi-processing, multi-threading, event-driven concurrency, and several other concurrency techniques, and in the second project will compare the advantages and disadvantages of each. The concept of "futures" in Rust is fascinating and elegant, and those basics will help you in your following studies in computer systems-related courses. In addition, Tsinghua University's operating system experiment rCore is based on Rust, see the [documentation](https://rcore-os.github.io/rCore-Tutorial-Book-v3/index.html) for details. + +## Course Resources + +- Course Website: https://reberhardt.com/cs110l/spring-2020/ +- Recordings: +- Textbook: None +- Assignments:6 Labs, 2 Projects, the course website has specific requirements. There are two interesting Projects for the course, which are + 1. Implement a GDB-like debugger in Rust + 2. Implement a Balancebeam in Rust + +## Personal Resources + +All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/CS110L - GitHub](https://github.com/PKUFlyingPig/CS110L) \ No newline at end of file