Skip to main contentSkip to Xpert Chatbot

AI: Rust Fundamentals

Master Rust programming from scratch to build efficient applications.

Rust Fundamentals
4 weeks
3–6 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

There is one session available:

After a course session ends, it will be archivedOpens in a new tab.
Starts Oct 21

About this course

Skip About this course

From Basics to Mastery

  • Comprehensive course for beginners and experienced programmers
  • No prior Rust knowledge required - start coding from scratch
  • Learn core language concepts, syntax, tooling, best practices

Get a solid foundation in the powerful and efficient Rust programming language:

  • Rust basics - variables, data types, control flow, ownership rules
  • Advanced concepts - structs, enums, traits, lifetimes, concurrency
  • Using powerful tools like Rust Analyzer, rustfmt, Cargo
  • Test-driven development and debugging techniques
  • String manipulation, error handling, modules
  • Leverage AI pair programming with GitHub Copilot
  • Rust coding best practices for readability and performance
  • Build and document your own libraries using Cargo
  • Techniques for writing safe, concurrent, and lock-free code

By the end, you'll master Rust to build reliable, high-performance software - whether starting as a total beginner or experienced programmer.

At a glance

  • Language: English
  • Video Transcript: English
  • Associated programs:

What you'll learn

Skip What you'll learn
  • Apply Rust's core concepts like ownership, borrowing, and lifetimes to write efficient, reliable, and safe code.
  • Use Rust's advanced features like enums, structs, traits, and generics to build robust applications.
  • Develop, document, test and debug Rust projects using Cargo, Rust Analyzer, and other tools in the Rust ecosystem.

1\. Module 1: Installing Rust and Setting Up Your Text Editor

1.1. Introduction

\- Meet your Course Instructor: Alfredo Deza (Video, 2 minutes)

\- About This Course (Video, 3 minutes)

1.2. Installing Rust and Visual Studio Code

\- Overview of Installing Rust (Video, 0 minutes)

\- Demo: Installing Rust (Video, 5 minutes)

\- Demo: Visual Studio Code (Video, 7 minutes)

\- Demo: Enabling the Rust Analyzer (Video, 4 minutes)

\- Demo: Using the Rust Analyzer (Video, 7 minutes)

\- Demo: Synchronizing your settings (Video, 4 minutes)

\- Summary of Installing Rust and Visual Studio Code (Video, 0 minutes)

\- Practice External Lab: Install Rust with Visual Studio Code (Reading, 10 minutes)

1.3. AI Pair Programming with Github Copilot

\- Overview of AI Pair Programming with Github Copilot (Video, 1 minute)

\- Demo: Signing up for GitHub Copilot (Video, 4 minutes)

\- Demo: Installing and enabling Copilot on Visual Studio Code (Video, 2 minutes)

\- Demo: Programming with suggestions (Video, 5 minutes)

\- Demo: Using prompts with Copilot (Video, 2 minutes)

\- Demo: Copilot X and chat-based learning (Video, 5 minutes)

\- Summary of AI Pair Programming (Video, 0 minutes)

\- Optional: Quickstart for GitHub Copilot (Reading, 10 minutes)

\- Optional: Setting up your Student Account with GitHub (Reading, 10 minutes)

\- Practice External Lab: Enabling GitHub Copilot (Reading, 10 minutes)

1.4. Codespaces

\- Overview of Codespaces (Video, 1 minute)

\- Demo: Fundamentals of Codespaces (Video, 8 minutes)

\- Demo: Understanding usage and quotas (Video, 6 minutes)

\- Demo: Basics of dev containers (Video, 3 minutes)

\- Demo: Customizing the editor (Video, 2 minutes)

\- Demo: Customizing the environment (Video, 4 minutes)

\- Summary of Codespaces (Video, 0 minutes)

\- GitHub Codespaces for Students (Reading, 10 minutes)

\- Optimizing Codespaces (Reading, 10 minutes)

\- External Lab: Using GitHub Codespaces with Copilot (Reading, 10 minutes)

1.5. Additional Resources

\- Connect with your instructor (Reading, 10 minutes)

\- Course Structure and Discussion Etiquette (Reading, 10 minutes)

\- Key terms (Reading, 10 minutes)

\- Getting Started: Visual Studio Code, Github Codespaces, and Rust (Reading, 10 minutes)

\- Key Terms (Reading, 10 minutes)

\- Key Terms (Reading, 10 minutes)

1.6. Assessments

\- Your Development Environment (Quiz, 30 minutes)

\- Rust environment (Quiz, 30 minutes)

\- AI Pair programming (Quiz, 30 minutes)

\- Practice quiz (Quiz, 30 minutes)

