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

edX

Rust Fundamentals

Pragmatic AI Labs via edX

Overview

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.

Syllabus

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)

Taught by

Alfredo Deza

Reviews

Start your review of Rust Fundamentals

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.