Wenn Sie sich für diesen Kurs anmelden, werden Sie auch für diese Spezialisierung angemeldet.
Lernen Sie neue Konzepte von Branchenexperten
Gewinnen Sie ein Grundverständnis bestimmter Themen oder Tools
Erwerben Sie berufsrelevante Kompetenzen durch praktische Projekte
Erwerben Sie ein Berufszertifikat zur Vorlage
In diesem Kurs gibt es 5 Module
e.g. This is primarily aimed at first- and second-year undergraduates interested in engineering or science, along with high school students and professionals with an interest in programming.Design by Provable Contracts teaches you how to move from "the tests pass" to "the math says it cannot break." Across five modules, you'll climb a five-rung provability ladder — from lint and types, through property-based and bounded-model checking, to dependent-typed proofs in Lean 4 — applied to a single running example: the softmax function used in modern machine learning.
By the end, you will be able to: (1) read a peer-reviewed paper and translate its preconditions, postconditions, and invariants into a YAML contract; (2) choose the right verification rung for a given cost-vs-confidence trade-off, using lint, types, proptest, and Kani in Rust; and (3) build a complete pipeline from paper to YAML to Lean theorem, producing a machine-checked guarantee that holds for every input of every length.
The course is hands-on and tool-first: Rust for the lower rungs, Lean 4 for the top rung, and YAML as the connective tissue between math and code. You will leave with a reusable mental model and a working capstone you can apply to any safety-critical numerical kernel.
Master Hoare triples and the contract foundations of Design by Contract. Learn how {P} S {Q} formalizes preconditions, postconditions, and the caller/callee responsibility split through Eiffel's require/ensure idiom and its Rust port via Prusti and Creusot.
Reading: Key Terms — Hoare's Triples and Why•10 Minuten
Reading: Reflection — Hoare's Triples and Why•10 Minuten
Reading: Key Terms — Rust's Port•10 Minuten
Reading: Reflection — Rust's Port•10 Minuten
The Type-System Pillar — Contracts via the Type-Checker
Modul 2•1 Stunde abzuschließen
Moduldetails
Shift contracts from runtime checks into the type system. Learn parse-don't-validate, the newtype pattern as a zero-cost contract, and typestate to encode state machines directly in types so invalid states cannot be represented.
Das ist alles enthalten
4 Videos4 Lektüren
Infos zu Modulinhalt anzeigen
4 Videos•Insgesamt 8 Minuten
Video 2.1.1: Parse, Don't Validate•2 Minuten
Video 2.1.2: Newtype as Zero-Cost Contract•2 Minuten
Video 2.1.3: PhantomData and Compile-Time Tags•2 Minuten
Video 2.2.1: Typestate — State Machines in Types•2 Minuten
Use a YAML contract as the machine-readable, human-auditable bridge between research papers and verified Rust kernels. Learn the 19-property obligation taxonomy, Popperian falsification testing, and how pv aggregates L1 to L5 status into one audit artifact.
Das ist alles enthalten
5 Videos4 Lektüren1 Aufgabe
Infos zu Modulinhalt anzeigen
5 Videos•Insgesamt 10 Minuten
Video 3.1.1: Why YAML Specification as Code•2 Minuten
Video 3.1.3: Popperian Falsification — Actionable Failure•2 Minuten
Video 3.2.1: pv Property 7-Eiffel•2 Minuten
Video 3.2.2: From Paper to YAML — One Equation•1 Minute
4 Lektüren•Insgesamt 40 Minuten
Reading: Key Terms — Why YAML•10 Minuten
Reading: Reflection — Why YAML•10 Minuten
Reading: Key Terms — pv: The CLI•10 Minuten
Reading: Reflection — pv: The CLI•10 Minuten
1 Aufgabe•Insgesamt 30 Minuten
Practice Quiz: Module 3 Knowledge Check — The YAML Bridge•30 Minuten
Climbing the Provability Ladder — L1 to L5
Modul 4•1 Stunde abzuschließen
Moduldetails
Walk the proof ladder on softmax: L1 lint, L2 types, L3 proptest, L4 Kani bounded model checking, and L5 Lean theorems. Learn to pick the rung that matches the cost of being wrong.
Das ist alles enthalten
4 Videos3 Lektüren
Infos zu Modulinhalt anzeigen
4 Videos•Insgesamt 8 Minuten
Video 4.1.1: L1 + L2 — Lint and Types on softmax•2 Minuten
Video 4.1.2: L3 — proptest softmax sums to one•2 Minuten
Video 4.1.3: L4 — Kani softmax non-negativity•2 Minuten
Video 4.2.1: Cost vs Confidence — Which Rung Fits•2 Minuten
3 Lektüren•Insgesamt 30 Minuten
Reading: Key Terms — L1 + L2: Lint and Types on softmax•10 Minuten
Reading: Reflection — L1 + L2: Lint and Types on softmax•10 Minuten
Reading: Key Terms — Cost vs Confidence: Which Rung Fits•10 Minuten
Capstone — softmax Across All Five Levels
Modul 5•1 Stunde abzuschließen
Moduldetails
End-to-end capstone: take softmax from a peer-reviewed paper, through a YAML contract, to a Lean 4 theorem holding for every finite vector of every length. Every cell of the Lesson 1.1 tooling map gets demonstrated.
Das ist alles enthalten
4 Videos4 Lektüren
Infos zu Modulinhalt anzeigen
4 Videos•Insgesamt 9 Minuten
Video 5.1.1: L5 — Lean 4 for Engineers•1 Minute
Video 5.1.2: From Paper to Theorem — Lean Stub•1 Minute
Video 5.1.3: softmax Theorem in Lean•2 Minuten
Video 5.2.1: Demo — Why Provability Matters•4 Minuten
4 Lektüren•Insgesamt 40 Minuten
Reading: Key Terms — L5: Lean 4 for Engineers•10 Minuten
Reading: Reflection — L5: Lean 4 for Engineers•10 Minuten
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.