Overview
Syllabus
Easy Rust 001: Introduction and how to use the Rust Playground.
Easy Rust 002: Writing comments in your code.
Easy Rust 003: Some primitive types.
Easy Rust 004: Type inference and floats.
Easy Rust 005: Hello World!.
Easy Rust 006: Declaring variables and code blocks.
Easy Rust 007: Debug printing.
Easy Rust 008: Mutability.
Easy Rust 009: Shadowing.
Easy Rust 010: The stack and the heap.
Easy Rust 011: More advanced printing.
Easy Rust 012: Even more advanced printing.
Easy Rust 013: String and &str.
Easy Rust 014: const and static.
Easy Rust 015: More on references.
Easy Rust 016: Mutable references.
Easy Rust 017: Giving references to functions.
Easy Rust 018: Giving mutable references to functions.
Easy Rust 019: Copy types.
Easy Rust 020: Uninitialized variables.
Easy Rust 021: Arrays.
Easy Rust 022: Vecs.
Easy Rust 023: Tuples.
Easy Rust 024: Control flow 1.
Easy Rust 025: Control flow part 2.
Easy Rust 026: Structs.
Easy Rust 027: Structs part 2.
Easy Rust 028: Enums part 1.
Easy Rust 029: Enums part 2.
Easy Rust 030: Enums part 3.
Easy Rust 031: Enums part 4.
Easy Rust 032: Loops part 1.
Easy Rust 033: Loops part 2.
Easy Rust 034: Loops part 3.
Easy Rust 035: Implementing structs and enums 1.
Easy Rust 036: Implementing structs and enums 2.
Easy Rust 037: More about destructuring.
Easy Rust 038: Generics part 1.
Easy Rust 039: Generics part 2.
Easy Rust 040: Generics part 3.
Easy Rust 041: Generics part 4.
Easy Rust 042: Option part 1.
Easy Rust 043: Option part 2.
Easy Rust 044: Option part 3.
Easy Rust 045: Result part 1.
Easy Rust 046: Result part 2.
Easy Rust 047: Result part 3 (plus TURBOFISH).
Easy Rust 048: if let part 1.
Easy Rust 049: if let part 2.
Easy Rust 050: Using if let and while let together.
Easy Rust 051: Collection types (HashMap).
Easy Rust 052: Collection types (BTreeMap).
Easy Rust 053: Collection types - some more HashMap and the entry method.
Easy Rust 054: HashMaps and the .entry().or_insert_with() method.
Easy Rust 055: Collection types - last video on entry method for HashMap.
Easy Rust 056: Collection types (HashSet and BTreeSet).
Easy Rust 057: Collection types (BinaryHeap).
Easy Rust 058: Collection types (VecDeque).
Easy Rust 059: Collection types - VecDeque example.
Easy Rust 060: The question mark operator (AKA try).
Easy Rust 061: Using the panic! macro.
Easy Rust 062: assert!, assert_eq!, and assert_ne! macros.
Easy Rust 063: Introduction to traits.
Easy Rust 064: Traits part 2 - reading and understanding trait implementation.
Easy Rust 065: Traits part 3 - implementing Display for the first time.
Easy Rust 066: Traits part 4 - writing a bit longer trait.
Easy Rust 067: Traits part 5 - making traits useful with other traits.
Easy Rust 068: Traits part 6 - using trait bounds.
Easy Rust 069: Traits part 7 - understanding the From trait.
Easy Rust 070: Traits part 8 - implementing the From trait.
Easy Rust 071: Type aliases and new types.
Easy Rust 072: Traits part 9 - Implementing the From trait again.
Easy Rust 073: Traits part 10 - AsRef.
Easy Rust 074: Chaining methods together.
Easy Rust 075: Quick intro to closures.
Easy Rust 076: Iterators part 1.
Easy Rust 077: Iterators part 2 - associated types.
Easy Rust 078: Iterators part 3 - implementing an iterator.
Easy Rust 079: Closures and methods with or_else.
Easy Rust 080: Enumerate and how iterators are made.
Easy Rust 081: collect and zip methods.
Easy Rust 082: char_indices and closures without arguments.
Easy Rust 083: filter, retain, and Fn, FnMut and FnOnce in closures.
Easy Rust 084: filter_map.
Easy Rust 085: filter map plus ok, ok_or and ok_or_else.
Easy Rust 086: The and_then method.
Easy Rust 087: the and method.
Easy Rust 088: The any method.
Easy Rust 089: The all method.
Easy Rust 090: find, position, MAX and MIN.
Easy Rust 091: cycle and open ended iterators.
Easy Rust 092: The fold method.
Easy Rust 093: take while, skip while, cloned, by ref, and sum.
Easy Rust 094: chunks, windows, match_indices.
Easy Rust 095: peekable iterators and the peek method.
Easy Rust 096: Final example of iterators and quick look at clippy.
Easy Rust 097: The dbg! macro.
Easy Rust 098: The inspect method.
Easy Rust 099: String, &str and a brief introduction to lifetimes.
Easy Rust 100: Introduction to lifetimes and the 'static lifetime.
Easy Rust 101: Named lifetimes.
Easy Rust 102: Rust's three rules about lifetimes.
Easy Rust 103: Anonymous lifetimes.
Easy Rust 104: Interior mutability and why you would want it.
Easy Rust 105: Interior mutability with Cell.
Easy Rust 106: Dynamic interior mutability with RefCell.
Easy Rust 107: Cell and RefCell again.
Easy Rust 108: Mutex.
Easy Rust 109: Mutex part 2.
Easy Rust 110: RwLock.
Easy Rust 111: Cow part 1.
Easy Rust 112: Cow part 2.
Easy Rust 113: Type aliases and the as keyword.
Easy Rust 114: The todo! macro.
Easy Rust 115: Introduction to Rc (reference counter).
Easy Rust 116: Using a reference counter.
Easy Rust 117: Some functions for reference counters.
Easy Rust 118: RefCell inside of an Rc.
Easy Rust 119: Multiple threads (concurrency) - part 1.
Easy Rust 120: Multiple threads (concurrency) - part 2.
Easy Rust 121: Multiple threads (concurrency) - part 3.
Easy Rust 122: Introduction to Arc, Send and Sync.
Easy Rust 123: Using Arc and Mutex to modify concurrent threads safely.
Easy Rust 124: Fn, FnMut, FnOnce traits for closures.
Easy Rust 125: Putting closures into functions.
Easy Rust 126: Longer example of closures in functions.
Easy Rust 127: impl trait to return closures from functions.
Easy Rust 128: One more example of impl trait to return closures.
Easy Rust 129: Introduction to Box.
Easy Rust 130: Boxes used for indirection.
Easy Rust 131: Boxes used as trait objects.
Easy Rust 132: Boxes in dynamic dispatch vs impl trait.
Easy Rust 133: Channels part 1.
Easy Rust 134: Channels part 2.
Easy Rust 135: Channels part 3.
Easy Rust 136: Attributes part 1.
Easy Rust 137: Attributes part 2.
Easy Rust 138: Implementing Default.
Easy Rust 139: The builder pattern.
Easy Rust 140: The builder pattern part 2.
Easy Rust 141: Dereferencing and the dot operator.
Easy Rust 142: Intro to the Deref trait.
Easy Rust 143: Implementing Deref and DerefMut.
Easy Rust 144: Implementing Deref weirdly.
Easy Rust 145: modules part 1.
Easy Rust 146: modules part 2.
Easy Rust 147: modules part 3.
Easy Rust 148: Introduction to testing.
Easy Rust 149: Testing and mini calculator project part 1.
Easy Rust 150: Testing and mini calculator project part 2.
Easy Rust 151: Testing and mini calculator project part 3.
Easy Rust 152: Testing and mini calculator project part 4.
Easy Rust 153: Testing and mini calculator project part 5.
Easy Rust 154: Testing and mini calculator project part 6.
Easy Rust 155: Using external crates.
Easy Rust 156: Using the rand crate.
Easy Rust 157: Looking at some external crates.
Easy Rust 158: Tour of the standard library: array and char.
Easy Rust 159: Tour of the standard library: char and integers.
Easy Rust 160: Tour of the standard library: implementing Add.
Easy Rust 161: Tour of the standard library: methods for floats.
Easy Rust 162: Tour of the standard library: bool.
Easy Rust 163: Tour of the standard library: Vec.
Easy Rust 164: Tour of the standard library: String.
Easy Rust 165: Tour of the standard library: OsString, CString, OsStr, CStr, and unsafe.
Easy Rust 166: Tour of the standard library: std::mem.
Easy Rust 167: Tour of the standard library: the unsafe function transmute.
Easy Rust 168: Tour of the standard library: no implicit prelude and no std.
Easy Rust 169: Function pointers.
Easy Rust 170: Function pointers part 2.
Easy Rust 171: Tour of the standard library: std::time.
Easy Rust 172: Tour of the standard library: one neat trick plus putting threads to sleep.
Easy Rust 173: Tour of the standard library: some helpful macros.
Easy Rust 174: Intro to macros.
Easy Rust 175: More on macros.
Easy Rust 176: Macros part 3.
Easy Rust 177: Macros part 4.
Easy Rust 178: Macros part 5.
Easy Rust 179: Cargo.
Easy Rust 180: Taking input from the user.
Easy Rust 181: Working with user args.
Easy Rust 182: Working with environmental variables.
Easy Rust 183: Brushing up on Result and the ? operator.
Easy Rust 184: Opening and writing to a file.
Easy Rust 185: Reading the file we just opened.
Easy Rust 186: Appending a file with OpenOptions, and goodbye for now.
Taught by
mithradates