In a well-run computer course, the student does many exercises. He should also do at least one problem. The distinction is this: An exercise relates to a specific technique, and the approach is usually spelled out. A problem, on the other hand, will involve a broad goal, using many techniques, and with very little spelled out.—Fred Greunberger (RAND) and George Jaffray (Los Angeles Valley College), Problems for Computer Solution (John Wiley, 1965), page xv.
Several of my former students who became programmers later returned and gave talks about professional programming. ...