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: Reflection — Hoare's Triples and Why•10分钟
Reading: Key Terms — Rust's Port•10分钟
Reading: Reflection — Rust's Port•10分钟
The Type-System Pillar — Contracts via the Type-Checker
第 2 单元•小时 后完成
单元详情
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.
涵盖的内容
4个视频4篇阅读材料
显示有关单元内容的信息
4个视频•总计8分钟
Video 2.1.1: Parse, Don't Validate•2分钟
Video 2.1.2: Newtype as Zero-Cost Contract•2分钟
Video 2.1.3: PhantomData and Compile-Time Tags•2分钟
Video 2.2.1: Typestate — State Machines in Types•2分钟
4篇阅读材料•总计40分钟
Reading: Key Terms — Parse, Don't Validate•10分钟
Reading: Reflection — Parse, Don't Validate•10分钟
Reading: Key Terms — Typestate•10分钟
Reading: Reflection — Typestate•10分钟
The YAML Bridge — Papers, Math, Contracts in Code
第 3 单元•小时 后完成
单元详情
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.
涵盖的内容
5个视频4篇阅读材料1个作业
显示有关单元内容的信息
5个视频•总计10分钟
Video 3.1.1: Why YAML Specification as Code•2分钟
Video 3.1.2: Obligation Taxonomy — 19 Property + 7 Eiffel•2分钟
Video 3.1.3: Popperian Falsification — Actionable Failure•2分钟
Video 3.2.1: pv Property 7-Eiffel•2分钟
Video 3.2.2: From Paper to YAML — One Equation•1分钟
4篇阅读材料•总计40分钟
Reading: Key Terms — Why YAML•10分钟
Reading: Reflection — Why YAML•10分钟
Reading: Key Terms — pv: The CLI•10分钟
Reading: Reflection — pv: The CLI•10分钟
1个作业•总计30分钟
Practice Quiz: Module 3 Knowledge Check — The YAML Bridge•30分钟
Climbing the Provability Ladder — L1 to L5
第 4 单元•小时 后完成
单元详情
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.
涵盖的内容
4个视频3篇阅读材料
显示有关单元内容的信息
4个视频•总计8分钟
Video 4.1.1: L1 + L2 — Lint and Types on softmax•2分钟
Video 4.1.2: L3 — proptest softmax sums to one•2分钟
Video 4.1.3: L4 — Kani softmax non-negativity•2分钟
Video 4.2.1: Cost vs Confidence — Which Rung Fits•2分钟
3篇阅读材料•总计30分钟
Reading: Key Terms — L1 + L2: Lint and Types on softmax•10分钟
Reading: Reflection — L1 + L2: Lint and Types on softmax•10分钟
Reading: Key Terms — Cost vs Confidence: Which Rung Fits•10分钟
Capstone — softmax Across All Five Levels
第 5 单元•小时 后完成
单元详情
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.
涵盖的内容
4个视频4篇阅读材料
显示有关单元内容的信息
4个视频•总计9分钟
Video 5.1.1: L5 — Lean 4 for Engineers•1分钟
Video 5.1.2: From Paper to Theorem — Lean Stub•1分钟
Video 5.1.3: softmax Theorem in Lean•2分钟
Video 5.2.1: Demo — Why Provability Matters•4分钟
4篇阅读材料•总计40分钟
Reading: Key Terms — L5: Lean 4 for Engineers•10分钟
Reading: Reflection — L5: Lean 4 for Engineers•10分钟
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.