. . . Since they'll be on their own for
the exams, it isn't going to matter how
they get the answers for their assignments:
if they don't know the material, they aren't
going to pass the course.
That's exactly why I won't _do_ students' homework if I realize that is what
it is -- because they aren't likely to learn anything from it. But, it's why
I am happy to participate in discussions of specifics (indicating they've
done enough to try something, and maybe just need some help past a stumbling
block) to help them along their learning path.
At least, I hope most programs are still
that way. (In re: exams counting more
than homework assignments).
It's difficult to determine how "most" programs are run these days. I've
observed wild swings in the competence of computer science graduates in
useful, practical knowledge over the years, from specific schools and in
general.
There was a time when it seemed that every new grad we hired thought he/she
was going to write the "compiler that would solve all problems" and was
devastated to learn that only a handful of IBM's developers were working in
the compiler area, for example.
Then, a few years later, I encountered several CS grads (from schools where
I rather expected to see *nix-heads and theorists) who were incredibly
well-oriented to practical business problems right from the very start of
their careers.
There has been time for several cycles of that kind since I was in the part
of the corporate world where I had much contact with new CS grads.