Most popular programs
Trending now
After a course session ends, it will be archived.
From Basics to Mastery
Get a solid foundation in the powerful and efficient Rust programming language:
By the end, you'll master Rust to build reliable, high-performance software - whether starting as a total beginner or experienced programmer.
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)
- "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