This repo contains all my learning materials for Stanford CS110L: Safety in System Programming.
In this course, you will learn Rust, a magic language with C's speed and other high level language's safety. It aims at empowering everyone to write efficient and safe software.
In this course, you will learn more than mastering a language. Rust's design philosophy will help you program elegantly and safely in other system programming language (e.g. C/C++). Also, the course focused on concurrency in the second half. You will trade off between multi-process/multi-threading and event-driven programming and learn some subtle bugs when using them.
Personally, I love the "futures in Rust" part best. Future is a very weird concept and I spent two to three days to fully digest it. However, when you finally understand it, you will be amazed by its elegance and use it happily.
Course website is here.
Assignment handouts are available here.
There are five small assignments and two projects.
-
assignment 1: Hello World
-
assignment 2: Ownership and structs
-
assignment 3: Error handling, I/O, traits
-
assignment 4: Multithreading
-
assignment 5: Channels
-
Project1: Debugger
-
Project2: Loadbalancer
Check out this repository which contains all my self-learning materials : )