Rust Programming Language for Beginners

More effective than C++. Develop your own Rust Programming library and increase your career options.

3.95 (375 reviews)
Udemy
platform
English
language
Programming Languages
category
3,878
students
19.5 hours
content
Jan 2021
last update
$49.99
regular price

What you will learn

Learn how to code in an organized and efficient way using Rust modules

Learn how to build bug-free, memory safe applications and programs

Develop your own Rust Programming library and store it in the repository

Confidently program using Rust - a much sought after program from clients

Description

Why learn Rust?

Firstly, Rust is hot.  Clients are screaming for Rust developers, so if you learn this language there is little doubt you will have increased career options.  

Rust is a simple, efficient and time-saving application that has been designed from the ground-up to prevent faults and keep data secure. This reduces the amount of code you need to write, freeing up time to work on other projects.

But lets not forget one incredibly important feature.  Rust is fun to program in.  In fact it's regularly voted as one of the most fun languages to develop in.

In this Rust Programming Language for Beginners course, you’ll see real-life examples that can be applied to personal or corporate programs.

One of the many benefits that Rust has is an ownership system, eliminating bugs that crash your apps and programs.  It works just fine in Windows, Mac and Linux.

You can also develop your own libraries and publish them on the Rust repository. Sharing these with other programmers quickly broadens your experience and puts you at the head of the pack.

By the end of this course you'll have a solid understanding of the Rust language, and  will be able to code in an organised yet fast way through rust modules.

Finally, discover trait-based generics and then you will develop your own grep tool in Rust.

Course topics include: 

If - Else in Rust

Loops in Rust

Functions in Rust

Tuple and Array in Rust

Ownership in Rust

Guessing Game Using Cargo

Structure in Rust

Enums and Pattern Matching

Using Modules to Re-use and Organize Code

Common Collections

Error Handling

Generic Types, Traits & Lifetimes

Testing

An IO Project- Building a Command Line Program

Iterators & Closures

Cargo and Crates .io

Smart Pointer

Fearless Concurrency

Patterns and Matching

As you can see, this course is packed with value to teach you to confidently program in one of the languages that developers love and clients seek help for!

The ideal student would be a someone with a basic knowledge of C,C++ (or another language) who is ready to master an empowering programming language.  But note that it's not essential to have this knowledge.


Screenshots

Rust Programming Language for Beginners - Screenshot_01Rust Programming Language for Beginners - Screenshot_02Rust Programming Language for Beginners - Screenshot_03Rust Programming Language for Beginners - Screenshot_04

Content

Introduction To Rust

Introduction to Rust Programming
Installing Rust in Windows
Installing Rust in Linux
Installing Rust in Mac
Understanding Our First Program
Datatypes in Rust
Mutability and Intro to Strings
Operators in Rust
Comments in Rust
Shadowing
Typecasting
Taking Input From User

If - Else in Rust

Introduction to Section
Introduction to IF-Else
Programs Based on If Else
Else If Ladder
Assignment If Else
Assignment Solution
Using If in Let

Loops in Rust

Introduction to Section
Introduction to Loops
Loops Syntax in Rust
Assignment Loops
Assignment Solution Loops

Functions in Rust

Introduction to Section
Introduction to Functions
Function Syntax in Rust
Function Basic Program
Assignment Function
Assignment Solution Function

Tuple and Array in Rust

Introduction to Section
Tuple in Rust
Array in Rust

Ownership in Rust

Introdution to Section
Memory Allocation Techniques in Rust
Ownership in Rust
Ownership and Functions
References and Borrowing
Rules of References
Dangle References
Slices in Rust

Guessing Game Using Cargo

Introduction to Cargo
Using Crates from Crates.io
Coding Guessing Game Tutorial

Structure in Rust

Introduction to Section
Defining Struct
Using Dot Notation
Returning Instances of Struct
Using Struct Update Syntax
Methods
Methods Continued
Associated Function
Assignment Structure
Assignment Solution Structure

Enums and Pattern Matching

Introduction to Section
Introduction to Enums
Enum Values
Option Enum
Match Control Flow Operator
Patterns that Bind to Values
Matching Option Enum
"_" The PlaceHolder
Control Flow Using If Let

Using Modules to Reuse and Organize Code

Introduction to Section
Introduction to Modules
Moving Modules to Files
Controlling Visibility with Pub
Reffering Names to Different Modules
Assignment Modules
Assignment Solution Modules

