programmer guide outline