Rust Programming Essentials

Video description

20 Hours of Video Instruction

Learn Rust programming from the ground up and create real-world applications.

Rust Programming covers all the aspects of mastering the Rust language, from foundational to advanced levels. This video course will help you learn how to apply Rust to real-world scenarios through clear training and detailed examples.

The Rust language combines the efficiency, speed, and low-level power of C/C++ with the benefits of higher-level languages such as Java, Python, and C#, and you can use it to implement all kinds of solutions including embedded systems, DevOps operators, operating systems and platforms, and much more besides.

In the course, you will learn about the Rust toolset, the Rust type system, how to implement flow control, how to use compound types and collections, and how Rust carefully manages the lifetime of objects and how they are referenced safely in your code.

The course also looks at how to organize Rust applications into functions, structures, and traits. You will learn how to use these techniques to achieve familiar object-oriented goals such as abstraction, encapsulation, inheritance, and polymorphism. You will also learn how Rust deals with important issues such as generic types and multithreading.

You will learn how to structure large applications in Rust through detailed walkthrough of two complete real-world applications. Experienced trainer Andy Olsen will systematically teach you the skills needed to start using Rust effectively and efficiently.

Topics included in this course:

  • Module 1: Rust Programming Essentials
  • Module 2: Rust Ownership and Borrowing
  • Module 3: Structuring Rust Code
  • Module 4: Advanced Rust Programming Concepts
  • Module 5: Real-World Rust in Action

Demo files for this course are available for download from https://www.informit.com/store/rust-programming-essentials-video-course-9780138201647.

About the Instructor

Andy Olsen is a freelance consultant, instructor, and developer with more than 30 years of experience in IT. Andy began his professional career as a C/C++ developer and transitioned into Java, C#, and other languages as the years passed. Andy is actively involved in a wide range of technologies including full-stack development, cloud native applications, data science, and more. Andy is passionate about technology education and runs training courses around the world across diverse market sectors.

Skill Level:

  • Beginner to Intermediate

Learn How To:

  • Create, build, and run Rust applications
  • Organize Rust code and application structure properly
  • Manage memory safely and effectively
  • Use object-oriented programming techniques
  • Implement concurrency
  • Explore additional Rust techniques
  • Implement file handling
  • Access a relational database

Course requirement:

  • None

Who Should Take This Course:

  • Developers that need to learn how to write efficient and well-structured Rust applications.

About Pearson Video Training:

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Sams, and Que. Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.

