A key determinant of success for novice programmers is the extent to which they practice writing code. In a typical introductory programming course, students are given numerous projects, assignments and lab exercises to work through to develop their confidence and skill. In general, designing and preparing suitable problems for these tasks requires a great deal of time and draws heavily on the experience of the instructor. However, for certain small scale problems, students may be quite capable of inventing their own exercises. In fact, research across various disciplines indicates this can be a useful learning activity in itself.
No takes yet. Share an insight, caveat, or question.
Denny et al. (2015) studied this question.
Synapse has enriched 4 closely related papers on similar clinical questions. Consider them for comparative context: