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

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

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

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

Design by Provable Contracts

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

О курсе

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.

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

Rust (Programming Language)YAMLComputational LogicSecure CodingTest ToolsMathematical SoftwareWhite-Box TestingDesign SpecificationsApplied Machine LearningProgramming PrinciplesMathematical ModelingTheoretical Computer ScienceScientific MethodsVerification And Validation

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

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

01The DBC Pillar — Caller/Callee Contracts9 материалов

Lesson 1.1: Hoare's Triples and Why

Reading: Key Terms — Hoare's Triples and WhyЧтение1.1.1 Hoare's Triples and WhyВидео1.1.2 Meyer's Eiffel: Require, Ensure, InvariantВидео1.1.3 Liskov Substitution PrincipleВидео

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

Noah Gift

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

Design by Provable Contracts
В каталоге вашей программы

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

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

Начать на Coursera

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

Обучение на Coursera

≈ 5.9 ч

5 модулей

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

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

Часть программы вашего университета
Reading: Reflection — Hoare's Triples and WhyЧтение

Lesson 1.2: Rust's Port: requires and ensures

Reading: Key Terms — Rust's PortЧтение1.2.1 Rust Port: Prusti, Creusot, Requires, EnsuresВидеоReading: Reflection — Rust's PortЧтение

Critical Thinking Assessment

Role Play: Ungraded Check — The DBC PillarDIALOGUE
02The Type-System Pillar — Contracts via the Type-Checker9 материалов

Lesson 2.1: Parse, Don't Validate

Reading: Key Terms — Parse, Don't ValidateЧтениеVideo 2.1.1: Parse, Don't ValidateВидеоVideo 2.1.2: Newtype as Zero-Cost ContractВидеоVideo 2.1.3: PhantomData and Compile-Time TagsВидеоReading: Reflection — Parse, Don't ValidateЧтение

Lesson 2.2: Typestate: State Machines in Types

Reading: Key Terms — TypestateЧтениеVideo 2.2.1: Typestate — State Machines in TypesВидеоReading: Reflection — TypestateЧтение

Critical Thinking Assessment

Role Play: Ungraded Check — The Type-System PillarDIALOGUE
03The YAML Bridge — Papers, Math, Contracts in Code11 материалов

Lesson 3.1: Why YAML? Specs as the Spine

Reading: Key Terms — Why YAMLЧтениеVideo 3.1.1: Why YAML Specification as CodeВидеоVideo 3.1.2: Obligation Taxonomy — 19 Property + 7 EiffelВидеоVideo 3.1.3: Popperian Falsification — Actionable FailureВидеоReading: Reflection — Why YAMLЧтение

Lesson 3.2: pv: The CLI That Aggregates L1-L5

Reading: Key Terms — pv: The CLIЧтениеVideo 3.2.1: pv Property 7-EiffelВидеоVideo 3.2.2: From Paper to YAML — One EquationВидеоReading: Reflection — pv: The CLIЧтение

Critical Thinking Assessment

Role Play: Ungraded Check — The YAML BridgeDIALOGUE

Lesson 3.3: Practice & Review

Practice Quiz: Module 3 Knowledge Check — The YAML BridgeЗадание
04Climbing the Provability Ladder — L1 to L58 материалов

Lesson 4.1: L1 + L2: Lint and Types on softmax

Reading: Key Terms — L1 + L2: Lint and Types on softmaxЧтениеVideo 4.1.1: L1 + L2 — Lint and Types on softmaxВидеоVideo 4.1.2: L3 — proptest softmax sums to oneВидеоVideo 4.1.3: L4 — Kani softmax non-negativityВидеоReading: Reflection — L1 + L2: Lint and Types on softmaxЧтение

Lesson 4.2: Cost vs Confidence: Which Rung Fits

Reading: Key Terms — Cost vs Confidence: Which Rung FitsЧтениеVideo 4.2.1: Cost vs Confidence — Which Rung FitsВидео

Critical Thinking Assessment

Role Play: Ungraded Check — Climbing the Provability LadderDIALOGUE
05Capstone — softmax Across All Five Levels10 материалов

Lesson 5.1: L5: Lean 4 for Engineers

Reading: Key Terms — L5: Lean 4 for EngineersЧтениеVideo 5.1.1: L5 — Lean 4 for EngineersВидеоVideo 5.1.2: From Paper to Theorem — Lean StubВидеоVideo 5.1.3: softmax Theorem in LeanВидеоReading: Reflection — L5: Lean 4 for EngineersЧтение

Lesson 5.2: Demo: Why Provability Matters

Reading: Key Terms — Demo: Why Provability MattersЧтениеVideo 5.2.1: Demo — Why Provability MattersВидеоReading: Reflection — Demo: Why Provability MattersЧтение

Critical Thinking Assessment

Role Play: Ungraded Check — Capstone Across All Five LevelsDIALOGUEDialogue: Capstone Reflection — Climbing the Five RungsDIALOGUE