The Rust Programming Language
What you’ll learn
Solve problems in Rust
Understand Rust’s strengths and weaknesses
Effectively leverage Rust’s memory safety guarantees
Write applications and libraries
Test and document your code
Requirements
Basic knowledge of computer science
A computer with a Rust-enabled IDE (VisualRust, intellij-rust, etc.)
Description
This course will teach you the fundamentals of Rust, a modern programming language that has the both the power of native code as well as the safety of some managed languages. In this course you will learn the following:
How to download and install Rust; how to compile programs and (optionally) work with an IDE.Learn about fundamental data types and how to use them to declare variables.Undersand arrays, vectors and strings, the concept of slices.Learn to create functions, methods, closures, higher-order functions.Understand how to create various data structures such as structs and enums; also traits.Master Rust’s explicit take on the concept of lifetime with ownership, borrowing, lifetime specifiers, lifetime elision.Learn how to safely share data around your (possibly multithreaded) application with Rc, Arc and Mutex.Use Rust’s package managent using Cargo.Learn about other useful topics: documentation, conditional compilation, testing.
This course, like all my other courses, will be supplemented with additional lectures based on participants’ requests.
Overview
Section 1: Introduction
Lecture 1 Course Introduction
Lecture 2 Installing and Configuring Rust
Lecture 3 Hello, Rust!
Lecture 4 Introducing the Cargo Package Manager
Lecture 5 Rust in IntelliJ IDEA
Section 2: Types and Variables
Lecture 6 Numbers on the Computer
Lecture 7 Application Entrypoint
Lecture 8 Core Data Types
Lecture 9 Operators
Lecture 10 Scope and Shadowing
Lecture 11 Declaring and Using Constants
Lecture 12 Stack and Heap
Lecture 13 Debugging Rust Applications with CLion
Section 3: Control Flow
Lecture 14 If Statement
Lecture 15 While and Loop
Lecture 16 For Loops
Lecture 17 Match Statement
Lecture 18 Combination Lock
Section 4: Data Structures
Lecture 19 Structs
Lecture 20 Enumerations
Lecture 21 Unions
Lecture 22 Option and if let/while let
Lecture 23 Arrays
Lecture 24 Slices
Lecture 25 Tuples
Lecture 26 Pattern Matching
Lecture 27 Generics
Section 5: Standard Collections
Lecture 28 Overview
Lecture 29 Vec(tor)
Lecture 30 HashMap
Lecture 31 HashSet
Lecture 32 Iterators
Section 6: Characters and Strings
Lecture 33 Strings
Lecture 34 String Formatting (format!)
Lecture 35 Number Guessing Game
Section 7: Functions
Lecture 36 Functions and Function Arguments
Lecture 37 Methods
Lecture 38 Closures
Lecture 39 Higher-Order Functions
Section 8: Traits
Lecture 40 Traits
Lecture 41 Trait Parameters
Lecture 42 Into
Lecture 43 Drop
Lecture 44 Operator Overloading
Lecture 45 Static Dispatch
Lecture 46 Dynamic Dispatch
Lecture 47 Why Dynamic Dispatch?
Lecture 48 Vectors of Different Objects
Section 9: Lifetime and Memory
Lecture 49 Ownership
Lecture 50 Borrowing
Lecture 51 Lifetime
Lecture 52 Lifetime in Structure Implementation
Lecture 53 Reference-Counted Variables (Rc)
Lecture 54 Atomic Reference-Counted Variables (Arc)
Lecture 55 Using a Mutex for Thread-Safe Mutability
Section 10: Advanced Topics
Lecture 56 Circular References
Section 11: Concurrency
Lecture 57 Spawning and Joining Threads
Section 12: Odds & Ends
Lecture 58 Consuming Crates
Lecture 59 Building Modules and Crates
Lecture 60 Testing
Lecture 61 Comments and Documentation
Systems programmers,Experienced developers interested in Rust,C/C++ programmers
Course Information:
Udemy | English | 8h 18m | 2.78 GB
Created by: Dmitri Nesteruk
You Can See More Courses in the Developer >> Greetings from CourseDown.com