Description
In this course, you will learn :
- Solve problems in Rust.
- Understand Rust's strengths and weaknesses.
- Effectively leverage Rust's memory safety guarantees.
- Write applications and libraries.
- Test and document your code.
Syllabus :
1. Types and Variables
- Numbers on the Computer
- Application Entrypoint
- Core Data Types
- Operators
- Scope and Shadowing
- Declaring and Using Constants
- Stack and Heap
- Debugging Rust Applications with CLion
2. Control Flow
- If Statement
- While and Loop
- For Loops
- Match Statement
- Combination Lock
3. Data Structures
- Structs
- Enumerations
- Unions
- Option<T> and if let/while let
- Arrays
- Slices
- Tuples
- Pattern Matching
- Generics
4. Standard Collections
- Vec(tor)
- HashMap
- HashSet
- Iterators
5. Characters and Strings
- Strings
- String Formatting (format!)
- Number Guessing Game
6. Functions
- Functions and Function Arguments
- Methods
- Closures
7. Traits
- Traits
- Trait Parameters
- Into
- Drop
- Operator Overloading
- Static Dispatch
- Dynamic Dispatch
- Why Dynamic Dispatch?
- Vectors of Different Objects
8. Lifetime and Memory
- Ownership
- Borrowing
- Lifetime
- Lifetime in Structure Implementation
- Reference-Counted Variables (Rc)
- Atomic Reference-Counted Variables (Arc)
- Using a Mutex for Thread-Safe Mutability
9. Advanced Topics
-
Circular References
10. Concurrency
-
Spawning and Joining Threads
11. Odds & Ends
- Consuming Crates
- Building Modules and Crates
- Testing
- Comments and Documentation