Section 1: Getting to Know Rust and Its Ecosystem
- Why organisations choose Rust: memory safety, performance and safe concurrency
- Where Rust fits and where it does not, compared with Go, Java, C# and Python
- The six-week release cycle, the edition concept and what changed in Edition 2024
- crates.io, docs.rs, The Rust Book and the community's main learning resources
Section 2: Lab: Installing and Using the Toolchain
- Install rustup, choose the stable toolchain and keep it up to date
- Core cargo commands: new, build, run, check, add, and the structure of Cargo.toml
- Format code with rustfmt and check quality with clippy
- Set up VS Code with rust-analyzer and learn to read compiler error messages
- Lab: create a first project and fix clippy warnings
Section 3: Syntax and Basic Data Types
- Variables, immutability by default, mut and shadowing
- Scalar types, tuples, arrays and safe type conversion
- Functions, expressions versus statements, and return values
- Control flow: if, loop, while, for and ranges
- Lab: exercises writing calculation functions and loops over data
Section 4: Structs, Enums and Pattern Matching
- Define structs and methods with impl, including associated functions
- Enums that carry data, and Option in place of null
- match, if let and let else for exhaustive case handling
- Lab: design the Ticket struct and enums for status and urgency
Section 5: Workshop: Modules and the TicketPilot CLI
- mod, pub, use and splitting code into files by responsibility
- Library crates versus binary crates, and project structure
- Basic command line arguments with clap
- Workshop: create the TicketPilot project and a CLI command that lists sample tickets