# Rust Fundamentals by Edward Curren With its low overhead and high performance cross-platform development, Rust is a great language for systems programming, embedded development and web programming. This course will teach you everything you need to know to become a Rust developer. ## Course Content ```shell ├── 01 - Course Overview │ └── 01 - Course Overview ├── 02 - Introduction and Setup │ ├── 01 - Introduction │ ├── 02 - Course Overview │ ├── 03 - The Project │ ├── 04 - Development Environment Setup │ ├── 05 - Anatomy of a Rust Program │ ├── 06 - Static vs. Dynamic and Compiled vs. Interpreted │ └── 07 - Stack vs. Heap ├── 03 - Data Types │ ├── 01 - Overview │ ├── 02 - Number Types │ ├── 03 - Characters and Booleans │ ├── 04 - Arrays and Tuples │ ├── 05 - Strings and String Slices │ ├── 06 - String Concatenation │ └── 07 - Summary ├── 04 - Variables │ ├── 01 - Overview │ ├── 02 - Variables │ ├── 03 - Casting Data Types │ ├── 04 - Variable Mutability │ └── 05 - Scope and Shadowing ├── 05 - Operators │ ├── 01 - Overview │ ├── 02 - Math Operators │ ├── 03 - Logic Operators │ ├── 04 - Bitwise Operators │ └── 05 - Project Part 1 ├── 06 - Control Flow │ ├── 01 - Overview │ ├── 02 - If Else │ ├── 03 - Enum │ ├── 04 - Option │ ├── 05 - Match Statements │ ├── 06 - Match with Enumerations │ ├── 07 - If Let │ ├── 08 - Rust Loops │ ├── 09 - While Loops │ ├── 10 - For Loops │ └── 11 - Project ├── 07 - Ownership and Borrowing │ ├── 01 - Introduction │ ├── 02 - Memory Management │ ├── 03 - Ownership │ ├── 04 - Borrowing │ ├── 05 - Lifetimes │ └── 06 - Summary ├── 08 - Functions and Error Handling │ ├── 01 - Overview │ ├── 02 - Functions │ ├── 03 - Ownership & Borrowing with Functions │ ├── 04 - Closures │ ├── 05 - Error Handling │ ├── 06 - Result Enum │ ├── 07 - Error Propagation │ └── 08 - Summary ├── 09 - Data Structures and Traits │ ├── 01 - Overview │ ├── 02 - Data Structures │ ├── 03 - Associated Methods │ └── 04 - Traits ├── 10 - Collections │ ├── 01 - Overview │ ├── 02 - Sequences │ ├── 03 - Vectors │ ├── 04 - Vector Double Ended Queue │ ├── 05 - Maps │ └── 06 - Sets ├── 11 - Generics │ ├── 01 - Overview │ ├── 02 - Generic Types │ └── 03 - Constraints ├── 12 - Concurrency │ ├── 01 - Overview │ ├── 02 - Concurrency Hazards │ ├── 03 - Creating Threads │ ├── 04 - Thread Communications │ └── 05 - Where to go from here ├── 13 - Crates and Modules │ ├── 01 - Overview │ ├── 02 - Modules │ ├── 03 - Cargo.toml │ ├── 04 - Cargo Fundamentals │ ├── 05 - Publishing Crates │ └── 06 - Summary ├── 14 - Summary └── 01 - Summary ``` * **Link -**