Demos.zip

Preview unavailable

You must log in or sign up to view this lesson.

LoginSign up

Rust Programming Masterclass

Buy nowLearn more

Course Introduction

  • 0-Course Introduction
  • RustProgrammingMasterclass.pdf
  • RustProgrammingMasterclassLabs.pdf
  • Demos.zip
  • Labs.zip

1: Introduction to Rust

  • 1-01-What is Rust
  • 1-02-Installing and Updating
  • 1-03-Links and Docs
  • 1-04-Rust Basics
  • 1-05-Cargo
  • 1-06-Clippy
  • 1-07-Rust IDE
  • 1-08-Testing
  • 1-09-Labs

2: Language Fundamentals

  • 2-01-Variables
  • 2-02-Const and Static
  • 2-03-Data Types
  • 2-04-Literals
  • 2-05-Tuples
  • 2-06-Arrays
  • 2-07-Operators
  • 2-08-Functions
  • 2-09-Control Flow
  • 2-10-iterating with for
  • 2-11-Scope
  • 2-12-Attributes
  • 2-13-Packages
  • 2-14-More on Scope
  • 2-15-Lab Solutions Walkthrough

3: Ownership

  • 3-01-Copy vs Move
  • 3-02-Ownership and Borrowing
  • 3-03-Stack vs Heap
  • 3-04-The Copy Trait
  • 3-05-Ownership and Functions
  • 3-06-References
  • 3-07-Slices
  • 3-08-Labs Overview
  • 3-09-Labs Solutions Walkthrough

4: Compound Types

  • 4-01-Structs
  • 4-02-Displaying Structs
  • 4-03-Methods
  • 4-04-Structs Quick Review
  • 4-05-Associated Functions
  • 4-06-Enumerations
  • 4-07-Option
  • 4-08-Result
  • 4-09-Pattern Matching
  • 4-10-File IO
  • 4-11-Labs Overview
  • 4-12-Labs Solutions Walkthrough

Common Types

  • 5-01-Vectors
  • 5-02-Command Line Arguments
  • 5-03-Strings
  • 5-04-Hash Maps
  • 5-05-Other Collections
  • 5-06-Labs Solutions Walkthrough

6: Managing Projects

  • 6-02-Packages and Crates
  • 6-01-Module System
  • 6-03-Modules
  • 6-04-Visibility
  • 6-05-Scope and the use Keyword
  • 6-06-Exporting Names
  • 6-07-More on Cargo
  • 6-08-Lab Solution Walkthrough

7: Error Handling

  • 7-01-Error Handling Basics
  • 7-02-Panicking
  • 7-03-The Result Type
  • 7-04-Propagating Errors
  • 7-05-Summary

8: Generic and Traits

  • 8-01-Generic Functions
  • 8-02-Generic Structs and Enums
  • 8-03-Generic Methods
  • 8-04-Method Specialization
  • 8-05-How Generics Work
  • 8-06-Traits
  • 8-07-Generic Traits
  • 8-08-Associated Types
  • 8-09-Common Traits
  • 8-10-The Orphan Rule
  • 8-11-Labs Solutions Walkthrough
  • 8-12-Trait Constraints
  • 8-13-Returning Traits
  • 8-14-More on Traits
  • 8-15-Polymorphism
  • 8-16-Implementing Traits on Non-Local Types

9: Smart Pointers

  • 9-01-Box
  • 9-02-The Deref Trait
  • 9-03-The Drop Trait
  • 9-04-Reference Counting
  • 9-05-Inner Mutability
  • 9-06-Lab Solution Walkthrough

10: Functional Programming

  • 10-01-Functional Programming Style
  • 10-02-Anonymous Functions
  • 10-03-Function Traits
  • 10-04-Structs with Anonymous Functions
  • 10-05-Closures
  • 10-06-Moving Ownership
  • 10-07-Iterators
  • 10-08-Iterator Adapters
  • 10-09-More on Iterators

11: Concurrency

  • 11-01-Multithreading Basics
  • 11-02-Threads
  • 11-03-Threads and Ownership
  • 11-04-The rayon Crate
  • 11-05-Thread Communication
  • 11-06-Message Passing with crossbeam
  • 11-07-Atomic Operations
  • 11-08-Mutex
  • 11-09-Other Sync Primitives
  • 11-10-Labs Solutions Walkthrough

12: Async and Await

  • 12-01-Sync vs Async
  • 12-02-Tcp Echo Example
  • 12-03-Async Functions
  • 12-04-Working with tokio
  • 12-05-Async IO

13: Unsafe Rust

  • 13-01-Safe vs Unsafe Rust
  • 13-02-Raw Pointers
  • 13-03-C-Rust Interoperability
  • 13-04-Windows System programming
  • 13-05-Using the Native API
  • 13-06-Summary and More Information

14: Advanced Topics

  • 14-01-Macros
  • 14-02-Declarative Macros
  • 14-03-Procedural Macros
  • 14-04-Lifetimes