The Complete Rust Programming Course

The BIGGEST Rust course online! Master Rust in 2023 with challenges, coding practices and more!

4.33 (575 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
5,872
students
17.5 hours
content
Jun 2023
last update
$89.99
regular price

What you will learn

Fundamentals of programming including: functions, structs, enums, pattern matching, iterators, closures, smart pointers, concurrency, and more

Learn memory management and understand ownership, references, borrowing, and how Rust makes your code safe

Build small applications to be able to piece together concepts

Learn how to test your code

Description

Welcome to the biggest and most comprehensive Rust programming language course on Udemy!

With 17.5 hours of content already, this hands-on practical course is frequently updated to make sure you master all the skills you need to become a Rust expert in the quickest, clearest manner possible.


Stuffed full with practical challenges and exercises, the first half of the course introduces you to the basics of Rust and getting you comfortable and confident with Rust. The second half of the course focuses on data structures and algorithms, looking at which data structures you can use, as well as how to use them! You'll also learn to analyse algorithms for space and time resource consumption... and a lot more!


Why learn Rust?

Rust is the most loved programming language by developers over the past few years according to numerous developer surveys. The Rust programming language is a highly sought after skill and is also one of the best paying skills in the industry.

In the US, Rust developers earn an average of 140k - 250k USD per annum (2022).

What do YOU want to do with Rust?! Developers can (and do!) use Rust to build game engines, file systems, websites and tools, operating systems, browser components, and a whole lot more.

Rust does not sacrifice speed for memory management like many languages do, but Rust ensures memory safety unlike languages like C/C++. Rust's compiler is going to handle a lot of the checking for you to ensure there are no undefined behaviors, dangling pointers, double-frees, etc.


Why THIS course?

This is a fast paced course that is designed to give you everything you need to learn in a clear, but very concise manner. There is no fluff involved. I want to give you the skills you need as quickly as possible to allow you to immediately begin developing high quality software using Rust.

As well as practical projects, nearly every section of the course has a dedicated student assignment to complete! Each assignments tests your new skills and helps give you the confidence to tackle your own projects going forward!

In this course I will cover:

  • Common programming concepts (fundamental types, functions, control flow)

  • Ownership and moves

  • References

  • Structs

  • Enums and Patterns

  • Error Handling

  • Crates and Modules

  • Traits and Generics

  • Iterators

  • Collections

  • Concurrency

  • Webassembly

  • And much, much more!

By the end of this course you will have started at the basics of programming and journeyed all the way to becoming an expert in Rust!

What are you waiting for? Dive in to Rust today! 


Content

Installing Rust

Welcome to the Course!
Windows 10 Installation
Linux and MacOS Installation
*Read Experienced Programmers*

The Basics

About This Section
Quick Note
Hello, World!
Variables and Mutability
Scalar Data Types
Tuples
Arrays
Vectors
Slices
Strings and &str
String Literals
Functions
Control Flow
Wrap Up

Rust Principles

About this Section
Ownership
Move
Clone
Copy
More Moves
References and Borrowing

Structs and Lifetimes

About this Section
Structs
Methods
Lifetimes
Lifetimes in Structs
Static Lifetime

Enums and Pattern Matching

About this Section
Enums
Option
Match
If Let
More Matches

Traits and Generics

About this Section
Generics
Traits
Traits as Parameters
Drop
Clone
Copy
From and Into
Operator Overloading

Cargo, Crates, and Modules

Cargo, Crates, and Packages
Modules

Common Collections

About this Section
Vectors
Binary Heap
Maps
Sets

Error Handing

About this Section
Panic!
Result
Catching Errors
Error Propagation

Testing

About this Section
Test Setup
Assertations

Find and Replace CLI Program

About this Section
Setup
Handling Arguments
Separating Code
Accessing Files
Replacing Text

Iterators and Closures

About this Section
Closures
Type Annotation and Performance
Fn Traits
Iterators

Pointers

About this Section
Box and Dereferencing
Rc and Arc
RefCell

Concurrency

About this Section
Spawn and Join
Channels
Send and Sync
Shared State
Rayon

Macros

About this Section
Macros

Unsafe Code

About this Section
Unsafe Code

Asynchronous Rust

About This Section
Future, Async, and Await
Tasks
Setting up our Project
Protocol
The Client
Sending
Receiving
More Client
Server
More Server
Putting it Together

Screenshots

The Complete Rust Programming Course - Screenshot_01The Complete Rust Programming Course - Screenshot_02The Complete Rust Programming Course - Screenshot_03The Complete Rust Programming Course - Screenshot_04

Reviews

Paul
October 16, 2023
I find it nice that the time was taken to note some things up front. Such as in the intro what sections some of us can skip.
Andreu
October 13, 2023
Yes, these have the fundamentals about programming course, but dedicated of course to a new language, in this case is Rust, so thats magnificient
Vojtech
October 13, 2023
The course is just about fine, However the videos are blurry regardless of my PC / OS / Browser and/or high-speed internet connection. This makes it hard for me to concentrate on what is being displayed. Would be better to allow us to download in full resolution. Besides, 1080p is slightly dated resolution - especially for programmers.
Susanne
October 11, 2023
While I find the content quite good and really helpful and educational, I have to agree with several previous comments on the font size - yes, it is still almost unreadable even at full screen on my laptops and it is indeed an issue because it makes it impossible to follow the code in a focused manner - set aside that the syntax highlighting scheme could do with more contrast and the cargo output on the VS Code terminal often sits too close to the bottom. Also instructors who choose to speak while typing code really need to get a quiet keyboard - this is SO distracting that you literally hear every keystroke during an explanation. The instructor partially seems to be distracted himself judging by hestiation and re-checking what he did etc. I strongly recommend similar to other courses to first type/write the code, and then explain what is done and how it works and making use of a highlighting cursor etc etc. Partially the explanations are a bit wonky with the indented audience: either this course is for Rust beginners OR for programming beginners. If it is for developers who want to learn Rust, I expect more "contrast and compare" with other languages; if it is for total programming beginners, the entire second half is way, way over everybody's head. If it's for developers who already know other languages then I'd expect a short overview over types and a more detailed explanation about what Rust does differently. If it's for programming beginners, it needs a different explanation and a detailed introduction into types. (Just as an example). Given the level of examples in the second half of the source, I also expect more emphasis on good style and idiomatic Rust and why to do is this way and not that way along with explaining and implementing more complex topics/algorithms etc. It could be a spectacular "the only Rust course you'll ever need" if it weren't for the presentation issues and with a firm decision of the target audience. (I'd prefer a "Rust for developers who already know other languages" as audience :) Plus all code examples should actually do something meaningful, even the trivial ones so "whole programs" would be appreciated. Then again - the content is pretty good imho.
Beyram
October 5, 2023
Not it, I literally stopped understanding anything after 2/3 sections. Course went from explaining Strings to the teacher assuming you know everything new he was explaining. I'm very disappointed, I even read the description again to check if it was targeted to rust beginners and it is...
João
September 25, 2023
Maybe do the Dynamic Programming (easier) before the Recursion. Lesson 28 does not bring much new stuff... I would have preferred a simple REST Backend implementation with DB connection.
Dirk
September 18, 2023
4,5 Star for the first 14 chapters, but the chapters thereafter are most of the time just saying what is being coded. Explaining diagrams about the concepts and the interaction between modules would be nice
Alexander
September 1, 2023
Watched up to Section 4 and am not impressed. I'm sure the lecturer knows rust well. However the lecture gives me the impression he does not prepare himself to deliver the videos well enough. I have now switched to learning Rust from: The Rust Programming Language, 2nd Edition
Rein
July 11, 2023
What is mpg? It wasn't until I saw the answer to the assignment, that it meant Miles Per Gallon but here in Europe we have moved on to the metric system so please explain this in the assignment. When shall one use str, and when use String? Sometimes string assignments are done via String::from("text"), and sometimes via "text".to_string(). What is the difference and when to use which? I think this with the lifetime wasn't well explained. Seeing this for the first time was confusing. Why should one use 'a for parameter x and 'b for parameter y. Why not 'x and 'y? In the example, function example<a', 'b>() was defined but never called so it just ended with confusion to me. I think this section should be much longer and contain examples of errors so one can get familiar with the most common errors and learn how to fix them. I hope the coming sections explain the lifetime concept further.
Evgenii
June 29, 2023
great explanation! great and simple examples, useful use cases. Sometimes I lost focus on telling because of nothing was happened on the screen, just explaining in words. Maybe, it will be better to have some illustrations fro that moments.
Vesa
May 28, 2023
I liked the course even if at some points the pace seemed to be rather uneven. I gained plenty of information from this course and I liked the use of actual practical examples at the end.
Ove
May 15, 2023
I have been a professional C++ developer for well over 30 years, and I am fairly used to learn by my self, e.g. through books. This time I wanted to try a new way of learning. Big mistake. This was a very uninspiring experience. Simply listening to the instructor reading out load while typing the code is not what I associates with quality training. Talking about quality; It had perhaps been a good thing if the course had been more focused on quality rather than quantity.
Andrzej
March 26, 2023
e.g. "sometimes you might not want a valid UTF-8 sequence and that is where string literals are going to come into play" or "arguments and parameters are just interchangeable words"
Diogo
March 15, 2023
The first 14 sections are relatively interesting for someone learning Rust from scratch, although it follows the "Rust Book". Starting on Section 15 it just makes no sense at all. It is just the instructor reading the code he is writing, without clearly explaining what he is doing, implementing and importing stuff that is not yet needed instead of following the sequence one would follow when developing something. It skips some parts covered by the Rust book, e.g. the Macros section only covers declarative macros and never refers procedural macros and their variations (derive, attribute-like, and function-like). The Unsafe Code section should not exist, as it does not bring any value to the course. For instance, it is never explained when or why we would want to use it. I would say the last sections are difficult or even impossible to follow without having previous knowledge of algorithms. The examples are difficult to follow (in some cases wrong!) and, again, the instructor is just reading the code without properly explaining what he is doing. Most of the examples presented in the course seem to be like taken from the documentation of whatever we are using or directly from "the book" (e.g. the Webassembly section is basically the example found on the documentation: https://rustwasm.github.io/book/game-of-life/introduction.html ). The sound quality throughout the course is really poor, with the exception of a few of the first sections. All in all, the expectation for this course is high (also due to its description) but it fails to meet that expectation. Following the "Rust book" is just as good, sometimes better, than following this course (and it is completely free).
João
March 10, 2023
A real good course on Rust, that goes from the first steps to already advanced knowledge, I really liked this course, I would only hope that the teacher had more courses to follow up this one in Rust. Best regards, João Carvalho

Charts

Price

The Complete Rust Programming Course - Price chart

Rating

The Complete Rust Programming Course - Ratings chart

Enrollment distribution

The Complete Rust Programming Course - Distribution chart
4474464
udemy ID
1/3/2022
course created date
2/22/2022
course indexed date
Bot
course submited by