Here's the thing, though. Take two students, Alice, who has already mastered the course content, and Bob, who has mastered the prerequisites but know nothing about the class. Each does all of the homework. Alice gets perfect scores on every lesson, while Bob makes several mistakes, and uses the feedback from those mistakes to learn the course material. At the end of the course, both Alice and Bob ace the final exam, and both leave with an equal mastery of the material.
That's why grading homework has always been stupid, because it punishes students for not knowing the course material before taking the course! Shouldn't two students demonstrating equal mastery of course material after at the end of the course receive the same grade? (I know exams are not a good way to demonstrate mastery, but that's beside the point here.) In fact, if I knew nothing else about them other than their performance in this class, I would hire Bob, for demonstrating an ability to learn.