\- Meet and Greet (optional) (Discussion Prompt, 10 minutes)

2\. Module 2: Rust Fundamentals

2.1. Introduction to Rust

\- Introduction to Rust (Video, 0 minutes)

\- Demo: Create a new Rust project (Video, 5 minutes)

\- Demo: Overview of project files (Video, 6 minutes)

\- Demo: Basic components of Rust code (Video, 6 minutes)

\- Demo: Variable assignment and immutability (Video, 6 minutes)

\- Demo: Basics of control flow (Video, 4 minutes)

\- Demo: Shadowing variables (Video, 5 minutes)

\- Summary of Introduction to Rust (Video, 0 minutes)

\- Repository for this week (Reading, 10 minutes)

\- Key Terms (Reading, 10 minutes)

\- Optional: What is Rust? Microsoft Learn Module (Reading, 10 minutes)

\- Optional: Setup the Rust Development Environment Microsoft Learn Module (Reading, 10 minutes)

\- Practice Internal Lab: Create a new Rust project (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Use the Basics of Control flow (Ungraded Lab, 60 minutes)

2.2. Loops and Control Flow

\- Introduction to Loops and Control Flow (Video, 0 minutes)

\- Demo: Introduction to Loops in Rust (Video, 3 minutes)

\- Demo: Conditional Statements in Rust (Video, 3 minutes)

\- Demo: The while Loop in Rust (Video, 3 minutes)

\- Demo: The for Loop in Rust (Video, 4 minutes)

\- Demo: The break and continue statements in Rust (Video, 3 minutes)

\- Demo: The match Control Flow Statement in Rust (Video, 5 minutes)

\- Summary of Loops and Control Flow (Video, 0 minutes)

\- Key Terms (Reading, 10 minutes)

\- Optional: Rust Loops Expressions Microsoft Learn Module (Reading, 10 minutes)

\- Optional: Rust if/else Expressions Microsoft Learn Module (Reading, 10 minutes)

\- Practice Internal Lab: Conditional statements (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Match control flow statements (Ungraded Lab, 60 minutes)

2.3. Function Basics

\- Introduction to Function Basics (Video, 1 minute)

\- Demo: Simple unit functions (Video, 1 minute)

\- Demo: Return values (Video, 5 minutes)

\- Demo: Using arguments (Video, 3 minutes)

\- Demo: The borrowing concept (Video, 10 minutes)

\- Demo: Using panic to stop a program (Video, 4 minutes)

\- Demo: Basic error handling with match (Video, 6 minutes)

\- Summary of Function Basics (Video, 1 minute)

\- Key Terms (Reading, 10 minutes)

\- Optional: Create your first Rust Program Microsoft Learn Module (Reading, 10 minutes)

\- Optional: Understanding Rust memory management Microsoft Learn Module (Reading, 10 minutes)

\- Practice Internal Lab: Using arguments in functions (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Using the borrowing concept (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Basic error handling with match (Ungraded Lab, 60 minutes)

2.4. Assessment

\- Basics of Rust programming (Quiz, 30 minutes)

\- Practice Quiz (Quiz, 30 minutes)

\- External Lab: Create a File Reader Application (Reading, 10 minutes)

3\. Module 3: Using Structs, Types, and Enums

3.1. Structured Data

\- Introduction to Structured Data (Video, 1 minute)

\- Demo: Defining structs (Video, 3 minutes)

\- Demo: Creating struct instances (Video, 5 minutes)

\- Demo: Associated functions and constructors (Video, 8 minutes)

\- Demo: Other struct uses (Video, 4 minutes)

\- Summary of Structured Data (Video, 1 minute)

\- Repository for this week (Reading, 10 minutes)

\- Key Terms (Reading, 10 minutes)

\- Practice Internal Lab: Defining structs (Ungraded Lab, 60 minutes)

\- Practice Internal Labs: Associated functions and constructors (Ungraded Lab, 60 minutes)

3.2. Strings and Vectors

\- Introduction to Strings and Vectors (Video, 1 minute)

\- Demo: Understanding String and str (Video, 5 minutes)

\- Demo: Getting Started with Rust String Manipulation (Video, 6 minutes)

\- Demo: Basics of Vectors (Video, 6 minutes)

\- Demo: Retrieving values from Vectors (Video, 7 minutes)

\- Demo: Adding elements to Vectors (Video, 3 minutes)

\- Summary of Strings and Vectors (Video, 1 minute)

\- Key Terms (Reading, 10 minutes)

\- Optional: Using Loops to Iterate Over Data Microsoft Learn Module (Reading, 10 minutes)

\- Practice Internal Lab: Getting started with string manipulation (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Retrieve values from Vectors (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Adding elements to Vectors (Ungraded Lab, 60 minutes)

3.3. Enums and Variants

\- Introduction to Enums and Variants (Video, 1 minute)

\- Demo: Defining an Enum (Video, 4 minutes)

\- Demo: Using Enum as a Type (Video, 5 minutes)

\- Demo: The Option Enum (Video, 8 minutes)

\- Demo: Applied Enums (Video, 6 minutes)

\- Demo: Using Vectors with Enums (Video, 5 minutes)

\- Demo: Exhaustive matches (Video, 5 minutes)

\- Summary of Enums and Variants (Video, 1 minute)

\- Key Terms (Reading, 10 minutes)

\- Optional: Handling Errors in Rust Microsoft Learn Module (Reading, 10 minutes)

\- Practice Internal Lab: Using Enum as a type (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Applied Enums (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Using Vectors with Enums (Ungraded Lab, 60 minutes)

3.4. Assessment

\- Organizing Data in Rust: Structs, Enums, and Types (Quiz, 30 minutes)

\- External Lab: Create a File Size formatter (Reading, 10 minutes)

4\. Module 4: Applying Rust

4.1. Libraries and Cargo

\- Introduction to Libraries and Cargo (Video, 1 minute)

\- Demo: Creating the library with Cargo (Video, 3 minutes)

\- Demo: Adding code to lib (Video, 6 minutes)

\- Demo: Documenting your code (Video, 7 minutes)

\- Demo: Using a debugger (Video, 8 minutes)

\- Demo: Using a Makefile (Video, 12 minutes)

\- Summary of Libraries and Cargo (Video, 1 minute)

\- Repository for this week (Reading, 10 minutes)

\- Key terms (Reading, 10 minutes)

\- Optional: Create Your First Rust Program Microsoft Learn Module (Reading, 10 minutes)

\- Optional: Debugging in Visual Studio Code (Reading, 10 minutes)

\- Practice Internal Lab: Create a library with Cargo (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Document your code (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Use a Makefile (Ungraded Lab, 60 minutes)

4.2. Modules

\- Introduction to Modules (Video, 1 minute)

\- Demo: Using Cargo for dependencies (Video, 5 minutes)

\- Demo: Extending with modules (Video, 4 minutes)

\- Demo: Verify code with doctest (Video, 5 minutes)

\- Demo: Defining Public and Private modules (Video, 6 minutes)

\- Demo: Private and public fields in Structs (Video, 10 minutes)

\- Summary of Modules (Video, 1 minute)

\- Key Terms (Reading, 10 minutes)

\- Optional: Managing growing projects in Rust (Reading, 10 minutes)

\- Optional: Explore Modules, Packages, and Third-party Crates Microsoft Learn Module (Reading, 10 minutes)

\- Practice Internal Lab: Verify code with Doctest (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Define Public and Private modules (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Use Private and public fields in Structs (Ungraded Lab, 60 minutes)

4.3. Testing

\- Introduction to Testing (Video, 1 minute)

\- Demo: Organizing test files (Video, 3 minutes)

\- Demo: Introduction to testing in Rust (Video, 4 minutes)

\- Demo: Writing tests for your code (Video, 9 minutes)

\- Demo: Testing private code (Video, 11 minutes)

\- Demo: Using test failure messages (Video, 4 minutes)

\- Summary of Testing (Video, 1 minute)

\- Key Terms (Reading, 10 minutes)

\- Optional: Write Automated Tests Microsoft Learn Module (Reading, 10 minutes)

\- Optional: Test Organization (Reading, 10 minutes)

\- Practice Internal Lab: Write tests for your code (Ungraded Lab, 60 minutes)

\- Practice Internal Lab: Test private code (Ungraded Lab, 60 minutes)

4.4. Summary

\- Course Summary (Video, 1 minute)

\- External Lab: Create a Rust library (Reading, 10 minutes)

\- Next steps (Reading, 10 minutes)

4.5. Assessment

\- Rust Components and Patterns (Quiz, 30 minutes)

Learner testimonials

Skip Learner testimonials

- "Been learning more and more Rust, really is amazing, it's like the super powers that you always wanted." – Previous Student

- "I am a Data Scientist willing to use Rust for data engineering tasks. It has been one of the best courses I've attended on Coursera. I liked a lot the clear explanations with practical examples. Thank you!" – Previous Student

- "Thank you for the time and effort to put this course together! I happen to be using Rust for some time now - learned it on my own! Problem with learning 'on my own' is that never know what is missed." – Previous Student

This course is part of Rust Programming Professional Certificate Program

Learn more 
Expert instruction
5 skill-building courses
Self-paced
Progress at your own speed
5 months
3 - 6 hours per week

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.