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

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

Instructor: Noah Gift
Included with
Gain insight into a topic and learn the fundamentals.
Intermediate level
Recommended experience
6 hours to complete
Flexible schedule
Learn at your own pace
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.
Details to know

Shareable certificate
Add to your LinkedIn profile
Recently updated!
May 2026
Assessments
1 assignment
Taught in English
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
This course is part of the Rust for Data Engineering Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
- 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

Pragmatic AI Labs

Pragmatic AI Labs

Pragmatic AI Labs

Pragmatic AI Labs
Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Advance your career with an online degree
Earn a degree from world-class universities - 100% online



