"Programming Should Be More Than Coding" - Leslie Lamport of Microsoft Research
Colloquium on Computer Systems Seminar Series (EE380) presents the current research in design, implementation, analysis, and use of computer systems. Topics range from integrated circuits to operating systems and programming languages. It is free and open to the public, with new lectures each week.
Learn more: http://bit.ly/WinYX5
0:00 Introduction
0:30 The 3 Tasks of Programming
2:08 A Really Easy Problem
4:34 How Can We Think More Clearly?
5:27 Models versus Reality
6:08 Computer Science
6:52 What's a Program?
8:07 Task 1: Specifying What the Program Does
9:34 Our Example: A GCD Program
10:29 Reality versus Model
11:07 Limitations of the Function Model
11:56 The Standard Behavioral Model
12:31 Task 2 for Euclid's Algorithm
21:57 The Complete Task 2 Specification
23:54 What About Formal Specs?
24:16 The Language: TLA
25:32 The Problem with TLA
29:38 The XBox 360 Memory System
34:33 Why not a formal spec?
35:19 What is Typical About This Spec
36:24 What is Not Typical About This Spec
39:45 What code should you specify?
40:28 What should you specify about the code?
41:52 How do you learn to write specs?
42:14 How do you learn to write formal specs?
43:03 How do you connect the spec to the code?
44:02 What about coding?