OO: Python to Rust is a hands-on course on object-oriented design for engineers moving from Python (a class-based, dynamic OO language) to Rust (a struct-and-trait-based language with no inheritance and strict ownership). You will learn how Rust models the four classical OO pillars - encapsulation, abstraction, polymorphism, and code reuse - without classes or inheritance, using structs, methods (impl blocks), traits, trait objects, generics, enums, and the type state pattern. The course translates common Python OO patterns (dataclasses, dunder methods, ABCs, mixins, descriptors, protocols, the singleton, factory, observer, strategy, and decorator patterns) into idiomatic Rust, and explains why some of them simply don't apply once you have algebraic data types and ownership. You will refactor a non-trivial Python OO codebase into Rust, learn when composition beats inheritance, when an enum beats a class hierarchy, and how to design APIs that leverage Rust's compile-time guarantees. By the end of the course, you will be able to read OO Python code and produce a correct, idiomatic Rust translation, and justify your design decisions on a code review. Part of the Rust for Data Engineering specialization.

OO: Python to Rust
Ends soon! Get one of our best deals with Coursera Plus for $199 (usually $399). Save now.

OO: Python to Rust
This course is part of Rust for Data Engineering Specialization

Instructor: Noah Gift
Included with
Recommended experience
What you'll learn
Apply a receipt-driven, three-mode workflow (Discover, Refactor, Translate) to move object-oriented Python code into idiomatic Rust.
Translate Python class hierarchies into Rust structs, traits, enums, and the type-state pattern using composition over inheritance.
Score Python-to-Rust translation pull requests using a breakeven analysis and complexity-claim review rubric.
Skills you'll gain
Tools you'll learn
Details to know

Add to your LinkedIn profile
May 2026
1 assignment
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
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 TrialPragmatic AI Labs
Status: Free TrialDuke University
Status: Free TrialPragmatic AI Labs
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.






