That's just silly. The only way that makes sense to me is turning in source that the prof or TA compiles. Hopefully your code doesn't do system-specific things, but we were always told ours had to compile and work on Solaris on SPARC and Linux on x86. This meant you could write on any system, so long as we ssh-ed into the linux and Solaris machines in the labs for testing. A printed copy is fine, but turning in an executable, especially for trivial assignments, seems cheat-prone and harder to catch. Not deducting points for compiler errors and warnings seems silly, too. There's no way to say that the code and binary match with 100% certainty.
-Lee