Weekly outline
General
Starting Rust
- Project setup and tools
- Hello World: binary and library
- Rust control flow basics
Rust datatype basics
Read: chs 1-3
Ownership, References and Lifetimes
- Ownership
- "Mutability"
- Borrowing and mutable borrowing
- Automatic memory management
Lifetimes
Read: chs 4-5
Control Flow; Software Engineering
- Survey of control flow
- Function calls
Error handling
Cargo
- Crates
- Modules
- Decorations
- Tests
Rustdoc
Read: chs 6-8
Structs and Enums
- Structs
- Enums
impl
Lifetimes
Read: chs 9-10
Traits and Generics
- Traits and Generics
- Using traits
- Traits, operators and overloading
Utility traits
Read: chs 11-13
Closures and Iterators
- Functions, closures and environments
- Using closures
- Iterators
Closure and iterator operations
Read: chs 14-15
Rust Collections; Strings, Text and IO
- Vec
- Hashing
Standard collection classes
String, str, char etc
- Unicode and UTF-8
- Working with strings
IO operations
Read: chs 16-18
Parallel Programming
- Fork-Join parallelism
- Channels
Shared mutable state
Read: ch 19
Macros; Unsafe Code
- Writing macros
- Macro matching syntax
Crates and macros
Undefined behavior vs unsafe
- Raw pointers
Foreign functions
Read: chs 20-21
Review and Discussion