Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Best Courses Guides

10 Best Rust Courses to Take in 2023

Here is a guide of the best FREE and paid Rust courses, a general-purpose programming language that emphasize performance, type safety, and concurrency.

In this guide, I’ve selected the best free and paid online courses to learn Rust based on Rust courses from the Class Central catalog. Most of the courses are free or free-to-audit, and one course by Microsoft offers a free certificate. Some courses are concise and get you up to speed in no time. Meanwhile, others will be more comprehensive and focused on specific skills or backgrounds, such as “from Python to Rust” course, or self-paced with exercises and mentoring.

Here are my top picks. Click on one to skip to the course details:

Course Workload In Brief
1. Rust Programming Course for Beginners – Tutorial (fCC) 1–2 hours long Best concise course
2. Take your first steps with Rust (Microsoft) 5–6 hours long Best interactive course with free certificate
3. Easy Rust: bite-sized Rust tutorials (David MacLeod) 23 hours long Best comprehensive course
4. Rust Programming Tutorial (Tech With Tim) 2 hours long Alternative to the most concise course for intermediate programmers
5. Rustlings (The Rust Programming Language) Self-paced Best Intermediate Rust programming exercises
6. Rust on Exercism (Exercism) Self-paced Alternative to the fifth but includes mentoring and for all levels
7. From Python to Rust (Michael Kefeder) 14 hours long Best for Python programmers
8. Rust Essential Training (LinkedIn Learning) 7 hours long Best LinkedIn Learning course
9. Rust in Motion (manning.com) 4 hours long Best structured course
10. Learn Rust by Building Real Applications (Udemy) 7 hours long Best project-based course

What is Rust?

Rust is a multi-paradigm, general-purpose programming language that runs blazingly fast, emphasizing performance, type safety, and concurrency. It aims to bring modern language design and an advanced type system to systems programming.

Rust’s efficiency comes from its memory safety, which rejects the traditional garbage collector and instead manages memory via the novel concept of ownership and borrowing. In Rust, you automatically write safe, correct code thanks to its stringent but helpful compiler that exactly tells you where an error occurred in your code before the code is even run!

Rust is frequently used to write stable, high-performance code. Common applications include CLI tools, networking, embedded services, and the most exciting, WebAssembly.

Although Rust is a relatively new programming language, having its first stable release in 2014, it is increasingly being embraced by more and more companies. Rust is well-loved among developers, being the most loved language 6 times in a row according to the annual StackOverflow Developer Survey. Hence, it makes sense to strap down and learn a new way of programming with Rust.

Best Courses Guides Methodology

I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:

  1. Research: I started by leveraging Class Central’s database with 80K+ online courses and 170K reviews. Then, I made a preliminary selection of the courses by rating, reviews, and bookmarks.
  2. Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
  3. Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, price, release date, ratings and enrollments.

Course Ranking Statistics

Here are some aggregate stats about the ranking:

  • All of the courses with the exception of three are free or free-to-audit.
  • The first course in this ranking is the most popular course.
  • About 200 people follow Rust Topic on Class Central.

Without further ado, let’s go through the top picks.

1. Rust Programming Course for Beginners – Tutorial (freeCodeCamp)

My first pick for the best Rust course is Rust Programming Course for Beginners from freeCodeCamp.

This short interactive free course is most suitable for beginners to Rust or those simply curious about the awesome and unique nature of the Rust programming language, although you’ll need experience in another programming language.

Additionally, there’s a replit link that allows you to learn rust completely from within your browser. By the end of the course, you’ll have the basics of Rust in your hands and have built a CLI calculator and an image combiner.

What You’ll Learn

The course begins with an overview of the Rust programming language, beginning with its philosophy of guiding the programmer into naturally writing reliable, efficient code through stringent error-checking and helpful error messages.

Next, you’ll study the core programming concepts needed to write Rust code. You’ll learn by doing through the implementation of a CLI calculator that can perform basic arithmetic corrections in the command line. Gradually, you’ll learn how to write variables, parse strings, declare functions, implement conditionals and loops, before finally debugging and compiling the code.

