Workflow for Code Submission
Here is my system.  I give it top marks for ease of sharing, but one downside is that it does not do any kind of autograding without some scripting on my part.

I purchased a paid subscription to Dropbox.  This allows me to set up read-only folders.  At the beginning of the term, I copy/paste all of the names from the course into an Excel spreadsheet and collect an email address from every student for a Dropbox.

I then create a series of folders using a .bat file (I am a Windows user), generated with a function like ="mkdir ""APCS 1 - "&amp;A2&amp;", "&amp;B2&amp;"""".  This creates lines like mkdir "APCS 1 - Johnson, Cathy" I copy and paste this group into a .txt file, rename it to .bat, and - voilà! - I can double-click to create a directory for every student in my class section.  I run the batch file in some subdirectory of the Dropbox folder so that they will ultimately be sharable.  I then go through and share each of these folders with the respective student with write privileges. 

Finally, I create one last folder, something like AP Computer Science Section 1.  I then copy and paste the email addresses themselves into the share box for this folder, but only allow read priveleges.  Now, I can drop my assignments into to class folder (which is basically instantaneous), and I receive my submissions through their private folders.  I get everything timestamped, and don't have to log into any websites to get the assignments.

One more side-benefit of this arrangement is that when I need to send a file to some student, we already have a shared folder that I can drop it into.  No need for emailed attachments.