Common Collections

Introduction to Section
Introduction to Vectors
Reading Data from Vector
Reading Data from Vector Using for
Storing Multiple Types in Vector
String Basic Functions
Plus Operator and Format! Macro
chars() Method
Introduction to HashMap
Using collect() Method
Using get() Method
Updating HashMap
Assignment Collections
Assignment Collections Solution

Error Handling

Introduction to Section
Unrecoverable Error with Panic!
Recoverable Errors with Result
Matching on Different Errors
Unwrap and Expect
Propagating Errors
Propagating Errors Using Question Mark
Assignment Error Handling
Assignment Solution Error Handling

Generic Types, Traits, Lifetimes

Introduction to Section
Removing Duplication
Fixing Largest Function
Generics in Structure Definition
Generics in Enums and Methods Definition
Using Concrete Types in Generics
Performance of Code Using Generics
Defining Traits
Default Implementation
Fixing Largest Function with Traits
Validating References with Lifetime
Generic Lifetime in Function
Lifetime-Annotation-Syntax
Different Concrete Lifetime
Lifetime Ellision
Lifetime in Struct
Assignment Generics
Assignment Generics Solution

Testing

Introduction to Section
Introduction to Testing
Using assert Macro
Using assert_eq and asser_ne macro
Custom Error Messages
Using should_panic
Running Test
Unit Testing
Integration Testing

An IO Project- Building a Command Line Program

Introduction to Section
Setting Up Our Project
Reading File
Refactoring to Improve Modularity
Fixing Error Handling
Extracting Logic from Main
Splitting Code Into Library Crate
Developing Library Functionality
Working with Environment Variables
Writing Error Messages to Standard Error

Iterators & Closures

Introduction to Section
Introduction to Closures
Writing Logic of Program
Refactoring Using Functions
Refactoring Using Closures
Closure Type Inference and Annotation
Storing Closures in Structure
Limitation of Cacher Implementation
Capturing the Environment with Closures
Introduction to Iterators
Methods that Produce Iterators
Closure that Capture Environment
Creating Our Own Iterator with Iterator Trait
Using Iterator Trait Methods
Improving our IO Project

Cargo and Crates.io

Introduction to Section
Customizing Builds with Release Profiles
Making Useful Documentation
Exporting Public API with Pub Use
Publishing on Crates.io
Cargo Workspaces
Adding Test to Workspace
Installing Binaries from Crates.io

Smart Pointer

Introduction to Section
Introduction to Box
Understanding Cons List
Fixing Cons List
Accessing Value with Dereference
Implementing Deref Trait
Implementing Deref Coercions
Introduction to Drop Trait
Dropping a Value Early
Reference Count
Introduction to Refcell
Using Interior Mutability
Refcell Borrow Checker
Multiple Owners by Rc and RefCell

Fearless Concurrency

Introduction to Section
Concurrency and Parallelism
Using Threads
Using Join Handles
Using Move Closure with Threads
Message Passing Between Threads
Sending Multiple Values
Multiple Producer by Cloning Transmitter
Passing Channel to Function
Cold Drink Manufacturing
Assignment Channels
Assignment Solution Channels
Introduction to Mutex
Sharing Mutex Between Multiple Threads
Movie Ticket Booking System
Assignment Cab Booking System
Assignment Solution Cab Booking System

Patterns and Matching

Introduction to Section
Match and If let
while let and for let Patterns
Refutable and Irrefutable Patterns
Pattern Syntax
Ref and Ref mut

Extra Information - Source code, and other stuff

Source Codes
Bonus Lecture and Information

Reviews

