Step-by-step plan for creating programming exercises