1. Урок 1.00:03:10
    Introduction to Rust Programming
  2. Урок 2.00:08:11
    Installing Rust in Windows
  3. Урок 3.00:05:01
    Installing Rust in Linux
  4. Урок 4.00:05:37
    Installing Rust in Mac
  5. Урок 5.00:04:26
    Understanding Our First Program
  6. Урок 6.00:16:16
    Datatypes in Rust
  7. Урок 7.00:17:14
    Mutability and Intro to Strings
  8. Урок 8.00:10:00
    Operators in Rust
  9. Урок 9.00:01:46
    Comments in Rust
  10. Урок 10.00:07:06
    Shadowing
  11. Урок 11.00:05:51
    Typecasting
  12. Урок 12.00:10:02
    Taking Input From User
  13. Урок 13.00:00:40
    Introduction to Section
  14. Урок 14.00:01:43
    Introduction to IF-Else
  15. Урок 15.00:20:17
    Programs Based on If Else
  16. Урок 16.00:04:35
    Else If Ladder
  17. Урок 17.00:01:17
    Assignment If Else
  18. Урок 18.00:14:30
    Assignment Solution
  19. Урок 19.00:11:11
    Using If in Let
  20. Урок 20.00:00:42
    Introduction to Section
  21. Урок 21.00:01:48
    Introduction to Loops
  22. Урок 22.00:09:48
    Loops Syntax in Rust
  23. Урок 23.00:01:31
    Assignment Loops
  24. Урок 24.00:10:53
    Assignment Solution Loops
  25. Урок 25.00:01:07
    Introduction to Section
  26. Урок 26.00:03:31
    Introduction to Functions
  27. Урок 27.00:05:55
    Function Syntax in Rust
  28. Урок 28.00:13:01
    Function Basic Program
  29. Урок 29.00:00:29
    Assignment Function
  30. Урок 30.00:07:17
    Assignment Solution Function
  31. Урок 31.00:01:10
    Introduction to Section
  32. Урок 32.00:09:38
    Tuple in Rust
  33. Урок 33.00:09:20
    Array in Rust
  34. Урок 34.00:01:13
    Introdution to Section
  35. Урок 35.00:06:52
    Memory Allocation Techniques in Rust
  36. Урок 36.00:15:10
    Ownership in Rust
  37. Урок 37.00:07:34
    Ownership and Functions
  38. Урок 38.00:13:19
    References and Borrowing
  39. Урок 39.00:12:26
    Rules of References
  40. Урок 40.00:04:19
    Dangle References
  41. Урок 41.00:08:06
    Slices in Rust
  42. Урок 42.00:17:22
    Introduction to Cargo
  43. Урок 43.00:07:49
    Using Crates from Crates.io
  44. Урок 44.00:07:41
    Coding Guessing Game Tutorial
  45. Урок 45.00:02:32
    Introduction to Section
  46. Урок 46.00:10:30
    Defining Struct
  47. Урок 47.00:05:51
    Using Dot Notation
  48. Урок 48.00:07:36
    Returning Instances of Struct
  49. Урок 49.00:07:10
    Using Struct Update Syntax
  50. Урок 50.00:08:43
    Methods
  51. Урок 51.00:08:20
    Methods Continued
  52. Урок 52.00:06:13
    Associated Function
  53. Урок 53.00:01:37
    Assignment Structure
  54. Урок 54.00:06:34
    Assignment Solution Structure
  55. Урок 55.00:01:09
    Introduction to Section
  56. Урок 56.00:14:16
    Introduction to Enums
  57. Урок 57.00:17:04
    Enum Values
  58. Урок 58.00:11:22
    Option Enum
  59. Урок 59.00:09:29
    Match Control Flow Operator
  60. Урок 60.00:08:47
    Patterns that Bind to Values
  61. Урок 61.00:04:40
    Matching Option Enum
  62. Урок 62.00:03:02
    "_" The PlaceHolder
  63. Урок 63.00:03:41
    Control Flow Using If Let
  64. Урок 64.00:01:27
    Introduction to Section
  65. Урок 65.00:06:00
    Introduction to Modules
  66. Урок 66.00:06:30
    Moving Modules to Files
  67. Урок 67.00:05:07
    Controlling Visibility with Pub
  68. Урок 68.00:04:59
    Reffering Names to Different Modules
  69. Урок 69.00:01:20
    Assignment Modules
  70. Урок 70.00:08:48
    Assignment Solution Modules
  71. Урок 71.00:01:26
    Introduction to Section
  72. Урок 72.00:05:10
    Introduction to Vectors
  73. Урок 73.00:03:14
    Reading Data from Vector
  74. Урок 74.00:04:00
    Reading Data from Vector Using for
  75. Урок 75.00:03:03
    Storing Multiple Types in Vector
  76. Урок 76.00:03:31
    String Basic Functions
  77. Урок 77.00:06:32
    Plus Operator and Format! Macro
  78. Урок 78.00:03:45
    chars() Method
  79. Урок 79.00:04:39
    Introduction to HashMap
  80. Урок 80.00:04:53
    Using collect() Method
  81. Урок 81.00:05:42
    Using get() Method
  82. Урок 82.00:04:43
    Updating HashMap
  83. Урок 83.00:00:35
    Assignment Collections
  84. Урок 84.00:11:09
    Assignment Collections Solution
  85. Урок 85.00:01:32
    Introduction to Section
  86. Урок 86.00:04:17
    Unrecoverable Error with Panic!
  87. Урок 87.00:06:55
    Recoverable Errors with Result
  88. Урок 88.00:06:02
    Matching on Different Errors
  89. Урок 89.00:02:44
    Unwrap and Expect
  90. Урок 90.00:06:28
    Propagating Errors
  91. Урок 91.00:02:46
    Propagating Errors Using Question Mark
  92. Урок 92.00:02:26
    Assignment Error Handling
  93. Урок 93.00:12:24
    Assignment Solution Error Handling
  94. Урок 94.00:01:49
    Introduction to Section
  95. Урок 95.00:05:58
    Removing Duplication
  96. Урок 96.00:03:07
    Fixing Largest Function
  97. Урок 97.00:03:50
    Generics in Structure Definition
  98. Урок 98.00:03:57
    Generics in Enums and Methods Definition
  99. Урок 99.00:04:09
    Using Concrete Types in Generics
  100. Урок 100.00:02:36
    Performance of Code Using Generics
  101. Урок 101.00:08:55
    Defining Traits
  102. Урок 102.00:05:20
    Default Implementation
  103. Урок 103.00:02:33
    Fixing Largest Function with Traits
  104. Урок 104.00:04:22
    Validating References with Lifetime
  105. Урок 105.00:03:12
    Generic Lifetime in Function
  106. Урок 106.00:04:29
    Lifetime-Annotation-Syntax
  107. Урок 107.00:05:00
    Different Concrete Lifetime
  108. Урок 108.00:06:16
    Lifetime Ellision
  109. Урок 109.00:03:18
    Lifetime in Struct
  110. Урок 110.00:00:49
    Assignment Generics
  111. Урок 111.00:04:08
    Assignment Generics Solution
  112. Урок 112.00:01:24
    Introduction to Section
  113. Урок 113.00:05:53
    Introduction to Testing
  114. Урок 114.00:04:58
    Using assert Macro
  115. Урок 115.00:04:40
    Using assert_eq and asser_ne macro
  116. Урок 116.00:04:21
    Custom Error Messages
  117. Урок 117.00:06:51
    Using should_panic
  118. Урок 118.00:07:20
    Running Test
  119. Урок 119.00:03:44
    Unit Testing
  120. Урок 120.00:03:20
    Integration Testing
  121. Урок 121.00:02:11
    Introduction to Section
  122. Урок 122.00:05:19
    Setting Up Our Project
  123. Урок 123.00:04:32
    Reading File
  124. Урок 124.00:10:56
    Refactoring to Improve Modularity
  125. Урок 125.00:11:21
    Fixing Error Handling
  126. Урок 126.00:05:43
    Extracting Logic from Main
  127. Урок 127.00:03:20
    Splitting Code Into Library Crate
  128. Урок 128.00:12:28
    Developing Library Functionality
  129. Урок 129.00:14:15
    Working with Environment Variables
  130. Урок 130.00:05:10
    Writing Error Messages to Standard Error
  131. Урок 131.00:01:18
    Introduction to Section
  132. Урок 132.00:05:02
    Introduction to Closures
  133. Урок 133.00:05:03
    Writing Logic of Program
  134. Урок 134.00:04:14
    Refactoring Using Functions
  135. Урок 135.00:05:09
    Refactoring Using Closures
  136. Урок 136.00:09:42
    Closure Type Inference and Annotation
  137. Урок 137.00:14:16
    Storing Closures in Structure
  138. Урок 138.00:03:48
    Limitation of Cacher Implementation
  139. Урок 139.00:06:56
    Capturing the Environment with Closures
  140. Урок 140.00:12:53
    Introduction to Iterators
  141. Урок 141.00:05:21
    Methods that Produce Iterators
  142. Урок 142.00:10:45
    Closure that Capture Environment
  143. Урок 143.00:07:27
    Creating Our Own Iterator with Iterator Trait
  144. Урок 144.00:03:31
    Using Iterator Trait Methods
  145. Урок 145.00:09:32
    Improving our IO Project
  146. Урок 146.00:00:46
    Introduction to Section
  147. Урок 147.00:04:10
    Customizing Builds with Release Profiles
  148. Урок 148.00:09:50
    Making Useful Documentation
  149. Урок 149.00:10:19
    Exporting Public API with Pub Use
  150. Урок 150.00:08:25
    Publishing on Crates.io
  151. Урок 151.00:09:06
    Cargo Workspaces
  152. Урок 152.00:02:35
    Adding Test to Workspace
  153. Урок 153.00:01:35
    Installing Binaries from Crates.io
  154. Урок 154.00:03:06
    Introduction to Section
  155. Урок 155.00:03:21
    Introduction to Box
  156. Урок 156.00:05:33
    Understanding Cons List
  157. Урок 157.00:06:50
    Fixing Cons List
  158. Урок 158.00:03:59
    Accessing Value with Dereference
  159. Урок 159.00:05:24
    Implementing Deref Trait
  160. Урок 160.00:04:11
    Implementing Deref Coercions
  161. Урок 161.00:05:51
    Introduction to Drop Trait
  162. Урок 162.00:04:25
    Dropping a Value Early
  163. Урок 163.00:10:53
    Reference Count
  164. Урок 164.00:03:49
    Introduction to Refcell
  165. Урок 165.00:17:46
    Using Interior Mutability
  166. Урок 166.00:04:30
    Refcell Borrow Checker
  167. Урок 167.00:03:39
    Multiple Owners by Rc and RefCell
  168. Урок 168.00:02:32
    Introduction to Section
  169. Урок 169.00:05:05
    Concurrency and Parallelism
  170. Урок 170.00:09:23
    Using Threads
  171. Урок 171.00:03:08
    Using Join Handles
  172. Урок 172.00:05:14
    Using Move Closure with Threads
  173. Урок 173.00:05:44
    Message Passing Between Threads
  174. Урок 174.00:04:33
    Sending Multiple Values
  175. Урок 175.00:02:56
    Multiple Producer by Cloning Transmitter
  176. Урок 176.00:04:50
    Passing Channel to Function
  177. Урок 177.00:09:36
    Cold Drink Manufacturing
  178. Урок 178.00:01:59
    Assignment Channels
  179. Урок 179.00:19:19
    Assignment Solution Channels
  180. Урок 180.00:04:56
    Introduction to Mutex
  181. Урок 181.00:09:25
    Sharing Mutex Between Multiple Threads
  182. Урок 182.00:09:08
    Movie Ticket Booking System
  183. Урок 183.00:00:41
    Assignment Cab Booking System
  184. Урок 184.00:05:41
    Assignment Solution Cab Booking System
  185. Урок 185.00:01:41
    Introduction to Section
  186. Урок 186.00:07:29
    Match and If let
  187. Урок 187.00:06:19
    while let and for let Patterns
  188. Урок 188.00:04:29
    Refutable and Irrefutable Patterns
  189. Урок 189.00:04:58
    Pattern Syntax
  190. Урок 190.00:03:10
    Ref and Ref mut
  191. Урок 191.00:04:50
    Bonus Lecture and Information