Use Code TRYNOW15 for a One-Time, Extra 15% OFF at KodeKloud
Programming

Rust Programming

Priyanka Yadav
Senior Software Engineer at LinkedIn
DevOps Pre-Requisite Course
Play Button
Fill this form to get a notification when course is released.
book
18
Lessons
book
Challenges
Article icon
110
Topics

What you’ll learn

Our students work at..

Description

Dive into the world of Rust programming with our detailed "Introduction to Rust" course. Whether you are new to programming or looking to expand your knowledge, this course will guide you through Rust's robust system capabilities, from fundamentals to advanced concepts.

Getting Started with Rust: 

  •   Introduction to Rust's core features and capabilities.
  •   Set up your development environment to smoothly start coding in Rust.
  •   Learn about Cargo, Rust’s build system, and package manager for efficient project management.

Rust Basics: 

  •  Write and execute your first Rust program, familiarizing yourself with basic syntax.
  •  Understand and apply fundamental concepts such as comments, variables, mutability, data types, and control flow structures including loops and pattern matching.

Functions and Ownership: 

  •  Grasp function structures with parameters, return values, and expressions.
  •  Deep dive into Rust’s memory management with ownership, borrowing, and lifetimes, ensuring safe and efficient code through labs and hands on practice.

Collections & Error Handling: 

  •  Explore essential data structures like Structs, Enums, Vectors, and Hashmaps.
  •  Learn to manage errors effectively, creating custom error types and employing best practices in logging.

Advanced Organizing Techniques: 

  •  Structure your code with Packages, Modules, and Crates for cleaner, modular applications.
  •  Develop advanced command line tools and learn to parse command line arguments using Rust libraries.

Concurrency, Asynchronous Programming, and Debugging: 

  •  Master Rust's concurrency features using threads, message passing, and shared state techniques.
  •  Understand asynchronous programming in Rust, managing futures, and implementing practical projects like network services.
  •  Leverage various Rust debugging tools and practices to troubleshoot effectively.

Advanced Concepts and Practical Application: 

  •  Delve into advanced Rust features such as Traits, Generic Types, and Smart Pointers.
  •  Engage with network programming and file handling strategies, building real world applications.
  •  Integrate Rust with WebAssembly for performance intensive web applications.

Capstone Project: 

  •  Apply your learning in a comprehensive project involving database integrations, showcasing your proficiency in Rust.

This structured pathway ensures you acquire both theoretical knowledge and practical skills, adequately preparing you for a journey into Rust programming.

Read More

What our students say

About the instructor

Priyanka Yadav is a Senior Software Engineer at LinkedIn with prior internships at LinkedIn and Commvault. She also developed Basic Go and Advanced Go courses for Kodekloud. She was a recipient of the GHCI’20 Student Scholarship and a mentee in the Linux Foundation Community Program. Priyanka has been a Student Mentor for C++ at GirlScript Technologies in 2020 and actively contributes to the tech community through blogs and other initiatives.

No items found.

Course Introduction

lock
lock
2
Topics
Lesson Content

Module Content

Introduction 03:59
How to Reach Out to KodeKloud and Engage with the Community

Getting Started with Rust

lock
lock
5
Topics
Lesson Content

Module Content

Introduction to Rust 04:04
Overview of Rust's Key Features 03:07
Setting up the Development Environment 07:47
Introduction to Cargo 04:05
Lab: Getting Started with Rust

Rust Basics

lock
lock
13
Topics
Lesson Content

Module Content

Writing and Running Your First Rust program 03:38
Comments 02:39
Variables and Mutability 01:53
Scaler and Compound Data Types 06:05
Constants 02:33
Shadows 03:11
Macros 02:28
Lab: Rust Basics - Part 1
Control Flow: if, else-if, else 04:34
Control Flow: loop and labels 04:43
Control Flow: for and while 04:46
Control Flow: Pattern matching with `match` 04:12
Lab: Rust Basics - Part 2

Functions

lock
lock
5
Topics
Lesson Content

Module Content

What are Functions 02:26
Parameters 05:16
Return Values 02:25
Statements and Expressions 04:54
Lab: Functions

Ownership

lock
lock
13
Topics
Lesson Content

Module Content

Introduction 03:47
Stack and Heap 04:19
The String Type and Ownership 02:39
Scope and Ownership 01:52
Variables and Data Interacting with Move 07:29
Variables and Data Interacting with Clone 02:44
Ownership and Functions 05:11
References and Borrowing 03:19
Immutable and Mutable References 04:15
Rules of References 07:46
The Slice Type 03:03
Rules for Slices 02:32
Lab: Ownership

