Right, you can get more out of the assignments if you try, but to me the purpose of assignments (versus passive learning - lectures, reading, etc.) is to force your brain to synthesize rather than just comprehend. The ideal assignment, then, is one that forces you to synthesize as many concepts it intends to teach as possible.
Just like you could go back and implement for yourself the skeleton code they handed you, you could also go out and implement everything in the lectures without any assignments at all. It's just that, like you said, the assignments provide a useful starting point. And I'm only saying they could be even more useful by requiring you to implement more of the complete pipeline.
The fact that an incredibly self-motivated person could learn everything there is to know about machine learning with the course as a starting point doesn't mean that it's bad to make the course more useful for a somewhat lazier or less interested person.
Just like you could go back and implement for yourself the skeleton code they handed you, you could also go out and implement everything in the lectures without any assignments at all. It's just that, like you said, the assignments provide a useful starting point. And I'm only saying they could be even more useful by requiring you to implement more of the complete pipeline.
The fact that an incredibly self-motivated person could learn everything there is to know about machine learning with the course as a starting point doesn't mean that it's bad to make the course more useful for a somewhat lazier or less interested person.