Gregory
June 30, 2022
While the course is labeled for beginners, it feels like the early portions of this course make a lot of assumptions in regards to what the student already knows. Stating a prerequisite knowledge of terminal is recommended would be helpful because working in Rust seems to require a semi-frequent use of the terminal. An alternative would be a quick video covering the Terminal and some basic commands and what they do so the student is more comfortable going forward. Another small note here is that you say, “I have to write rustc” but other than “I have to compile my program” the student has no actual knowledge of what is going on, much less what “rustc” does. Maybe some of this gets clarified later but I was asked to review this early on so I’m just pointing out what I’ve seen so far. Mr. Singh does state that you can use any text editor, and while true, the nature of this course is for beginners - so perhaps recommend something to assist the student. SublimeText is an excellent tool but does cost $99, and that may not be viable for everyone jumping into this course. Please consider showing a free resource like in the Java and Python courses with IntelliJ IDEA Student Edition, or use something like VS Code and include a basic set up of extensions (Rust-Analyzer, CodeLLDB, and maybe Better TOML). Finally, so far for me, the feel of this course over all is it presents itself as rushed and more targeted towards people who are familiar with another programming language. That isn’t a bad thing but perhaps consider adjusting the course to aim closer to that “beginner” label. Tim has always done an excellent job with this so hopefully this will get refined in the future.
Ashfaque
April 24, 2022
Everything copied from the official rust programming language guide and hardly anything has been explained. Also, the communication is extremely poor. I suggest that the beginners go with Educative's Learn Rust from Scratch and follow that by Udemy's Ultimate Rust and Ultimate Rust 2.
Charles
December 15, 2021
Don't waste your money, instructor doesn't even use a recent source code editor for the course, he uses Visual Studio Code 2017... which has been replaced long ago by Visual Studio Code. He does the hello program in a text editor??
Emmanuel
December 9, 2021
The course is basically The Rust Programming Language book in video format, which I don't mind, but it is something that should be mentioned. My major complaint is that there are some exercises done by the instructor which clearly show a lack of understanding for the topic, like the HashMap exercise or the Mutex exercise to name a few. Also, the code presented doesn't adhere to the standard code formatting rules (tabs and spacing for example) which should be addressed.
Daniel
November 15, 2021
Instructor is very thorough when presenting the Rust language and features. Sometime hard to understand but attached resources make up for it.
Gérard
November 11, 2021
Au début, ce formateur était compréhensible mais, au fil du temps, il se fait de plus en plus abscons. La pédagogie consiste à rendre simple les choses complexes. Il fait hélas tout le contraire...
Gérard
October 13, 2021
Ce formateur est excellent : - son cours est bien structuré - il détaille chaque point qu’il l’illustre par un exemple simple - il s’exprime clairement : je le comprends parfaitement en vitesse 1.5 J’attends la suite : un approfondissement avec GUI, SGBD, Web…
Alex
August 11, 2021
Taking this years later left some things to desire. Overall, I'm glad I took the course. It went over the salient points in rust.
Phil
July 2, 2021
This course feels very rushed and is nowhere near the quality of the Learn Programming other videos such as Tim's Java course or the C++ course. Those are the gold standard and compared to this course it is not even close. Please redo this course just like the Java and C++ course. Again the content never build on previous lectures and there wasn't any interactive learning. The hand written notes are just a horrible touch. I was not expecting this under the Learn Programming brand.
Sam
April 20, 2021
More depth on errors and propagating different error types would be nice as well as more ownership examples use cases etc.
Kamaljit
February 28, 2021
I enjoyed the course. Instructor was straight to the point with mini-examples. If I were to make some suggestions it would be: - no need to make the intro slide and sounds for every video. It can be jarring, especially when listening late at night. - On some videos the instructor writes on a whiteboard and it is hard to read - There is some repetition in the lectures that could be reduced Overall happy to have taken the course and feel comfortable with most concepts in Rust now
Sarunas
December 30, 2020
It was pretty nice - lots of information from top to bottom! Thing that i didn't really get was why the notepad was used in some cases just to write the code (it is the same as text editor only it is more difficult to understand what is written down)
Gerhard
December 20, 2020
Ein wenig zu detailliert für einen erfahrenen (+20 Jahre) C++ Programmierer. Leider ist das Englisch schwer zu verstehen.
Seyed
December 3, 2020
In general, good effort was made to create these videos. Sometimes, the terms Parentheses ( ), Braces { }, Brackets [ ] were spoken interchangeably which is wrong. Maybe I am biased, but as a C/C++ programmer, I could not appreciate RUST programming language.
Ted
October 19, 2020
Docent praat met accent, soms moeilijk verstaanbaar. Ondertitels geven letterlijk de klank van de tekst weer, niet wat er inhoudelijk wordt gezegd.

Charts

Price

Rust Programming Language for Beginners - Price chart

Rating

Rust Programming Language for Beginners - Ratings chart

Enrollment distribution

Rust Programming Language for Beginners - Distribution chart

Coupons

DateDiscountStatus
6/14/202074% OFF
expired
4/30/202180% OFF
expired
12/23/202180% OFF
expired
1747516
udemy ID
6/14/2018
course created date
8/21/2019
course indexed date
Bot
course submited by