How do people explain their programs?
• Observe them!
– What they say (vocabulary)
– How they gesture
– What they draw
– What they write (documentation)
• What’s missing in the code
– Design patterns
• What’s not described
– Tacit knowledge