Text this: The how and why program knowledge