In the ideal world, we should assign many homeworks and give a thorough feedback for each homework. However, in reality, the instructor's time is limited, so we can either assign few homeworks and give a detailed feed back for all of them, or we can assign many homeworks, but give a less thorough feedback. What is the optimal thoroughness? A similar question can be raised for code verification: what is the optimal amount of feedback that should be provided to each programmer? In this paper, we provide answers to these questions.