Table of contents

  1. Introduction
    1. Rust Programming Essentials: Introduction
  2. Module 1: Rust Programming Essentials
    1. Module introduction
  3. Lesson 1: Getting Started with Rust
    1. Learning objectives
    2. 1.1 Overview of Rust
    3. 1.2 Writing your first Rust application
    4. 1.3 Building and running your first Rust application
    5. 1.4 Creating an application by using Cargo
    6. 1.5 Building and running an application by using Cargo
  4. Lesson 2: Understanding Rust Variables and Types
    1. Learning objectives
    2. 2.1 Integer types
    3. 2.2 Floating-point types
    4. 2.3 Other simple types
    5. 2.4 Additional techniques
  5. Lesson 3: Implementing Flow Control
    1. Learning objectives
    2. 3.1 If-tests
    3. 3.2 Matching
    4. 3.3 Loops
    5. 3.4 Using break and continue
  6. Lesson 4: Understanding Enums
    1. Learning objectives
    2. 4.1 Defining and using simple enums - Part 1
    3. 4.2 Defining and using simple enums - Part 2
    4. 4.3 Avoiding warnings about unused variants
    5. 4.4 Defining and using enums with data
    6. 4.5 Using the Option enum
    7. 4.6 Using the Result enum
  7. Lesson 5: Using Compound Types and Collections
    1. Learning objectives
    2. 5.1 Creating and using arrays
    3. 5.2 Array techniques
    4. 5.3 Creating and using tuples
    5. 5.4 Creating and using vectors
    6. 5.5 Creating and using maps
  8. Module 2: Rust Ownership and Borrowing
    1. Module introduction
  9. Lesson 6: Understanding Ownership in Rust
    1. Learning objectives
    2. 6.1 Understanding local scope
    3. 6.2 Defining static local scope - Part 1
    4. 6.3 Defining static local scope - Part 2
    5. 6.4 Defining static global scope
    6. 6.5 Defining static mutable variables - Part 1
    7. 6.6 Defining static mutable variables - Part 2
    8. 6.7 Understanding strings in Rust - Part 1
    9. 6.8 Understanding strings in Rust - Part 2
    10. 6.9 Copying vs. moving
    11. 6.10 Cloning
  10. Lesson 7: Understanding Borrowing in Rust
    1. Learning objectives
    2. 7.1 Understanding simple borrowing
    3. 7.2 Understanding the Rust borrow checker
    4. 7.3 Introduction to string slices
    5. 7.4 String slice techniques
    6. 7.5 Introduction to array slices
    7. 7.6 Array slice techniques
  11. Module 3: Structuring Rust Code
    1. Module introduction
  12. Lesson 8: A Closer Look at Functions
    1. Learning objectives
    2. 8.1 Passing value parameters
    3. 8.2 Passing reference parameters - Part 1
    4. 8.3 Passing reference parameters - Part 2
    5. 8.4 Passing mutable reference parameters
    6. 8.5 Returning a value
    7. 8.6 Returning a reference
    8. 8.7 Returning a mutable reference
  13. Lesson 9: Nested Functions and Closures
    1. Learning objectives
    2. 9.1 Nested functions
    3. 9.2 Getting started with closures
    4. 9.3 Using type inference with closures
    5. 9.4 Capturing variables by reference
    6. 9.5 Capturing variables by value - Part 1
    7. 9.6 Capturing variables by value - Part 2
    8. 9.7 Iterating over a collection
  14. Lesson 10: Defining Simple Structs
    1. Learning objectives
    2. 10.1 Defining a struct type
    3. 10.2 Creating and using struct instances
    4. 10.3 Passing struct parameters by value
    5. 10.4 Passing struct parameters by reference
    6. 10.5 Returning structs by value
    7. 10.6 Returning structs by reference
  15. Lesson 11: Implementing Functionality in a Struct
    1. Learning objectives
    2. 11.1 Implementing simple functionality
    3. 11.2 Implementing mutable functionality
    4. 11.3 Organizing code into modules
    5. 11.4 Defining associated functions
    6. 11.5 Defining associated data
  16. Module 4: Advanced Rust Programming Concepts
    1. Module introduction
  17. Lesson 12: Defining Traits
    1. Learning objectives
    2. 12.1 Trait essentials
    3. 12.2 Trait techniques
    4. 12.3 Inheritance and polymorphism
    5. 12.4 Trait inheritance
    6. 12.5 Implementing the Display trait
    7. 12.6 Implementing the Debug trait
    8. 12.7 Implementing the Drop trait
    9. 12.8 Implementing the Clone trait
    10. 12.9 Implementing the Copy trait
  18. Lesson 13: Generics
    1. Learning objectives
    2. 13.1 Generic structs
    3. 13.2 Generic functions
    4. 13.3 Type constraints
    5. 13.4 Implementing the PartialEq trait
    6. 13.5 Implementing the Eq and Hash traits
    7. 13.6 Implementing the PartialOrd trait
    8. 13.7 Implementing the Ord trait
    9. 13.8 Understanding how closures work
    10. 13.9 Passing closures into functions - Part 1
    11. 13.10 Passing closures into functions - Part 2
  19. Lesson 14: Multithreading and Concurrency
    1. Learning objectives
    2. 14.1 Spawning a thread
    3. 14.2 Joining a thread
    4. 14.3 Joining multiple threads
    5. 14.4 Capturing state
    6. 14.5 Capturing state via an explicit move
    7. 14.6 Communicating data between threads by using channels
  20. Lesson 15: Additional Rust Techniques
    1. Learning objectives
    2. 15.1 Introduction to boxing
    3. 15.2 Using boxing in practice - Part 1
    4. 15.3 Using boxing in practice - Part 2
    5. 15.4 Reference counting
    6. 15.5 Defining unsafe code
    7. 15.6 Integrating with other languages
  21. Module 5: Real-World Rust in Action
    1. Module introduction
  22. Lesson 16: Rust Project #1: Implementing a CSV Parser
    1. Learning objectives
    2. 16.1 Understanding the application scenario - Part 1
    3. 16.2 Understanding the application scenario - Part 2
    4. 16.3 Understanding the application structure
    5. 16.4 Parsing the command line
    6. 16.5 Reading and writing data in a file
    7. 16.6 Implementing a menu system
    8. 16.7 Storing date information - Part 1
    9. 16.8 Storing date information - Part 2
    10. 16.9 Storing date information - Part 3
    11. 16.10 Going further with date processing - Part 1
    12. 16.11 Going further with date processing - Part 2
  23. Lesson 17: Rust Project #2: Accessing a Relational Database
    1. Learning objectives
    2. 17.1 Getting started
    3. 17.2 Understanding the application structure
    4. 17.3 Connecting to a database
    5. 17.4 Executing a simple SQL statement
    6. 17.5 Executing a parameterized SQL statement
    7. 17.6 Executing a query to select data
    8. 17.7 Wrapping up
  24. Summary
    1. Rust Programming Essentials: Summary

Product information

  • Title: Rust Programming Essentials
  • Author(s): Andy Olsen
  • Release date: September 2023
  • Publisher(s): Pearson
  • ISBN: 0138201595