mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-24 02:16:58 +08:00
translate CS110L.md
This commit is contained in:
parent
a2fe5618e6
commit
ba1032311c
1 changed files with 28 additions and 0 deletions
28
docs/编程入门/CS110L.en.md
Normal file
28
docs/编程入门/CS110L.en.md
Normal file
|
|
@ -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: <https://youtu.be/j7AQrtLevUE<https://youtu.be/j7AQrtLevUE>
|
||||||
|
- 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)
|
||||||
Loading…
Reference in a new issue