The grading doesn't need to be manual. Think of the lab assignments being something like a smaller scale of the Netflix challenge:
1) They provide some set of data and establish rules for the competition.
2) They implement their own solution to the challenge, and that is the benchmark.
3) A "passing grade" is obtained by getting any working system.
4) The actual grading is then given on a curve, compared against their benchmark.
If your project is better than the benchmark, you get an A+, 95%-100% an A, 85%-95% gets you a B... etc.
I think this is a brilliant idea and is already being implemented by many training organisations through kaggle.com's "kaggle in class" program: http://inclass.kaggle.com/
Using this system for ml-class (and presumably the forthcoming pgm-class and nlp-class) would be extremely beneficial for real-world application of the information presented.
That said, learning what the algos are and how they work is one thing; learning how to actually apply them to real life situations is another thing. I think the class leans quite heavily towards the former, but I really love the few glimpses of the latter.
Personally, as someone who is new to the field (didn't do maths at college) & is barely fitting the classes & exercises around a fulltime workload & other things, I am glad that the programming exercises are "easy". Some of them are ridiculously easy, agreed (where 1/2 the solution is given basically verbatim in the pdf notes, and the other 1/2 in the code comments) - but for most of them I think it's enough to wrap my head around what's actually happening, especially in terms of the multiclass neural network assignment. That gives me enough foundation to try to apply them to real-world situations on my own time.
Granted it wouldn't work in many other classes, but my teacher for assembly language did something like this. First, your code had to work or you got nothing. You also had some time limit, to avoid ridiculously slow, yet working code. Finally, each working submission was graded by the number of additional bytes you used above the reference implementation.
And he knew all the tricks. I don't think anyone ever beat him. And he didn't show anyone any of the solutions until after the final.
I felt like I learned more from the few minutes I spent reading those solutions than I did during the rest of the course.