Case study
Rust Programming Lecture Materials
A foundational Rust lecture with a terminal demo runner for ownership, borrowing, traits, enums, concurrency, and commonly used crates.

Lecture overview
These materials introduce Rust to people who already know another programming language. The notes use comparisons with C++, Java, Python, and OCaml to explain ownership, borrowing, traits, and pattern matching.
The repository contains one foundational lecture, organized into sections, and a terminal application for running the examples during a presentation or while reading the notes.
Running the examples
From the repository root, run:
cargo run --bin main_demo
The menu lets you run individual demonstrations, an entire section, or all sections in sequence. The source is split into modules corresponding to the lecture topics, so a reader can move from an example’s output to its implementation.
Inside the lecture
The notes, runnable examples, and topic modules are kept together in the repository.
Worked examples
Examples cover moves and copies, mutable and immutable references, lifetime annotations, trait bounds, and enum matching. Each section can run on its own during a lecture.
Topics
- Syntax, ownership, borrowing, and lifetimes.
- Traits, generics, enums, Option, and Result.
- Iterators, error propagation, and idiomatic patterns.
- Threads, channels, shared state, and async examples.
- Crate examples including Serde, Tokio, and Rayon.
Archived materials
This is a single lecture and its example runner. The source modules remain available for browsing or running locally.
View materials