Afterwards, you’ll create an image combiner that takes two images and combines their pixels into one new image. You’ll explore more advanced programming techniques here, like creating your own data structures with structs, types, and traits, creating public and private modules, handling errors, and much more.

How You’ll Learn

This course is 1–2 hours long. You’ll learn by watching the lecture videos and trying your hands on the course projects so that you’ll learn through practice.

Institution freeCodeCamp
Provider YouTube
Instructor Shaun Hamilton
Level Beginner
Workload 1–2 hours total
Views 189K
Likes 4.2K
Certificate None

Fun Facts

  • freeCodeCamp offers many other tutorials and courses on various programming languages on their YouTube channel as well as 13 fully-fledged courses on their website.
  • Shaun Hamilton is a software developer at freeCodeCamp. He is a mechanical engineer by education, and musician by practice.

If you’re interested in this course, you can find more information about the course and how to enroll here.

2. Take your first steps with Rust (Microsoft Learn)

My second pick for the best Rust course is Take your first steps with Rust by Microsoft Learn.

In this course with a free certificate, you’ll get a brief introduction to the Rust programming language. By the end of the course, you’ll be able to create simple command-line programs.

No prerequisites are required to take this course.

What You’ll Learn

The course begins with a quick introduction to the features of Rust language that differentiates it from other programming languages and the basic components used with Rust, like getting familiar with the Rust development environment by writing a program using Cargo, Rust’s build tool.

Moving on, you’ll learn about the core programming concepts like variables, data types, and functions and discover how to use if/else statements to test conditions and loops to iterate through some compound data types like arrays, vectors, and hash maps. You’ll then write a simple program, taking notes on handling errors in Rust using enums.

Ownership and borrowing are essential concepts that make Rust run fast and run safe by keeping track of where data is used throughout the program. You’ll uncover the rules of ownership, Rust’s pointer types called references, and generic types and traits which allows a function to accept arguments of different types to help you.

Rust, like many other languages, has modules and maintains third-party packages known to Rust as crates. You’ll learn how to organize your code in files, modules, and packages and use third-party packages from the Crates.io repository. You’ll also learn about three types of testing: unit tests, integration tests, and documentation tests that’ll give you a heads-up whenever a new addition breaks the programs.

In the final module, you’ll develop a real-world command-line program by using tested third-party crates for command-line parsing and error handling.

How You’ll Learn

This course is 5–6 hours long and consists of 11 modules. You’ll learn by going through the articles, looking at the code examples, and completing the exercises by coding in the browser-integrated Rust playground.

Institution Microsoft
Provider Microsoft Learn
Level Beginner
Workload 5–6 hours total
Certificate Free

Fun Facts

  • Microsoft Learn offers a lot of other courses on programming like JavaScript and C# with free certificates.

If you’re interested in this course, you can find more information about the course and how to enroll here.

3. Easy Rust: bite-sized Rust tutorials (David MacLeod)

My 3rd pick for the best Rust course is Easy Rust by David MacLeod.

This comprehensive free course will teach you all you need to know about Rust, from the basics to the advanced. It is a video course based on the popular book Easy Rust, and is in fact made by the same author.

You’ll also do most of your coding in the Rust playground in-browser, no installation required!

What You’ll Learn

