1. Preface
  2. 1. Preparation
    1. 1.1. Getting ready
  3. 2. Back to the basics
    1. 2.1. Functions
    2. 2.2. Processing input
    3. 2.3. Making choices
    4. 2.4. Data Structures
    5. 2.5. Loops
    6. 2.6. Conversion
    7. 2.7. Optional values
    8. 2.8. Results
    9. 2.9. Structuring code
    10. 2.10. Files
    11. 2.11. A small database
    12. 2.12. Spoilers
      1. 2.12.1. Processing input
      2. 2.12.2. Structuring code
      3. 2.12.3. Files
  4. 3. Session 1 - Expanding Hello World
    1. 3.1. Formatting output
    2. 3.2. Variables
    3. 3.3. Ownership (part 1)
    4. 3.4. 'Production' deployment
  5. 4. Session 2 - Beyond Hello World
    1. 4.1. Control flow
    2. 4.2. Loops
    3. 4.3. Returning results
    4. 4.4. Complex types
    5. 4.5. Optionals
    6. 4.6. Enumerations
    7. 4.7. All about self
  6. 5. Session 3 - Tools of the trait
    1. 5.1. Traits
    2. 5.2. Errors - part 1
    3. 5.3. Organizing code & project structure
    4. 5.4. Importing Crates
    5. 5.5. Testing
    6. 5.6. Errors - part 2
    7. 5.7. Ownership (part 2)
    8. 5.8. Some more Traits
  7. 6. Session 4 - Better functions with Functional programming
    1. 6.1. Iterators
    2. 6.2. Functional programming with Options and Results
    3. 6.3. Passing functions around
  8. 7. Session 5 - Close the loop with closures
    1. 7.1. Closures
    2. 7.2. Asynchronous programming
    3. 7.3. Sharing data & ownership (part 2)
    4. 7.4. Sharing data through channels
  9. 8. Session 6 - Where the rubber hits the road
    1. 8.1. Hello Rust Web with Axum
    2. 8.2. Stateful Web with Axum
    3. 8.3. Axum routes with a Handler
    4. 8.4. Axum and authentication
    5. 8.5. Logging
  10. 9. Session 7 - Test Drive Test-Driven Development
    1. 9.1. Test-driven development
    2. 9.2. Better Rust code with TDD
  11. 10. Session 8 - Coming to Rust from other languages
    1. 10.1. Migrate to Rust from C
    2. 10.2. Migrate to Rust from C++
    3. 10.3. Migrate to Rust from Go
    4. 10.4. Migrate to Rust from Java
  12. 11. Advanced
    1. 11.1. Circular references
    2. 11.2. Embedded Rust
      1. 11.2.1. STM32F103
        1. 11.2.1.1. Hello STM32 World
      2. 11.2.2. Raspberry Pi Pico
        1. 11.2.2.1. Hello RPI Pico World
        2. 11.2.2.2. RPI Pico Analog Input
        3. 11.2.2.3. RPI Pico & TM1637 display
        4. 11.2.2.4. RPI Pico & DHT20 sensor
      3. 11.2.3. STM32F401
        1. 11.2.3.1. STM32F401 & Soil Moisture Sensor
  13. 12. Exercises
    1. 12.1. Exercise: Driving School
  14. 13. Playground
  15. 14. Resources

Rust Development Classes

Resources

  • Crates.io
  • Rust Book
  • Rust Docs
  • Rust Language Cheat Sheet
  • Rust Playground
  • Rust Reference
  • The Cargo book
  • This week in Rust