Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Rust Essential Training

Rust Essential Training

6h 48mBeginner2021-12-02

Authors

Barron Stone

Barron Stone

Electrical Engineer

Course details

If you know even a little bit about programming languages, you know there are a plethora of options to choose from. If your priority is a language focused on reliability, speed, memory, safety, and parallelism, then Rust may be the one for you. In this course, instructor Barron Stone covers the key components of Rust, starting with basic programming concepts including variables, data types, functions, and control loops. He then moves on to some of the core concepts that are unique to Rust, including ownership, borrowing references, and crates. While Rust is great for low-level systems programming, it’s also being used for web apps, network services, and embedded programs. As Barron shows, the features of Rust, along with great tools, documentation, and a welcoming community, have made Rust a language that developers love.

Skills covered

RustEssential TrainingProgramming LanguagesOpen SourceSoftware Development

Concepts

0. Introduction

  • 01 - Learn Rust programming
  • 02 - What you should know
  • 03 - What is Rust
  • 04 - Rust versions

1. Write Your First Program

  • 05 - Installing Rust on Windows
  • 06 - Installing Rust on Linux and macOS
  • 07 - Anatomy of a Rust program
  • 08 - Adding comments
  • 09 - Building programs using Cargo

2. Primitive Data Types

  • 10 - Declaring variables
  • 11 - Integer data types
  • 12 - Floating-point data types
  • 13 - Arithmetic operations
  • 14 - Formatting print statements
  • 15 - Bitwise operations
  • 16 - Boolean data type and operations
  • 17 - Comparison operations
  • 18 - Char data types
  • 19 - Challenge - Find the average
  • 20 - Solution - Find the average

3. Compound Data Types

  • 21 - Arrays
  • 22 - Multidimensional arrays
  • 23 - Tuples

4. Functions

  • 24 - Function parameters
  • 25 - Statements vs. expressions
  • 26 - Function return values
  • 27 - Challenge - Convert temperature
  • 28 - Solution - Convert temperature

5. Program Flow Control

  • 29 - Conditional execution
  • 30 - Multiple conditions
  • 31 - Conditional assignment
  • 32 - Loops
  • 33 - While loops
  • 34 - For loops
  • 35 - Nested loops
  • 36 - Challenge - Max, min, mean
  • 37 - Solution - Max, min, mean

6. Ownership

  • 38 - Variable scope
  • 39 - Shadowing variables
  • 40 - Stack and heap memory
  • 41 - String data type
  • 42 - Ownership
  • 43 - Moving, cloning, and copying data
  • 44 - Transferring ownership

7. References

  • 45 - Borrowing references
  • 46 - Mutable references
  • 47 - Dangling references
  • 48 - Slices
  • 49 - Slices as function parameters
  • 50 - Challenge - Trim spaces
  • 51 - Solution - Trim spaces

8. Modules

  • 52 - Rust Standard Library and prelude
  • 53 - Standard input
  • 54 - Parse strings
  • 55 - Crates
  • 56 - Challenge - Higher or lower
  • 57 - Solution - Higher or lower

9. Input and Output

  • 58 - Command-line arguments
  • 59 - Reading from files
  • 60 - Writing to files
  • 61 - Challenge - Check the roster
  • 62 - Solution - Check the roster

10. Structs

  • 63 - Defining structs
  • 64 - Struct update syntax
  • 65 - Struct methods
  • 66 - Associated functions
  • 67 - Tuple structs
  • 68 - Challenge - Represent shapes
  • 69 - Solution - Represent shapes

11. Generic Types

  • 70 - Generic struct definitions
  • 71 - Generic method definitions
  • 72 - Generic function definitions
  • 73 - Box data type
  • 74 - Challenge - Sum boxes
  • 75 - Solution - Sum boxes

12. Traits

  • 76 - Implement traits
  • 77 - Default trait implementation
  • 78 - Derive traits
  • 79 - Trait bounds
  • 80 - Multiple trait bounds
  • 81 - Return types with implemented traits
  • 82 - Challenge - Implement the display trait
  • 83 - Solution - Implement the display trait

13. Lifetimes

  • 84 - The borrow checker
  • 85 - Lifetime annotation syntax
  • 86 - Multiple lifetime annotations
  • 87 - Lifetime elision rules
  • 88 - Struct lifetime annotations
  • 89 - Static lifetime

14. Enums

  • 90 - Define enums
  • 91 - Match operator
  • 92 - Match with default placeholder
  • 93 - Enum methods
  • 94 - Option T enum
  • 95 - Matching Option T
  • 96 - If-let syntax
  • 97 - Challenge - Represent a location
  • 98 - Solution - Represent a location

15. Error Handling

  • 99 - Unrecoverable errors
  • 100 - Result T, E enum
  • 101 - Matching Result T, E to recover from errors
  • 102 - Propagating errors
  • 103 - Challenge - Handle errors
  • 104 - Solution - Handle errors

16. Collections

  • 105 - Vectors
  • 106 - HashMaps
  • 107 - Challenge - Count words
  • 108 - Solution - Count words

Conclusion

  • 109 - Where to go next

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
Zarinpal
Zibal