Provable Code
Tools and patterns for using mathematics to write more reliable and readable software
Authored by:
Michael Perry
Duration: 5h 51m
Level: Intermediate
Released: 6/13/2012
Features:
Duration: 5h 51m
Level: Intermediate
Released: 6/13/2012
Features:
Course Rating:
You are currently not signed in. Please sign in to access subscriber-only content.
Currently using: {{getCurrentPlayerName()}} [Change]
| expand all | collapse all | Progress | Duration | |
|---|---|---|---|
Predicate Calculus |
|
00:35:27 | |
|
Introduction
|
|
02:51 | |
|
Predicates and First Order Logic
|
|
05:15 | |
|
Inference
|
|
12:17 | |
|
Induction
|
|
08:27 | |
|
Axioms
|
|
06:37 | |
Design by Contract |
|
01:17:17 | |
|
Introduction
|
|
01:15 | |
|
Cache and Query
|
|
06:44 | |
|
Preconditions
|
|
04:28 | |
|
Eliminating Preconditions
|
|
06:23 | |
|
Postconditions and Invariants
|
|
09:09 | |
|
Strict Preconditions
|
|
10:08 | |
|
Strength
|
|
11:04 | |
|
Inheritance
|
|
08:12 | |
|
Correctness
|
|
04:24 | |
|
Inference
|
|
14:30 | |
|
Summary
|
|
01:00 | |
Code Contracts |
|
01:03:33 | |
|
Introduction
|
|
01:28 | |
|
Example: Linked List
|
|
10:16 | |
|
Satisfying Preconditions
|
|
11:07 | |
|
Invariants
|
|
07:48 | |
|
Help When Code Contracts Fails
|
|
08:21 | |
|
Inheritance
|
|
19:41 | |
|
Conclusion
|
|
04:52 | |
Patterns |
|
00:54:03 | |
|
Introduction
|
|
04:08 | |
|
Parameter Pattern
|
|
00:41 | |
|
Example: Parameter Pattern
|
|
02:02 | |
|
Callback Pattern
|
|
00:51 | |
|
Example: Callback Pattern
|
|
05:40 | |
|
Factory Methods
|
|
02:43 | |
|
Example: Factory Methods
|
|
04:25 | |
|
Constructor Pattern
|
|
01:06 | |
|
Example: Constructor
|
|
03:37 | |
|
Example: Combining Patterns
|
|
02:53 | |
|
Socket API Improvement
|
|
19:43 | |
|
Conclusion
|
|
06:14 | |
Degrees of Freedom |
|
00:57:26 | |
|
Introduction
|
|
01:17 | |
|
Etch
|
|
02:23 | |
|
Definitions
|
|
03:47 | |
|
Example: Ledger
|
|
05:30 | |
|
Proving Degrees of Freedom
|
|
14:13 | |
|
Message Bus
|
|
05:42 | |
|
Example: Message Bus
|
|
05:02 | |
|
Dependency Tracking
|
|
05:42 | |
|
Example: Dependency Tracking
|
|
11:09 | |
|
Summary
|
|
02:41 | |
Immutability |
|
01:03:56 | |
|
Introduction
|
|
01:26 | |
|
Assignment Statements
|
|
09:37 | |
|
Constructors (revisited)
|
|
03:31 | |
|
Class Responsibilities
|
|
05:57 | |
|
Categories of State and Classes
|
|
08:00 | |
|
Example: Categories
|
|
09:40 | |
|
Dependency Chains
|
|
02:30 | |
|
Example: Dependency Chain
|
|
12:22 | |
|
Example: Mutable Dependency Chain
|
|
06:04 | |
|
Conclusion
|
|
04:49 |
Predicate Calculus