# Learn Rust from Scratch (Educative)

Introduction - Who Is This Course For? This gives some insight into the intended audience and pre-requisites for this course. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/g7MooO7APQ6). Getting Started - Solution Review 1: Display Output This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/collection/page/10370001/5248976175497216/5709992697004032). Structs - Solution Review: Calculate Distance Between Two Points This lesson discusses the detailed solution review to the problem in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R8OJln5k5Jq). Operators - Precedence and Associativity This lesson discusses two important characteristics of operators - precedence and associativity. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/mypZk8YN4ZO). Loops - Indefinite Loop - While and Loop This lesson will discuss two indefinite loop: While and Loop. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B8xyMzXOQ2X). Loops - Challenge 1: Find The Factorial This lesson will test your knowledge of loops. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gxgXoZDZ0Mr). Loops - Challenge 2: Count Iterations of a Loop Until a Condition This challenge will test your knowledge of while loops. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/m2DGO1Drp93). Loops - Challenge 3: Print a Right-Angled Triangle This challenge will test your knowledge of nested for loops. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/39K3MXq37vx). Functions - Functions With Parameters This lesson introduces parameterized functions. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/g7n6pK53GA6). Functions - Function With Multiple Return Values This lesson discusses how we can return multiple values from a function. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/x1gvjlQMRnq). Functions - Recursion This lesson will get you acquainted with recursion in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N86yMgGmRPz). Strings - Introduction to Strings This lesson will discuss strings, the two different types, and how to create them in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/mExEY8Nzg9R). Strings - Slicing a String This lesson will teach you to slice a string. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B8qj9QQjj0k). Enums - Solution Review: Find If the Day Is a Weekend This lesson gives a detailed solution review to the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YMM69Z5goOK). Strings - Solution Review: Concatenate Words Starting With 'c' This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JPDVG213yW9). Data types - Numeric Types: Integers and Floats This lesson will teach you about numeric data types in Rust, i.e., integers and floats. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qVP6RxDzxD3). Data types - Challenge 1: Declare an Array In this challenge, you are required to make an array, and access its elements without using a debug trait. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YVZV2w7wxz9). Data types - Challenge 2: Declare a Tuple In this challenge, you are required to make a tuple. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/myJr3BWZnA3). Vectors - Challenge: Resizing a Vector This lesson will check your knowledge of vectors. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YVn5ykW1wpY). Structs - Tuple Structs This lesson will walk you through tuple structs. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7AEmJ9PzLr8). Structs - Static Method of Structs This lesson teaches you how to declare static methods of structs. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JP4pR8N071v). Getting Started - Printing Styles In this lesson, you will be introduced to the different printing styles in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gkxqPDE504G). Traits and Generics - Traits This lesson introduces you to traits. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/NEPg7EnG2Oz). Getting Started - Comments This lesson will teach you how to comment your code in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gkkXjvOpmL6). Getting Started - Challenge 2: Display Output Using Placeholders This challenge requires you to display output using the placeholder notation. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B85opABLO9n). Conditional Expressions - Solution Review 2: Make a Calculator This lesson gives a detailed solution review to the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/RLNVRkPAGVK). Functions - Solution Review 1: Check Divisibility by 3 and 4 This lesson gives a detailed solution review to the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/xVL9P4N6poP). Enums - Enums and Match Control Flow Operator This lesson will get you acquainted with enums and match flow operators. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N7vk82MAjY6). Strings - Functions and Strings This lesson discusses functions and Strings. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7n3j17Knyzj). Strings - Challenge: Concatenate Words Starting With 'c' This lesson will test your knowledge of Strings. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qAQ4YzK4NkR). Enums - Enums and Structures This lesson will teach how struct items can be a type of enum. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JYny79xEYBg). Loops - Loop Labels This lesson discusses loop labels in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YMJq2Gpjr69). Operators - Arithmetic Operators This lesson discusses arithmetic operators in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R1J0JZMMPKz). Introduction - Why Rust? What makes Rust important? View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qZp16VO0EX0). Strings - Core Methods of String Objects This lesson gets you acquainted with some of the most common built-in functions of strings. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/g7GL6AEOJok). Conclusion - Quick Overview This lesson gives a quick overview of the concepts discussed in this course. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3YnBrXG5zrA). Enums - Option and Enum This lesson will teach about a built-in enum called option. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/RMwAW5Vx87O). Traits and Generics - Generics This lesson introduces generics. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7XONGN9YqBy). Modules - Introduction to Modules This lesson will get you acquainted with organization of code through Modules in rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N0MZN8yV6jN). Getting Started - The Basic Formatting This lesson will teach you how to format a statement in Rust in different ways. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JPoww0Ow8Bg). Modules - Controlling Visibility Within the Same File Using 'pub' This lesson will teach you how to access the module in the same file and within the same directory. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/Bn65G2KXZz2). Modules - Control Visibility Within Different Files Using 'pub' This lesson teaches you how to access the module in a different file but within the same directory. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3YWzlxNWzRA). Modules - The 'use' Keyword This lesson teaches how the ‘use’ keyword can be helpful in terms of modules when you have different levels of nesting. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/RM80GAEYpyR). Variables - Scope and Shadowing This lesson teaches you about the scope of a variable. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R8oRkYzVwnR). Operators - Bitwise Operators This lesson discusses the bitwise operators in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YQrxgJ9jW62). Lifetime and Memory Management - Ownership and Functions This lesson discusses how ownership works by using functions. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qV5zz9wJnxy). Lifetime and Memory Management - Borrowing We have already discussed borrowing in chapter 4 while discussing operators. Let's discuss it again in terms of ownership. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/xlNgPgKPz7E). Conditional Expressions - Comparison of The Different Conditional Constructs This lesson compares the different conditional conditional constructs we have studied so far. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/39BkKVYEnq9). Data types - What Are Data Types? This lesson will get you acquainted with the basic data types in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/q2PoBV1BmR3). Lifetime and Memory Management - Lifetimes This lesson introduces you to an important concept, i.e., lifetime. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3jM82yLn49A). Lifetime and Memory Management - Lifetime Elision This lesson discusses lifetime elision in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JQjBkk6jVAP). Operators - Logical Operators This lesson teaches logical operators in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7XzkzpJzW3Q). Conditional Expressions - If Let Expression This lesson teaches the if let expression in Rust View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/xl36j609pVB). Operators - Type Casting Operator This lesson teaches the type casting operator in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B6Yy4YAn90k). Operators - Borrowing and Dereferencing Operators This lesson discusses the borrowing and dereferencing operator in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3j1yLqjX7Gp). Conditional Expressions - Introduction to Conditional Expression This lesson gets you acquainted with the conditional statements in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YM09Bq6DZz2). Conditional Expressions - If Expression This lesson teaches multiple conditional constructs using if statement. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3j52rqrzK1M). Conditional Expressions - Challenge 1: Check If Even or Odd This lesson will check your knowledge of if expression. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B1RgrMYmzAQ). Conditional Expressions - Challenge 2: Make a Calculator In this exercise, you are required to implement a calculator by using match statements. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gkrLANjE1xZ). Functions - Returning a Value From a Function This lesson introduces you to returning a value from a function. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3j5X87ZGyW9). Loops - Break Statement This lesson describes the break statement. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/RLEK1862vxO). Vectors - Resizing a Vector This lesson teaches how a vector can be resized or how it can grow and shrink. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7A2Q6OAAKEj). Vectors - Introduction to Vectors This lesson discusses vectors in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/g7ROw3qqN9Y). Functions - Solution Review 2: Return an Array of Squares This lesson gives a detailed solution review to the problem in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B63YVjmOBy2). Functions - Challenge 2: Return an Array of Squares This challenge tests your knowledge of functions and arrays. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7Dp0EMoDq6B). Functions - Solution Review 3: Find nth Fibonacci Number This lesson gives a detailed review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/RMDg4ZqjGwz). Vectors - Iterating Over a Vector This lesson will teach you how to loop through a vector. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/NEPRo0X1ZpK). Functions - Challenge 3: Find nth Fibonacci Number This challenge will test your knowledge of recursion. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N8K9pl84ZOL). Operators - Comparison Operators This lesson teaches the comparison operators in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N7p2RzKmjKv). Operators - Assignment and Compound Assignment Operators This lesson teaches assignment and compound assignment operators in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N8QqEEzW77N). Enums - Introduction to Enums This lesson will introduce you to enumeration types. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YQZZkZLGwPn). Traits and Generics - Challenge: Check If the Person Has a Driving License This challenge checks your knowledge of traits. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/m2nx7O8LQpR). Introduction - Learning Outcomes A brief summary of what you will learn in this course. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B6qoJnMDPKx). Loops - Continue Statement This lesson will discuss continue statements View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gk8WqxJNJyZ). Conclusion - What's Next? Future prospects of learning Rust! View the lesson [here](https://www.educative.io/collection/page/10370001/5248976175497216/6341574281658368). Lifetime and Memory Management - Ownership This lesson discusses ownership and its rules. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B6Klk1oq5pY). Lifetime and Memory Management - Memory Management This lesson discusses two memory management areas i.e. stack and heap. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3jnnjBRP4DQ). Strings - Updating a String This lesson will teach to update a string in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/g7DwGJvPM06). Functions - Pass by Reference In this lesson, passing arguments by reference will be introduced to you. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R8oj953kOGO). Functions - Introduction to Functions This lesson introduces you to an important concept, functions. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3Y2GP2yB0OR). Structs - Functions and Structs This lesson will get you acquainted with how to use structs while passing them in functions. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JYDGKNMG81y). Strings - Iterating Over Strings This lesson teaches us how to iterate over strings. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YQJ6JBkOggM). Loops - Nested Loops This lesson discusses nested loops in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YVPqD8340nY). Traits and Generics - Solution Review: Check If the Person Has a Driving License This lesson gives a detailed solution review to the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gxkNBOA8w16). Modules - Nested Modules This lesson will get you acquainted with the nested modules in Rust! View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/xlLkVzDv1wl). Modules - Challenge: Find the Area of a Triangle This challenge requires you to implement a root function. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YVWZB7M7qrO). Getting Started - Challenge 1: Display Output This challenge requires you to print the output in a particular format. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B1y0O1OpJ1n). Data types - Arrays This lesson introduces you to a compound data type, Arrays. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N8JjPkwrK8v). Data types - Solution Review 2: Declare a Tuple This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/q2J7PnQ8JVy). Loops - Solution Review 1: Find The Factorial This lesson gives a detailed solution review to the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7DB1QWDJ0r8). Modules - Solution Review: Find the Area of a Triangle This lesson gives a detailed solution review to the problem in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/xlJjwPEykmB). Loops - Definite Loop - For Loop This lesson will teach about finite loop, i.e., for loop. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qA2K7k0nrw0). Structs - Introduction to Structs This lesson gets you acquainted with the basics of Structs. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qApkx8m4Gvr). Variables - What Are Variables? This lesson teaches what variables are and how they can store data. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JPkDlO6WzvD). Introduction - Getting to Know Rust This lesson discusses what Rust is and provides a brief history. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/x1rkXgV9r0l). Enums - Challenge: Find If the Day Is a Weekend This challenge requires you to make an enum method. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gx6520RE74l). Enums - Methods of Enums We studied methods in structs in the last chapter, let's explore methods in enums in this lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/x1DZp092KYE). Structs - Methods of Structs This lesson will get you acquainted with the methods in structs, i.e., what are they and how to create them in structs? View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R8yVJy37QLK). Enums - Result and Enum This lesson will teach you about a built-in enum called result. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/RL8JAE3XALY). Operators - Introduction to Operators This lesson will discuss operators in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/39ErMZ60rGM). Enums - Enums With Data Type This lesson tells you how to make an enum construct by adding a data type. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/N8lOBLYkVzv). Lifetime and Memory Management - Copy Type and Moved Type This lesson discusses what happens in tems of memory when variables are assigned to another variable. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/3YgrZLn7q2n). Operators - Challenge: Calculate (a + b)^3 This challenge will test your knowledge of operator precedence. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/mENvGAONKNA). Loops - Solution Review 2: Count Iterations of a Loop Until a Condition This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/B8YVr2mKn0N). Loops - Solution Review 3: Print a Right-Angled Triangle This lesson gives a detailed solution review to the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/YMwx4KELDnp). Functions - Challenge 1: Check Divisibility by 3 and 4 This lesson will test your knowledge of functions through a challenge. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gk0jJ8zp3JG). Structs - Challenge: Calculate Distance Between Two Points This challenge will test your knowledge of structs. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/g774Qpw83Bk). Getting Started - Solution Review 2: Display Output Using Placeholders This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qZq99XWWg0p). Variables - Challenge: Defining Variables In this challenge, you are required to make variables. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qZm932LRlEG). Operators - Solution Review: Calculate (a + b)^3 This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gxQBzyOlkk3). Functions - Pass by Value This lesson discusses how to pass arguments to the function by value. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/BnnYprOWmPn). Vectors - Slicing a Vector This lesson teaches how to slice a vector in Rust!. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7nXNrp4x9mO). Conditional Expressions - Match Expression This lesson discusses match statements in Rust! View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7ABoY6y2RKw). Loops - Introduction to Loops This lesson introduces you to loops in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R19KQ4yWRmq). Vectors - Solution Review: Resizing a Vector This lesson will give a detailed review of the solution to the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qVv4zgMJgp3). Getting Started - The Basic Program This lesson gets you acquainted with the Hello World program in Rust. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R1GjgxmKKJw). Data types - Boolean This lesson discusses the boolean data type. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/qV1QpZxKR5G). Data types - Character and String This lesson discusses character and string type. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/xlvOP6jnJol). Data types - Constant Variables This lesson discusses constant variables and how they differ from let variables. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/R898Vm1Nx6O). Conditional Expressions - Solution Review 1: Check If Even or Odd This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/7DXYNEkBmr8). Data types - Solution Review 1: Declare an Array This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/Bn1KQODpOZn). Data types - Tuples This lesson will discuss a compound data type, Tuples. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/JPB3KV365L2). Variables - Solution Review: Defining Variables This lesson gives a detailed solution review of the challenge in the previous lesson. View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/gk9l4X1rRPZ). Functions - Functions With Arrays as Arguments This lesson discusses functions and arrays in Rust! View the lesson [here](https://www.educative.io/courses/learn-rust-from-scratch/Bn19gEgGDGN).