The course begins with basic programming concepts like variables, data types, and type inference. Then, you’ll learn how to display values to screen and debug any compiler errors that occur (which is a straightforward process thanks to Rust’s detailed error message. You’ll also learn how to write conditions and loops into your code.

Afterward, you’ll learn about references that’ll help you ensure that all memory access is safe. This ties in with the rules of ownership and borrowing Rust lays out so that your code runs correctly and efficiently.

You’ll learn about other data structures like vectors and tuples. In addition, you can create your own data structures using structs and enums. You’ll also learn about lifetimes, which tell you how long variables live, and other more advanced topics like writing multithreaded code.

The course ends by covering a few topics that can’t be done online, for example, using Rust’s package management system and interacting with files.

How You’ll Learn

This course is 23 hours long. You’ll learn by watching the lecture videos and complementing it with the online site that includes code examples that you can run and experiment with.

Provider YouTube
Instructor David MacLeod
Level Beginner
Workload 23 hours total
Views 85K
Certificate None

Fun Facts

  • David MacLeod is a Canadian who lives in Korea. He wrote Easy Rust in simple English to help those who aren’t native speakers learn the Rust language.

If you’re interested in this course, you can find more information about the course and how to enroll here.

4. Rust Programming Tutorial (Tech With Tim)

This free course called Rust Programming Tutorial covers the complete basics like setting up your programming environment to the advanced concepts like ownership and borrowing.

To take this course, you need to be experienced with the basic programming concepts like variables or be familiar with another programming language.

What You’ll Learn

The course begins with a brief introduction to Rust and its unique features. Then, the course covers some of the tools commonly used with Rust, like cargo, a package manager that makes it easy to build, run, and create Rust projects.

Variables, constants, and shadowing will be discussed, along with Rust strongly-typed data types that ensure the user encounters no unexpected error during runtime. Then, you’ll learn about Rust’s console input, arithmetic, and type casting. You’ll also cover control flow statements that help you make decisions and loop parts of your code. Finally, you’ll learn how to write functions in Rust.

The last section of the course covers Rust’s memory management system, especially the concept of ownership and borrowing.

How You’ll Learn

This course is 2 hours long. You’ll learn by watching the lecture videos and following along with the lecturer as he codes.

Provider YouTube
Instructor Tim Ruscica
Level Intermediate
Workload 2 hours total
Views 74K
Likes 2.4K
Certificate None

Fun Facts

  • Tim Ruscica covers various programming languages and concepts, his most popular courses being his Python courses.

If you’re interested in this course, you can find more information about the course and how to enroll here.

5. Rustlings (The Rust Programming Language)

Rustlings is a unique course compared to the others on this ranking.

Created by developers of The Rust Programming Language themselves, the free course consists of a set of exercises that’ll help beginners get the hang of the Rust language. You’ll cover the basics starting with variables all the way to strings, enums, traits, and generics. And you’ll code from within the browser!

To get the most out of this course, you’ll need to have some basic familiarity with Rust.

What You’ll Learn

The course contains over 20 topics with several exercises based on them. The topics can be simple, like variables, control loops, and if statements, or be more difficult like error handling, generics, and threads.

The topics included in the course are as follows: clippy, conversions, enums, error handling, functions, generics, hashmaps, if, intro, lifetimes, macros, modules, move semantics, options, primitive types, standard library types, strings, structs, tests, threads, traits, variables, and vecs.

How You’ll Learn

This course is self-paced, meaning that the length of the course depends on the proficiency of the learner. You’ll learn through hands-on coding by completing the exercises. If you get stuck, you can view hints or access the solution. There are also 3 quizzes that’ll test your overall knowledge of Rust.

Institution The Rust Programming Language
Provider GitHub
Level Intermediate
Workload Self-paced
Certificate None

Fun Facts

  • It is best to pair this course with The Book as some of the exercises directly pair with some of the chapters from it.

If you’re interested in this course, you can find more information about the course and how to enroll here.

6. Rust on Exercism (Exercism)

Exercism is an online, open-source, free coding platform where you can practice your coding skills through intriguing exercises and receive mentorship by dedicated volunteers.

One special thing about this platform is that you’ll receive personal mentoring for free. When you have solved an exercise, it’ll be reviewed by the volunteer team and feedback will be given to help you improve your code.

Exercises range from easy to hard, so the platform is suitable for all levels of programmers.

What You’ll Learn

There are 103 exercises in total that range in difficulty. You’ll begin with the tutorial exercises where you’ll print “Hello, World!” and learn how to use several essential programming concepts like structs, tuples, hashmaps, and enums.

Afterward, you’ll pick between exercises of three difficulties: easy, medium, and hard.

Some easy exercises include calculating the nth prime, matching brackets together, and finding the gigasecond.

Meanwhile, the medium exercises include constructing an anagram, implementing a clock that handles time without dates, and implementing the binary search algorithm.

Some of the most challenging exercises available are optically recognizing numbers from a grid of black and white pixels, making a chain of dominos, and implementing a doubly linked list.

How You’ll Learn

This course is self-paced, so you can take all the time you need to complete the 103 hands-on programming exercises. Each exercise comes with automatic analysis of your code as well as personal mentoring to help you understand your code’s strengths and flaws.

Institution Exercism
Level Beginner–Advanced
Workload Self-paced
Enrollments 57K
Certificate No

Fun Facts

  • Exercism provides exercises on 50+ programming languages like Python, Kotlin, F#, and WebAssembly.
  • Their mission is to help everyone get really good at programming, regardless of their background, share the love of programming, and help people upskill as part of their upward social mobility.
  • Over 200 people have contributed towards the Rust syllabus and there are over 700 mentors available at the time of writing.

If you’re interested in this course, you can find more information about the course and how to enroll here.

7. From Python to Rust (Michael Kefeder)

If you’re a Python programmer looking to explore the Rust programming language, this course will ease the transition from a high-level language to a low-level language.

From Python to Rust, taught by Michael Kefeder, you will learn how to write performance-critical code in Rust by comparing Python code with Rust code. By the end of the free course, you’ll have a firm understanding of Rust.

What You’ll Learn

The course begins with comparing the Python and Rust languages and suggests situations where you would prefer Rust over Python before starting with programming.

You’ll begin with the standard programming concepts like variables and numbers. You’ll then look into the Rust ecosystem and discover the wealth of options available to you as a Rust programmer, like debuggers and third-party libraries.

Moving on, you’ll study a few data structures like tuples, arrays, slices, lists, and strings, which you’ll get comfortable with. You’ll also check how to write functions and closures and how they relate to Python’s functions.

You’ll then learn about structs, which allow you to implement your own data structures. Additionally, you’ll learn about hashmaps, iterators, error handling, traits, and something which isn’t available in Python: smart pointers. Most importantly, you’ll implement unit tests similar to Python’s and know how to debug Rust code.

The following topics revolve around substituting common Python commands like multithreading, async, and context managers in Rust. Additionally, you’ll also learn how to write Python modules in Rust and even how to embed Python into Rust!

The last few chapters involve web development concepts like sockets, JSON, HTTP servers, and WebSockets. Finally, some topics you’ll cover are graphics processing, GUI programming, plotting, and SQLite.

How You’ll Learn

This course is 14 hours long. You’ll learn by watching the lecture videos, following along with the instructor as he codes, and checking out the source code available on GitHub.

Provider YouTube
Instructor Michael Kefeder
Level Intermediate
Workload 14 hours total
Views 7K
Certificate None

Fun Facts

If you’re interested in this course, you can find more information about the course and how to enroll here.

8. Rust Essential Training (LinkedIn Learning)

Rust Essential Training covers the key components of Rust, starting with basic programming concepts including variables, data types, functions, and control loops, before moving on to some of the core concepts unique to Rust, including ownership, borrowing references, and crates.

No prior experience with programming is needed to take this 1 month free trial course.

What You’ll Learn

The course begins with an anatomy of a typical Rust program and instructions on setting up Rust and other Rust-related components in your system.

Then, you’ll start by learning about primitive data types (like integers and booleans) and compound data types (like arrays and tuples). Next, you’ll learn how to operate these data types to produce an output. Afterward, you’ll learn about functions and how they lead to code reuse by returning values. You’ll also learn about program flow control, which includes conditionals and loops.

The course then shifts its focus on the concept of ownership and borrowing. First, you’ll learn about variable scopes, references, and slices within the context of memory management. Then, you’ll explore the various modules and third-party libraries known as crates that you can adapt into your code and create a command line application that can read from and write to files.

The final parts of the course cover advanced programming concepts. You’ll learn about structs that allow you to create data structures. You’ll also learn about generic types and traits which add to the functionality of structs by adding behavior. Additionally, you’ll learn about lifetimes and how they interact with the borrow checker, how enums are different from structs, how to handle errors, and Rust’s collections library.

How You’ll Learn

This course is 7 hours long and consists of 16 sections. You’ll learn by watching the lecture videos and practicing your coding skills on the coding exercises.

Institution LinkedIn Learning
Instructor Barron Stone
Level Beginner
Workload 7 hours total
Enrollments 11K
Rating 4.8 / 5.0 (238)
Certificate Paid

Fun Facts

  • Barron Stone is an electrical engineer who shares his nerdy love for engineering with the world by authoring LinkedIn Learning courses to teach electronics and software development skills.
  • He has over 15 courses on LinkedIn Learning.

If you’re interested in this course, you can find more information about the course and how to enroll here.

9. Rust in Motion (manning.com)

Created by the developers of Rust, Rust in Motion introduces you to the Rust programming language through code examples and real-world scenarios. You’ll cover the basics like variables, functions, enums, structs, as well as the advanced like ownership and borrowing, error handling, and lifetime annotations.

Prior experience with another programming language is required to take this paid course.

What You’ll Learn

The first unit begins with an introduction to the basic syntax for constructs you’ve likely encountered in other languages like variables, data types, and functions but concentrates on what makes them different in Rust.

Then, you’ll cover ownership and borrowing, concepts that permeate all Rust code and ensure memory safety in Rust.

It’s common to get compiler errors when working in Rust. This is because the Rust compiler forces you to consider all the ways your program might fail, which can be frustrating while prototyping, but leads to more robust production code. Fortunately, Rust’s error messages are understandable and helpful, and you’ll discuss Rust’s strategy for error handling.

The course’s final unit is about lifetimes — the mechanism that the compiler uses to ensure all references are valid. The course demystifies the concept and describes scenarios when lifetime annotations are needed.

How You’ll Learn

This course is 4 hours long and consists of 4 units. You’ll learn by watching the interactive lecture videos, completing the optional exercises, and participating in the discussion forums.

Provider Manning
Instructors Carol Nichols and Jake Goulding
Level Beginner
Workload 4 hours total
Certificate Paid

Fun Facts

  • This course is a part of the Getting Started with Rust bundle, which also includes the book Rust in Action.
  • Carol Nichols is a co-author of The Rust Programming Language and is a member of the Rust Core Team, while Jake Goulding is the creator of The Rust FFI Omnibus, a member of the Rust Infrastructure Team, and the top contributor on the Rust tag on Stack Overflow.
  • Together, Carol and Jake cofounded Integer 32, the world’s first Rust consultancy.

If you’re interested in this course, you can find more information about the course and how to enroll here.

10. Learn Rust by Building Real Applications (Udemy)

Learn Rust by Building Real Applications teaches you the fundamentals of Rust through practical examples. You’ll start from the low-level view, introducing concepts when needed rather than throwing everything at you, until you’re able to build high-level applications and solve problems.

To take this paid course, you need basic computer science knowledge and experience in at least one other programming language.

What You’ll Learn

The course begins with a short theoretical section on low-level memory management. Then, you’ll study stacks, heaps, and smart pointers in Rust, including their implementation.

Then, the course sets its sights on building a simple command line application. Next, you’ll learn about basic programming concepts like data types, functions, mutability, and the standard library, along with the crucial features of Rust — ownership and borrowing. Finally, you’ll debug your application with the GNU Project Debugger.

After implementing the CLI application, you’ll begin a more significant, more advanced project: building a working HTTP server from scratch by writing your custom HTTP protocol implementation. You’ll be introduced to all the fundamental and advanced features like data structures, traits and types, lifetimes, and the dispatch system.

How You’ll Learn

This course is 7 hours long. You’ll learn by watching and studying the lecture videos, following along the instructor as he codes, and answering the end-of-section quizzes.

Provider Udemy
Instructor Lyubomir Gavadinov
Level Intermediate
Workload 7 hours total
Enrollments 12K
Rating 4.6 / 5.0 (2.3K)
Certificate Paid

Fun Facts

  • Lyubomir Gavadinov is a senior software engineer with over 7 years of experience working for a variety of companies.

If you’re interested in this course, you can find more information about the course and how to enroll here.

Elham Nazif Profile Image

Elham Nazif

Part-time content writer, full-time computer science student.

Comments 0

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects