Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
Apprenez de nouveaux concepts auprès d'experts du secteur
Acquérez une compréhension de base d'un sujet ou d'un outil
Développez des compétences professionnelles avec des projets pratiques
Obtenez un certificat professionnel partageable
Il y a 5 modules dans ce cours
Big O notation: Python to Rust is a hands-on algorithmic complexity course for engineers transitioning from Python to Rust who want to reason rigorously about how their code scales. You will learn Big O, Big Theta, and Big Omega notation; analyze the time and space complexity of common operations on Python and Rust data structures (list/Vec, dict/HashMap, set/HashSet, tuple, slice, BTreeMap); and compare measured performance in both languages on identical workloads. The course covers amortized analysis, recursion and master theorem, worst case versus expected case, the cost of allocation and borrowing, and how Rust's ownership model affects real-world constants even when asymptotic complexity is identical. You will profile Python code with cProfile and timeit, profile Rust code with criterion and perf, and translate Python algorithms (search, sort, hashing, graph traversal, dynamic programming) into idiomatic Rust while keeping or improving complexity guarantees. By the end of the course, you will be able to predict performance, choose appropriate data structures, justify rewrites from Python to Rust on quantitative grounds, and communicate trade-offs to a team. Part of the Rust for Data Engineering specialization.
Set the foundation: define what "complexity" actually means as a claim, and meet the three modes of proof — analytical, empirical, and structural — you'll use to defend complexity claims throughout the course. Learn to recognize falsifiable vs. unfalsifiable performance claims and build the worked-example habit you'll need in later modules.
Inclus
3 vidéos7 lectures
Afficher les informations sur le contenu du module
3 vidéos•Total 4 minutes
1.1.1 What Complexity Means And Three Modes•1 minute
1.2.1 Reading A Complexity Claim•1 minute
1.3.1 Depyler Transpiler Shortcut•1 minute
7 lectures•Total 70 minutes
About This Course•10 minutes
Key Terms: What "Complexity" Means + Three Modes of Proof•10 minutes
Reflection: What "Complexity" Means + Three Modes of Proof•10 minutes
Key Terms: Reading a Complexity Claim — Falsifiability•10 minutes
Reflection: Reading a Complexity Claim — Falsifiability•10 minutes
Key Terms: Depyler — the Transpiler Shortcut•10 minutes
Reflection: Depyler — the Transpiler Shortcut•10 minutes
Empirical Wins — Speed You Can Measure
Module 2•1 heure à terminer
Détails du module
Empirical proof in practice: measure runtime with reproducible benchmarks. Three head-to-head Python→Rust translations — list comprehension to iterator, dict lookup to HashMap, and sorted() to sort_unstable — let you read benchmark output, control for noise, and decide when measured speedups are real and when they're artifacts.
Inclus
3 vidéos6 lectures
Afficher les informations sur le contenu du module
3 vidéos•Total 4 minutes
2.1.1 List Comp To Iterator•1 minute
2.2.1 Dict Lookup To Hashmap•1 minute
2.3.1 Sorted To Sort Unstable•1 minute
6 lectures•Total 60 minutes
Key Terms: List Comprehension → Iterator•10 minutes
Reflection: List Comprehension → Iterator•10 minutes
Key Terms: x in dict → HashMap Lookup•10 minutes
Reflection: x in dict → HashMap Lookup•10 minutes
Key Terms: sorted() → sort_unstable•10 minutes
Reflection: sorted() → sort_unstable•10 minutes
Structural Wins — Correctness via Types
Module 3•1 heure à terminer
Détails du module
Structural proof in practice: use the type system to make incorrect programs impossible to compile. Translating Optional[T] to Option<T>, try/except to Result<T,E>, and ad-hoc state machines to Rust enums turns runtime errors into compile-time errors — a structural guarantee no benchmark can refute.
Inclus
3 vidéos6 lectures
Afficher les informations sur le contenu du module
Translation with runtime consequences: each translation in this module replaces a Python construct (generators, subprocess calls, parallel loops) with a Rust equivalent that carries different runtime guarantees — memory profile, error surface, parallelism model — not just "the same thing, but faster."
Inclus
3 vidéos6 lectures
Afficher les informations sur le contenu du module
3 vidéos•Total 3 minutes
4.1.1 Generator To Iterator•1 minute
4.2.1 Subprocess To Command•1 minute
4.3.1 Threading To Rayon•1 minute
6 lectures•Total 60 minutes
Key Terms: Generator → Iterator•10 minutes
Reflection: Generator → Iterator•10 minutes
Key Terms: Subprocess → Command•10 minutes
Reflection: Subprocess → Command•10 minutes
Key Terms: Threading → Rayon•10 minutes
Reflection: Threading → Rayon•10 minutes
Capstone — The Three-Mode Playbook End to End
Module 5•1 heure à terminer
Détails du module
Capstone: bring all three modes of proof together on a real translation. Two case studies — a three-mode playbook end to end, and a deliberate "when NOT to translate" example — train your judgment about when a Python→Rust port pays off and when it would just add cost without measurable benefit.
Inclus
2 vidéos5 lectures1 devoir
Afficher les informations sur le contenu du module
2 vidéos•Total 2 minutes
5.1.1 Three-Mode Playbook End To End•1 minute
5.2.1 When NOT to Translate•1 minute
5 lectures•Total 50 minutes
Key Terms: Three-Mode Playbook End to End•10 minutes
Reflection: Three-Mode Playbook End to End•10 minutes
Key Terms: When NOT to Translate•10 minutes
Reflection: When NOT to Translate•10 minutes
Before You Go: Share Your Feedback•10 minutes
1 devoir•Total 30 minutes
Final Quiz: The Three-Mode Proof Playbook•30 minutes
Obtenez un certificat professionnel
Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Felipe M.
Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’
Jennifer J.
Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’
Larry W.
Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’
Chaitanya A.
’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.