3 ms·
Grade entirely on whether it passes a test suite, but teach them how to work through a challenge like this: how to decompose a big problem into a collection of
by SiVal 14y ago
Grade entirely on whether it passes a test suite, but teach them how to work through a challenge like this: how to decompose a big problem into a collection of small ones; carefully thinking about each sub-problem (what cases will it have to deal with, in what sequence, what exactly should it output and how, etc.); how to match the initially buggy output to their code and reason through the debugging; how to build up in stages from a small, partial but working program to the full thing, and so on.
If it ends up just another of those "I'm not going to actually teach you much, because it's so important [to my leisure time] that you discover these things for yourselves, so just be creative and show me what kinds of solutions you can come up with!", then it's not worth doing. This style of working doesn't come naturally to most people, and it needs to be carefully taught, not just assigned.