К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
OO: Python to Rust · LearnSpace
Назад в каталог
courseraПрограммирование

OO: Python to Rust

Курс от Pragmatic AI Labs
Средний≈ 5.9 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

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.

Навыки, которые вы освоите

Rust (Programming Language)Code ReusabilitySoftware Design PatternsAPI DesignPerformance TuningMemory ManagementSecure CodingTheoretical Computer SciencePerformance TestingObject Oriented Programming (OOP)AlgorithmsPython ProgrammingObject Oriented DesignVerification And ValidationSystem Programming

Программа курса

5 модулей · 46 учебных материалов

01Three Modes of Proof for Complexity Claims10 материалов

Lesson 1.1: What Complexity Means + Three Modes of Proof

About This CourseЧтениеKey Terms: What "Complexity" Means + Three Modes of ProofЧтениеWhat "Complexity" Means + Three Modes of ProofВидеоReflection: What "Complexity" Means + Three Modes of ProofЧтение

Lesson 1.2: Reading a Complexity Claim - Falsifiability

Учитесь у экспертов

Noah Gift

Преподаватель курса

OO: Python to Rust
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 5.9 ч

5 модулей

Язык: Английский

Субтитры: Арабский, Французский, Итальянский, Корейский, Индонезийский, Испанский, Японский

Часть программы вашего университета
Key Terms: Reading a Complexity Claim - FalsifiabilityЧтение
Reading a Complexity Claim - FalsifiabilityВидео
Reflection: Reading a Complexity Claim - FalsifiabilityЧтение

Lesson 1.3: Depyler Transpiler Shortcut

Key Terms: Depyler - the Transpiler ShortcutЧтениеDepyler - the Transpiler ShortcutВидеоReflection: Depyler - the Transpiler ShortcutЧтение
02Empirical Wins — Speed You Can Measure9 материалов

Lesson 2.1: List Comprehension → Iterator

Key Terms: List Comprehension → IteratorЧтениеFrom Python List Comprehensions to Rust Iterator ChainsВидеоReflection: List Comprehension → IteratorЧтение

Lesson 2.2: Dict Lookup → HashMap

Key Terms: x in dict → HashMap LookupЧтениеFrom Python Dict Lookup to Rust HashMapВидеоReflection: x in dict → HashMap LookupЧтение

Lesson 2.3: sorted() → sort_unstable

Key Terms: sorted() → sort_unstableЧтениеFrom Python sorted() to Rust sort_unstableВидеоReflection: sorted() → sort_unstableЧтение
03Structural Wins — Correctness via Types9 материалов

Lesson 3.1: Optional[T] → Option<T>

Key Terms: Optional[T] → Option<T>ЧтениеFrom Python Optional to Rust OptionВидеоReflection: Optional[T] → Option<T>Чтение

Lesson 3.2: try/except → Result<T, E>

Key Terms: try/except → Result<T, E>ЧтениеFrom Python try/except to Rust ResultВидеоReflection: try/except → Result<T, E>Чтение

Lesson 3.3: Mutable Default Arg → Ownership

Key Terms: Mutable Default Arg → OwnershipЧтениеFrom Python Mutable Default to Rust OwnershipВидеоReflection: Mutable Default Arg → OwnershipЧтение
04Systems — Translation with Runtime Consequences9 материалов

Generator → Iterator

Key Terms: Python generator → Rust IteratorЧтениеFrom Python yield Generator to Rust IteratorВидеоReflection: Python generator → Rust IteratorЧтение

subprocess → Command

Key Terms: subprocess → CommandЧтениеFrom Python subprocess to Rust CommandВидеоReflection: Exhaustive Match as a Completeness ReceiptЧтение

threading → rayon

Key Terms: threading → rayon Parallel IteratorЧтениеFrom Python threading to Rust rayon Parallel IteratorВидеоReflection: When to Pick ADT vs TraitЧтение
05Capstone — The Three-Mode Playbook End to End9 материалов

The Three-Mode Playbook End to End

Key Terms: The Three-Mode Playbook End to EndЧтениеThe Three-Mode Playbook End to EndВидеоReflection: The Three-Mode Playbook End to EndЧтение

When NOT to Translate

Key Terms: When NOT to TranslateЧтениеWhen NOT to TranslateВидеоReflection: When NOT to TranslateЧтениеBefore You GoЧтениеFinal Graded Quiz: Big-O from Python to RustЗаданиеNext StepsЧтение