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

Python and Rust with Linux Command Line Tools (Coursera) Coursera
Duke University

Python and Rust with Linux Command Line Tools (Coursera)

This course is designed for beginners and those with some programming experience in either Python or Rust that want to implement automation and utilities in the command-line. Although no prior knowledge of Python or Rust is required, basic programming knowledge is recommended as well as some familiarity with the command-line interface (CLI).

Aug 24th 2026
4 Weeks
Rust for Large Language Model Operations (LLMOps) (Coursera) Coursera
Duke University

Rust for Large Language Model Operations (LLMOps) (Coursera)

Do you aspire to be a Rust developer at the forefront of the AI revolution? This groundbreaking course is designed specifically to train you in Large Language Model Operations (LLMOps) using Rust. This course doesn't just scratch the surface; it takes a deep dive into how you can integrate Rust with sophisticated LLM frameworks like HuggingFace Transformers. We'll also explore how to effectively deploy these large models on cloud infrastructures such as AWS, all while incorporating DevOps methodologies tailored for LLMOps.

Aug 31st 2026
4 Weeks
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
IoT System Design: Software and Hardware Integration (edX) EdX
Waseda University,WasedaX

IoT System Design: Software and Hardware Integration (edX)

Start developing your own Internet of Things (IoT) system with this exploration of the interaction between software and hardware. This course is designed to teach you how systems are developed using IoT technology. Many engineers and developers tend to focus on a single discipline - either software or hardware. However, in today’s connected age it's critical to have a comprehensive understanding of both disciplines and how they are intertwined.

Self Paced
Self-Paced
Introduction to Data Science (edX) EdX
IBM

Introduction to Data Science (edX)

Learn about the world of data science first-hand from real data scientists. The art of uncovering the insights and trends in data has been around for centuries. The ancient Egyptians applied census data to increase efficiency in tax collection and they accurately predicted the flooding of the Nile river every year.

Self Paced
Self-Paced
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.

Aug 31st 2026
5-12 Weeks
Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX)

En este curso aprenderás sobre condicionales, bucles y ficheros de texto en el lenguaje de programación C, uno de los más utilizados. Este curso en línea te permitirá continuar aprendiendo sobre conceptos para desarrollar habilidades de programación en el lenguaje C. Ahora los programas comienzan a cobrar vida y a volverse más interesantes.

Self Paced
Self-Paced
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
Introducción a la programación en C: Funciones y punteros (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Funciones y punteros (edX)

En este curso aprenderás cómo hacer programas modulares a través de funciones y punteros en el lenguaje de programación C, uno de los más utilizados. Este curso en línea te permitirá aprender más conceptos para ampliar tus habilidades de programación en el lenguaje C. Ahora resolveremos los problemas de forma modular, dividiendo el código en pequeñas partes definidas como funciones.

Self Paced
Self-Paced