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

Quantum Networking (edX) EdX
Purdue University,PurdueX

Quantum Networking (edX)

Learn about the science and engineering of future quantum networks whose security is guaranteed by laws of quantum physics. Applying exotic quantum properties such as entanglement to every-day applications such as communication and computation reveals new dimensions of such applications. Quantum encoding and entanglement distribution provide means to establish fundamentally secure communication links for transfer of classical and quantum data.

Mar 27th 2023
5-12 Weeks
DevOps, DataOps, MLOps (Coursera) Coursera
Duke University

DevOps, DataOps, MLOps (Coursera)

Learn how to apply Machine Learning Operations (MLOps) to solve real-world problems. The course covers end-to-end solutions with Artificial Intelligence (AI) pair programming using technologies like GitHub Copilot to build solutions for machine learning (ML) and AI applications. This course is for people working (or seeking to work) as data scientists, software engineers or developers, data analysts, or other roles that use ML.

Jun 22nd 2026
5-12 Weeks
Responsabilidad Social Corporativa y su impacto sobre la Gestión de la Tecnología de la Información (edX) EdX
OECx,Open Education Consortium - OEC

Responsabilidad Social Corporativa y su impacto sobre la Gestión de la Tecnología de la Información (edX)

La complejidad de los problemas emanados de una rápida globalización de la economía así como los grandes avances en la tecnología de la información (TI) han acelerado la aparición de sucesivas crisis económicas y sociales en las que tanto gobiernos de muchos países como empresas encuentran dificultades para adaptarse a esta nueva situación y cambiar con agilidad sus modelos de gobierno y gestión.

No sessions available
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.

Jun 15th 2026
4 Weeks
Recommender Systems: Behind the Screen (edX) EdX
Université de Montréal,UMontrealX

Recommender Systems: Behind the Screen (edX)

How are items recommended when you’re browsing for movies, jobs or clothing online? Register here and you’ll discover the fundamental concepts and methods allowing the most relevant item suggestions to users from e-commerce to online advertisement. In this course, you will explore and learn the best methods and practices in recommender systems, which are an essential component of the online ecosystem. This course was developed by IVADO and HEC Montréal as part of a workshop that took place in Montreal.

Sep 26th 2023
5-12 Weeks
NoSQL Databases (edX) EdX
University System of Maryland - USM,USMx,University of Maryland Baltimore County,UMBC

NoSQL Databases (edX)

Build a foundation of the four NoSQL (non-relational) databases: Document-oriented, Key-Value Pair, Column-oriented, and Graph. This NoSQL database course provides you with an introduction, overview, and history of NoSQL databases (non-relational databases). In this course you will explore in detail the four types of NoSQL databases (e.g., Document-oriented, Key-Value Pair, Column-oriented, and Graph).

Sep 19th 2022
5-12 Weeks
Quantum Technologies for Decision Makers (edX) EdX
University of Queensland,UQx

Quantum Technologies for Decision Makers (edX)

Quantum technology is all around yet many of us can readily be confused by the science, let alone the trajectories to identifying commercial opportunities. In such a context, making strategic decisions when the science and engineering are shifting presents many innovation dilemmas. Our interest lies in exploring enough of the science to boost our understanding so that we can make informed decisions to allocate resources that create and harness emerging opportunities.

Mar 28th 2023
4 Weeks