Collections & Error Handling

lock
lock
11
Topics
Lesson Content

Module Content

Structs 16:34
Methods 08:17
Enums 18:26
Vectors 05:43
Hashmaps 13:40
Unrecoverable Errors 05:40
Recoverable Errors 08:29
Creating Custom Error Types 13:29
Logging Libraries 10:02
Logging - Best Practices 02:26
Lab: Collections & Error Handling

Packages, Modules and Crates

lock
lock
6
Topics
Lesson Content

Module Content

Introduction to Crates 14:15
Introduction to Packages 16:24
Introduction to Modules 13:14
Bringing Paths into Scope 04:06
Separating Modules into Files 06:21
Lab: Packages, Modules and Crates

Building Command-Line Tools

lock
lock
3
Topics
Lesson Content

Module Content

Introduction to CLI Tools and Importance in DevOps 05:11
Parsing command-line args with `clap` 09:21
Project: Manage Docker Containers using Docker Clients in Rust 35:07

Debugging in Rust

lock
lock
4
Topics
Lesson Content

Module Content

Debugging Tools 10:36
Using println! and logging 17:50
Rust-specific tools: rust-gdb, rust-lldb 06:04
Lab: Debugging in Rust

Advanced Rust Concepts

lock
lock
11
Topics
Lesson Content

Module Content

Generic Types 14:11
Traits: Shared Behavior 12:48
Validating References with Lifetimes 13:52
Lab: Advanced Rust Concepts - Part 1
Introduction to Smart Pointers 04:49
Box: Single Ownership and Heap Allocation 07:27
Rc: Reference Counting and Shared Ownership 07:02
RefCell and Interior Mutability 14:06
Weak: Breaking Reference Cycles 10:22
Implementing Your Own Smart Pointer 09:52
Lab: Advanced Rust Concepts - Part 2

Closures and Iterators

lock
lock
3
Topics
Lesson Content

Module Content

Closures 18:18
Rust's Iterator Ecosystem & Custom Iterators 20:43
Lab: Closures and Iterators

Fearless Concurrency

lock
lock
5
Topics
Lesson Content

Module Content

Threads 11:00
Message passing 14:37
Shared-state concurrency: Mutex, Arc 24:47
Send and Sync traits 06:49
Lab: Fearless Concurrency

Asynchronous Programming

lock
lock
4
Topics
Lesson Content

Module Content

Concurrent Programming 13:57
Async, Await and Futures 10:01
Building a Concurrent URL Pinger 12:18
Lab: Asynchronous Programming

Testing & Continuous Integration

lock
lock
6
Topics
Lesson Content

Module Content

Introduction to Testing in Rust 08:41
Organizing Tests in Rust 06:32
Mocking Dependencies in Rust 13:27
Managing and Running Tests in Rust 06:33
Building and Deploying with CI/CD 08:37
Lab: Testing and Continuous Integration

Advanced Features

lock
lock
5
Topics
Lesson Content

Module Content

Advanced Traits 05:05
Default Generic Type Parameters 06:41
Fully qualified syntax 06:34
Advanced Types 04:40
Advanced Functions and Closures 03:27

Network Programming and File Handling

lock
lock
8
Topics
Lesson Content

Module Content

Introduction to Network Programming in Rust 08:53
Building TCP Clients and Servers 10:42
Building UDP Clients and Servers 08:57
Lab: Network Programming
Introduction to File Handling in Rust 10:39
Performing Common Filesystem Operations 05:55
Lab: File Handling
Project: Networked File Transfer Application 20:33

WebAssembly with Rust

lock
lock
5
Topics
Lesson Content

Module Content

Introduction to WebAssembly and Why Rust? 07:04
Setting Up Your Rust and WebAssembly Development Environment 08:52
Interacting with WebAssembly from JavaScript 06:29
Accessing WebAssembly Memory from JavaScript 08:40
Building a Mini Project: Log Analyzer 13:23

Final Capstone Project

lock
lock
1
Topics
Lesson Content

Module Content

Capstone Project 40:04
Play Button
Fill this form to get a notification when course is released.
This course comes with hands-on cloud labs
book
18
Modules
book
Lessons
Article icon
110
Lessons
check mark
Course Certificate
Videos icon
13.60
Hours of Video
laptop
Hours of Labs
Story Format
Videos icon
Videos
Case Studies
ondemand_video icon
Demo
laptop
Labs
laptop
Cloud Labs
checklist
Mock exams
Quizzes
slack icon
Slack channel support
people icon
Community support
language icon
Closed Captions