Skip to main content
LESSON

Rust Course - Week1

Rust Course - Week1 — learning path connecting EDA fundamentals to open practice.

RUST is an optional module and is planned to start on DAY1.

DAY1: Preparation stage

1. Specific requirements

  1. Programming environment setup
  • VSCode installation and Rust-analyzer plug-in installation

    For the VSCode installation environment, please refer to C++ Week1.

  1. Install Rust and Cargo toolchain

    Installation tutorial linkopen in new window

2. Display of learning results

  1. Organize notes on problems and solutions encountered in setting up a programming environment
  2. Use Cargo to create a project, write a Hello word program, and complete program compilation and execution.

3. Reference materials

DAY2-DAY3: Learning basic knowledge of Rust

1. Specific requirements

Learn the following knowledge points:

  1. Basic data types: integer, floating point, string, tuple, array, etc., variable mutability
  2. Composite data types enum, struct, trait
  3. Container types vector, HashMap, HashSet, BTreeMap, BTreeSet
  4. Rust flow control if while for, and pattern match statements if let, while let
  5. Rust function, closure, iterator learning
  6. Macro writing in Rust

Specifically, you can learnRust language official documentationopen in new window The following chapters:

  • Chapter 3 Common Programming Concepts
  • Chapter 5 Using Structs to Structure Related
  • Chapter 6 Enums and Pattern Matching
  • Chapter 8 Common Collections
  • Section 10.2 Traits: Defining Shared Behavior
  • Chapter 13 Function Language Features:Iterators and Closures About closure and itertor
  • Chapter 17 Object Oriented Programming Features of Rust
  • Section 19.5 Macros

2. Display of learning results

3. Reference materials

DAY4-DAY7: Rust advanced knowledge learning

1. Specific requirements

Learn the following knowledge points:

  1. Type system, generic programming, trait system, type conversion
  2. The ownership system includes ownership mechanism, Copy and Clone, reference and borrowing, life cycle, and Slice.
  3. Smart pointers Box, Rc, RefCell
  4. Concurrent programming, Atomic, multi-threading and asynchronous Async/Await concurrency, Mutex, Arc
  5. Error handling Result, Panic, Option,? Operator
  6. Function-oriented programming

Specifically, you can learnRust language official documentationopen in new window The following chapters:

  • Chapter 4 Understanding Ownership
  • Chapter 9 Error Handling
  • Chapter 10 Generic Types, Traits and Lifetimes
  • Chapter 13 Functional Language Features: Iterators and Closures Unfinished Content
  • Chapter 15 Smart Pointers
  • Chapter 16 Fearless Concurrency

2. Display of learning results

3. Reference materials

  1. Books, blogs, videos:

  2. Community:

  3. Video: