EdX

Rust Fundamentals (edX)

Rust Fundamentals (edX)

Master Rust programming from scratch to build efficient applications.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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.
This course is part of the Rust Programming Professional Certificate.

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.

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)

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

Related Courses

Essentials of Genomics and Biomedical Informatics (edX) EdX
IsraelX

Essentials of Genomics and Biomedical Informatics (edX)

This course presents clinicians and digital health enthusiasts with an overview of the data revolution in medicine and how to exploit it for research and in the clinic. The course will not make you a bioinformatician but will introduce the main concepts, tools, algorithms, and databases in this field.

Self Paced
5-12 Weeks
Rust for DevOps (Coursera) Coursera
Duke University

Rust for DevOps (Coursera)

Rust For DevOps is an intermediate level course for software engineers, system administrators, and technical professionals looking to apply DevOps principles using Rust. This course is for you if you have beginner level programming experience and are familiar with Linux, Git, and Docker fundamentals.

Sep 28th 2026
4 Weeks
Rust Fundamentals (Coursera) Coursera
Duke University

Rust Fundamentals (Coursera)

This comprehensive Rust programming course welcomes learners of all levels, including beginners and those with some programming experience. No prior knowledge of Rust is required, making it accessible to coding novices. Throughout the course, you will gain a solid foundation in Rust programming and develop proficiency in advanced concepts, enabling you to write efficient, reliable, and high-performance code.

Sep 21st 2026
4 Weeks
Computer Graphics (edX) EdX
University of California, San Diego,UC San DiegoX

Computer Graphics (edX)

Learn to create images of 3D scenes in both real-time and with realistic raytracing in this introductory computer graphics course. Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual simulators, visualization and even imaging products and cameras.

Self Paced
Self-Paced
Dynamic Programming: Applications In Machine Learning and Genomics (edX) EdX
University of California, San Diego,UC San DiegoX

Dynamic Programming: Applications In Machine Learning and Genomics (edX)

Learn how dynamic programming and Hidden Markov Models can be used to compare genetic strings and uncover evolution. If you look at two genes that serve the same purpose in two different species, how can you rigorously compare these genes in order to see how they have evolved away from each other?

Self Paced
Self-Paced
Big Data Capstone Project (edX) EdX
University of Adelaide,AdelaideX

Big Data Capstone Project (edX)

Further develop your knowledge of big data by applying the skills you have learned to a real-world data science project. This project will give you the opportunity to deepen your learning by giving you valuable experience in evaluating, selecting and applying relevant data science techniques, principles and theory to a data science problem. This project will see you plan and execute a reasonably substantial project and demonstrate autonomy, initiative and accountability.

Self Paced
Self-Paced