(not an answer, just commenting, please ignore.)
Testing should not be a programming center. Especially for young students. Whenever we can, we must first focus on the logic and argumentation of the implementation. We need to practice our skills with such confidence that we know that the code is correct, simply because we wrote it.
Is this an incredible goal? Many people can get very close to it. But even if it is too unattainable for a person, he should practice this way, at least when he is a student. It will not hurt.
TDD seems to encourage students to do a good enough job to pass the tests. You do not need to think carefully about your algorithm; just adjust it until it passes the tests, which is pretty simple.
All bad things will come out of him.
I am not saying that testing is not important. But for the sake of correctness it should not be 1st .
In another related topic, some people claim that TDD is good for design: if the code is easy to test, it is most likely a good design. It is also very puzzling - when you can not focus on good design?
irreputable
source share