Intermediate Rust Programming and Advanced Concepts
Ends soon! Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Intermediate Rust Programming and Advanced Concepts
This course is part of Rust Programming Masterclass from Beginner to Expert Specialization
Included with
Learn more
Recommended experience
Recommended experience
What you'll learn
Implement various smart pointers for advanced memory management.
Apply macros and advanced testing techniques in Rust.
Analyze and solve real-world problems using advanced data structures and algorithms.
Skills you'll gain
Tools you'll learn
Details to know
4 assignments
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 5 modules in this course
Updated in May 2025.
This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Advance your Rust programming journey with this in-depth course designed for developers seeking to master more complex concepts and real-world applications. Begin with an exploration of Rust modules and crates, learning how to create, manage, and publish packages. Dive into the essential Cargo tools for visualizing module hierarchies and streamline your code with techniques like re-exporting. Progress to the critical topic of smart pointers, essential for advanced memory management in Rust. Understand the basics and applications of various smart pointers, such as Box, Rc, and RefCell. Build and refine data structures like singly and doubly linked lists, and learn to avoid common pitfalls like reference cycles that can lead to memory leaks. This section ensures you can handle sophisticated memory management challenges with confidence. In the final segments, tackle advanced Rust programming techniques and real-world problem-solving scenarios. Master macros, testing, and effective code optimization methods. Apply your knowledge to build practical applications, from search result algorithms to data storage solutions using advanced data structures, like binary search trees. This hands-on approach solidifies your understanding and prepares you for professional Rust development. This course is ideal for developers with a basic understanding of Rust who want to advance their skills. Fundamental knowledge of Rust programming concepts and syntax is recommended.
In this module, we will dive into the Rust module system, exploring how to create and manage modules and crates. You will learn to use Cargo tools for visualizing module hierarchies, apply re-exporting with pub use, integrate external crates, and publish your own crate.
What's included
6 videos2 readings
6 videosβ’Total 61 minutes
- Rust Modules (Part 1)β’6 minutes
- Rust Modules (Part 2)β’16 minutes
- Cargo tools to Visualize Module Hierarchyβ’8 minutes
- Re-Exporting using Pub useβ’7 minutes
- Using External Cratesβ’10 minutes
- Publishing Your Crateβ’12 minutes
2 readingsβ’Total 20 minutes
- Introduction to the Course 'Intermediate Rust Programming and Advanced Concepts 'β’10 minutes
- Full Specialization Resourcesβ’10 minutes
In this module, we will explore smart pointers in Rust, including their types and usage. You will learn about 'Box', 'Rc', and 'RefCell' smart pointers, their applications in singly and doubly linked lists, and techniques to prevent memory leaks due to reference cycles.
What's included
11 videos
11 videosβ’Total 140 minutes
- Basics of Smart Pointersβ’15 minutes
- Box Smart Pointers and When to Use Itβ’14 minutes
- Refining Cons List and Custom-Defined Smart Pointersβ’19 minutes
- Singly Link List (Part 1)β’9 minutes
- Singly Link List (Part 2)β’13 minutes
- Generics and Deref Coercion in Smart Pointersβ’10 minutes
- Rc Smart Pointerβ’11 minutes
- RefCell Smart Pointerβ’10 minutes
- Doubly Link List (Part 1)β’10 minutes
- Doubly Link List (Part 2)β’12 minutes
- Reference Cycles Creating Memory Leakageβ’17 minutes
In this module, we will cover advanced Rust techniques, focusing on macros and their patterns, handling partial moves, and leveraging 'as_ref' for efficient code. We will also delve into advanced testing practices to help you write robust Rust programs.
What's included
10 videos1 assignment
10 videosβ’Total 111 minutes
- Macros Basicβ’15 minutes
- Capturing Typesβ’14 minutes
- Repeating Patternsβ’12 minutes
- Unit Type, Expression Versus Statements, and Partial Moveβ’12 minutes
- As_ref and Partial Move in Optionβ’9 minutes
- Take and Swap for Avoiding Allocationsβ’8 minutes
- Question Mark Operatorβ’13 minutes
- Testing Your Code (Part 1)β’16 minutes
- Testing Your Code (Part 2)β’6 minutes
- Testing Your Code (Part 3)β’6 minutes
1 assignmentβ’Total 15 minutes
- Assessment 1β’15 minutes
In this module, we will tackle real-life applications and problem-solving using Rust. You'll build features like search results with 'HashMaps', highest stock price tracking with 'MaxStack', and item suggestions with 'HashSets'. Learn to apply advanced data structures like binary search trees and tries for efficient solutions.
What's included
14 videos
14 videosβ’Total 145 minutes
- Search Results Using Word Groupings with HashMaps and Nested Loopsβ’10 minutes
- Product Popularity Using HashMapsβ’6 minutes
- Highest Stock Price Using MaxStack and Structuresβ’8 minutes
- Finding an Employee with No Meeting Using Multidimensional Arraysβ’10 minutes
- Longest Non-Stop Working Employee Using HashSetsβ’10 minutes
- Items Suggestions Using HashSets and Vectorsβ’8 minutes
- Items in Ranges Using Binary Search Tree (Part 1)β’9 minutes
- Items in Ranges Using Binary Search Tree (Part 2)β’10 minutes
- Fetching Top Productsβ’15 minutes
- Effective Storage and Retrieval Using Trie Data Structureβ’12 minutes
- Most Recently Used Product Using Doubly Link List and HashMaps (Part 1)β’10 minutes
- Most Recently Used Product Using Doubly Link List and HashMaps (Part 2)β’14 minutes
- Displaying Participants in an Online Meeting (Part 1)β’7 minutes
- Displaying Participants in an Online Meeting (Part 2)β’15 minutes
In this module, we will explore Rust traits in-depth, focusing on trait bounds, associated types, and trait items. You will learn about the scope and application of traits, including marker and super traits, and gain insights into static versus dynamic dispatch for optimal code design.
What's included
6 videos1 reading3 assignments
6 videosβ’Total 71 minutes
- Trait Boundsβ’5 minutes
- Associated Typesβ’7 minutes
- Trait Itemsβ’16 minutes
- Scope of a Trait, Marker, and Super Traitβ’19 minutes
- Some Useful Traitsβ’8 minutes
- Static Versus Dynamic Dispatch (Trait Objects)β’14 minutes
1 readingβ’Total 10 minutes
- Conclusion to the Course 'Intermediate Rust Programming and Advanced Concepts'β’10 minutes
3 assignmentsβ’Total 90 minutes
- Full Course Practice Assessmentβ’15 minutes
- Assessment 2β’15 minutes
- Full Course Assessment β’60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Offered by
Explore more from Software Development
- Status: Free Trial
- Status: Free Trial
- Status: Free Trial
Course
- Status: Free Trial
Specialization
Why people choose Coursera for their career
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. Youβll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. Youβll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
More questions
Financial aid available,
