All courses

Course

Learn Rust

Fast, reliable and memory-safe. 10 units that take you from your first program to the language's advanced features.

Units
10
Topics
41
Questions
210
Challenges
25
1

Unit 1

Getting started

Programs, variables and types

  1. Hello, Rust
  2. Mutability
  3. Shadowing
  4. Scalar types
  5. Tuples
  6. Arrays
  7. Unit quiz and coding challenge
2

Unit 2

Control flow

if, loops and match

  1. if expressions
  2. Loops
  3. match
  4. Unit quiz and coding challenge
3

Unit 3

Ownership

Moves, borrowing and slices

  1. Ownership
  2. References and borrowing
  3. String vs &str
  4. Slices
  5. Unit quiz and coding challenge
4

Unit 4

Structs and enums

Custom types, Option and pattern matching

  1. Structs
  2. Methods
  3. Enums
  4. Option
  5. Destructuring patterns
  6. Unit quiz and coding challenge
5

Unit 5

Error handling

Result, ? and panics

  1. Result
  2. The ? operator
  3. Custom error types
  4. panic!
  5. Unit quiz and coding challenge
6

Unit 6

Collections

Vec, String and HashMap

  1. Vec
  2. UTF-8 strings
  3. String methods
  4. HashMap
  5. Unit quiz and coding challenge
7

Unit 7

Traits and generics

Shared behaviour and generic code

  1. Traits
  2. Generics and trait bounds
  3. Trait objects
  4. Unit quiz and coding challenge
8

Unit 8

Closures and iterators

Functional programming in Rust

  1. Closures
  2. Iterators
  3. Unit quiz and coding challenge
9

Unit 9

Lifetimes and smart pointers

How long references live, Box, Rc and RefCell

  1. Lifetimes
  2. Box
  3. Rc
  4. RefCell
  5. Unit quiz and coding challenge
10

Unit 10

Concurrency and crates

Threads, channels, shared state and modules

  1. Threads
  2. Channels
  3. Shared state
  4. Modules
  5. Crates
  6. Tests
  7. Unit quiz and coding challenge

Finale

Course exam

100 items from the whole course: 50 questions with choices, 35 typed answers and 15 coding challenges that mix topics.